Propostas Submetidas

DEI - FCTUC
Gerado a 2024-04-27 00:24:53 (Europe/Lisbon).
Voltar

Titulo Estágio

Static Analysis for Detection of Code Smells

Áreas de especialidade

Engenharia de Software

Local do Estágio

SSE-CISUC

Enquadramento

Software development and maintenance are continuous activities that have a never-ending cycle. While developers commit changes on a software system to fix bugs or to implement new requirements, they sometimes introduce “code smells”, which represent symptoms of poor design and implementation choices.
It is consensual that smells impact negatively the software quality, as their presence may hinder systems maintenance by making code hard for developers to understand before applying changes. However, their identification is a problematic task that depends of a variety of factors related to the software project and the understanding of the developers involved in the project.
Set of Software Quality Static Analyzers (SSQSA) is a framework that targets consistent software quality analysis. Its main characteristic is the independency from the input computer language, which provides more generality comparing to similar tools. SSQSA is extendable to perform new analyses as it is open source an

Objetivo

The objective of this work is to propose and implement a code smell detection module for SSQSA. For this, it will be necessary to select a set of priority smells, and for each one of them design a methodology that is able to detect them based on the analysis of the intermediary formats used by SSQSA. Finally, it will be necessary to evaluate the performance of the developed modules, comparing their effectiveness with other tools that try to do this based on different strategies.

Plano de Trabalhos - Semestre 1

T1. [01/09/2016 a 30/09/2016] State of the art analysis
Study the concepts behind code smells and static code analysis.
T2. [01/10/2016 a 20/10/2016] Familiarization with the structure of the SSQSA.
Study the architecture and the code of the SSQSA framework. Understand the intermediary formats used to represent and analyse the source code, and understand how to extend the framework.
T3. [21/10/2016 a 31/12/2016] Definition of smell detection methodologies.
Define a set of smells to be addressed and design detection methodologies for each one of them.
T4. [01/01/2017 a 31/01/2017] Write the Dissertation Plan

Plano de Trabalhos - Semestre 2

T5. [01/02/2017 a 31/03/2017] Development of the Code Smell detectors
Implement the methodologies previously defined, always following the design principles of SSQSA.
T6. [01/04/2017 a 30/04/2017] Experimental Evaluation
Define an evaluation methodology that includes the comparison with other code smells detection techniques. Evaluate experimentally the implemented modules.
T7. [01/04/2017 a 31/05/2017] Write a paper
T8. [01/03/2017 a 31/07/2017] Write the thesis.

Condições

The work is to be executed at the laboratories of the CISUC’s Software and Systems Engineering Group. A work place will be provided as well as the required computational resources.

Orientador

Nuno Antunes
nmsa@dei.uc.pt 📩