Giter Site home page Giter Site logo

adoctor's Introduction

aDoctor

FOSSA Status

Code Smell Detector able to detect a set of 15 Android-specific design flaws.

aDoctor is a project developed using Java able to identify design problems in Android apps.

For the moment, the tool supports the detection of the following code smells:

  • Debuggable Release;
  • Slow Loop;
  • Data Transmission Without Compression;
  • Inefficient Data Format and Parser;
  • Inefficient Data Structure;
  • Inefficient SQL Query;
  • Internal Getter and Setter;
  • Leaking Thread;
  • Leaking Inner Class;
  • No Low Memory Resolver;
  • Unclosed Closable;
  • Durable Wakelock;
  • Member Ignoring Method;
  • Public Data;
  • Rigid Alarm Manager.

aDoctor is the outcome of the research conducted by the Software Engineering Lab of the University of Salerno, Italy.

Running aDoctor

There are two ways to run the code smell detection. Firstly, once downloaded the tool, you can rely on the Graphical User Interface. Secondly, there is also a command-line support (made available to programmatically run aDoctor).

To run the tool via command-line, you need to invoke the following command:

java -cp aDoctor-1.0.jar it.unisa.aDoctor.process.RunAndroidSmellDetection [path-to-android-app] [path-to-where- i-want-to save-the results] [smell-ID]

where:

  • [path-to-android-app] is the path to the folder containing the Android project to analyze;
  • [path-to-where- i-want-to save-the results] is the path to the file where the code smell candidates will be printed;
  • [smell-ID] is the ID of the code smell to identify.

The complete list of code smell IDs is in the following:

  • 100000000000000: Data Transmission Without Compression;
  • 010000000000000: Debuggable Release;
  • 001000000000000: Durable Wakelock;
  • 000100000000000: Inefficient Data Format and Parser;
  • 000010000000000: Inefficient Data Structure;
  • 000001000000000: Inefficient SQL Query;
  • 000000100000000: Internal Getter and Setter;
  • 000000010000000: Leaking Inner Class;
  • 000000001000000: Leaking Thread;
  • 000000000100000: Member Ignoring Method;
  • 000000000010000: No Low Memory Resolver;
  • 000000000001000: Public Data;
  • 000000000000100: Rigid Alarm Manager;
  • 000000000000010: Slow Loop;
  • 000000000000001: Unclosed Closable;

License

The project is released under MIT license.

Icons made by Dave Gandy from www.flaticon.com is licensed by CC 3.0 BY.

Icons made by Gregor Cresnar from www.flaticon.com is licensed by CC 3.0 BY.

Icons made by Iconnice from www.flaticon.com is licensed by CC 3.0 BY.

Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY.

Icons made by Madebyoliver from www.flaticon.com is licensed by CC 3.0 BY.

Icons made by Vectors Market from www.flaticon.com is licensed by CC 3.0 BY.

FOSSA Status

adoctor's People

Contributors

dardin88 avatar fpalomba avatar fossabot avatar

Watchers

khalid Almalki avatar

Forkers

farhanarrafi

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.