Giter VIP home page Giter VIP logo

pyscent's Introduction

Pyscent

Project Idea

Objectives

  • Code smell, although often neglected by many programmers, is an important factor that we all should care about to write more maintainable and readable code. Throughout this project, we have discovered that the existing Python smell detectors are not exhaustive enough to cover some code smells that are common in codes written in Python. We have built a wrapper tool, Pyscent, to detect code smells that are not detected by the existing tools. Considering the report that shows the popularity of Python is higher than ever in the developer community, we expect Pyscent to provide developers a more effective way to detect code smells in their projects.

Problem Definition

  • Detect code smells in Python code
  • Find common security issues in Python code
  • Survey different candidates of python code analysis tools to see which types of code smells are addressed with tools available
  • Compute various metrics from the Python source code
  • Help enforce coding standard for Python
  • Add additional code smell features to the existing open source tool
  • Develop a wrapper tool which summarizes metrics for code smells based on the output of different types of existing tools
  • Provide analysis of code smells through data visualization

Process Flow

Process Flow

How to Run

  • cd <pyscent_root_directory>
  • python pyscent.py <path_to_project_to_inspect>

Used Tools

Static Code Analysis Tools

Libraries

Team

pyscent's People

Contributors

jaywoo123 avatar whyjay17 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

owlengineer

pyscent's Issues

Test Branch - Remaining Issues

  • Error on pylint when running on Scrapy

  • Complete Full Pipeline (filter - detect - output)

  • Code cleanup (remove print, etc.)

Project TODO List - Remaining Issues

  • Finish visualization

  • Add visualization to PDF

  • Fix directory path issue

  • Package manager

  • Exclude standard library or package in Shotgun Surgery

  • Polish PDF

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.