Skip to content

Core code smell development

The following proposal has been initially prepared for the IUST Compiler and Advanced Software Engineering courses in Winter and Spring 2021.

Note: Before reading this proposal ensure that you have read and understood the CodART white-paper.

Students may form groups of up to three persons. Each group must develop mechanisms for a subset of code smells listed in Table 2. The exact list of code smells will be assigned to each group subsequently. The refactoring operations in Table 1 and code smells in Table 2 may update during the semester.

To facilitate and organized the development process, this proposal defines the project in various phases. The project is divided into three separate phases.

In the first phase, students must read about refactoring and code smells and understand the current state of the CodART completely. As a practice, they are asked to fix the existing issues on the project repository about refactoring operations developed in the first proposal.

In the second phase, each group is asked to develop algorithms to automatically detect one or more code smells in a given Java project using ANTLR tool and other compiler techniques. TA team frequently helps the students at this phase to develop their algorithms.

In the third phase, each group is asked to connect the code smells detection scripts to the corresponding refactoring and automate the overall quality improvement process.

Grading policy for BSc students

Table 6 shows the grading policy for the BSc students. It may change in the future.

Table 6. grading policy for BSc students

Activity Score (100)
Understanding the CodART project and Fix the existing issues 30
Implementing smell detection approaches 40
Connecting code smells to refactoring and harnessing the overall process 20
Documenting the new source codes and pushing them to GitHub 10
Testing project on all projects available in CodART benchmarks 20+ (extra bonus)

Grading policy for MSc students

Table 7 shows the grading policy for the MSc students. It may change in the future.

Table 7. grading policy for MSc students

Activity Score (100)
Understanding the paper and presenting it 20
Implementing the paper 30
Evaluating the implementation 30
Documenting the project 20
Testing project on all projects available in CodART benchmarks 20+ (extra bonus)

To follow project's future phases, meet our next proposal: Core search-based development.