Skip to content

BraindeadHermit/ProjectSunshine

 
 

Repository files navigation

IDEAL

An Open-Source Identifier Name Appraisal Tool

Usage

🔵 Docker (recommended)
🚧🚧🚧 IMPORTANT: Currently through the Dockerfile you will only be able to run tests.

  1. Clone the repo
  2. Build the Dockerfile
    docker build . -t ideal
  3. Run the Dockerfile
    docker run -it ideal
    Optionally, you can mount the root folder when running the container to use files from the host directly in the container with the following command (assumed to be run from the root project folder):
    docker run -v ./:/app/ -it ideal
This ensures all the required executables and dependencies are installed, and runs unit and integration tests inside the container.
The image is also available on DockerHub at this link.
Manual Installation Here you can find some detailed instructions on how to setup and run the software.

Abstract

Developers must comprehend the code they will maintain, meaning that the code must be legible and reasonably self-descriptive. Unfortunately, there is still a lack of research and tooling that supports developers in understanding their naming practices; whether the names they choose make sense, whether they are consistent, and whether they convey the information required of them. In this paper, we present IDEAL, a tool that will provide feedback to developers about their identifier naming practices. Among its planned features, it will support linguistic anti-pattern detection, which is what will be discussed in this paper. IDEAL is designed to, and will, be extended to cover further anti-patterns, naming structures, and practices in the near future. IDEAL is open-source and publicly available, with a demo video available at: https://youtu.be/fVoOYGe50zg

Setup and Use

Details around setting up and using IDEAL are available here.

Evaluation Results

The results of our evaluation of IDEAL is available here.

Naming Violation Examples

Examples of naming violations currently detected by IDEAL are available here.

IDEAL Architecture

Details around the architecture of IDEAL is available here.

Naming Violations

Cite IDEAL

If you are using IDEAL in your research, please cite the following paper:

Anthony Peruma, Venera Arnaoudova, and Christian D. Newman, "IDEAL: An Open-Source Identifier Name Appraisal Tool," 37th IEEE International Conference on Software Maintenance and Evolution (ICSME 2021), Luxembourg City, Luxembourg, September 27 - October 1, 2021.

About

IDEAL - An Open-Source Identifier Name Appraisal Tool

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.9%
  • Other 1.1%