Proposta de dissertação do MEI
Título: Techniques to remove the Schizophrenic Function symptom from MATLAB code
Proponente(s): Miguel Pessoa Monteiro (software engineering & modularity)
Nuno Marques (neural networks, machine learning, data mining)
Créditos: 42 ECTS
Área científica: Software Engineering
Início preferencial:
URL:
Já estão em curso trabalhos preliminares executados pelo alunos:
António Relvas (terminado), João Barrulas (a terminar)
Breve descrição: Schizophrenic functions are MATLAB functions that can be called in several different modes, which are determined according to the number of arguments with which they were called. The symptoms in code (or code smells) are calls to a few functions (e.g., nargin, nargout) that return number of input and output arguments. Code (especially conditional code) checking the values of these functions comprise a clear indicator of this symptom.
Purpose of this project is (1) to (semi-)automatically detect the symptom and (2) remove it by means of suitable refactorings.
Steps:
1) Use our code mining web system to detect cases of schizophrenic functions.
2) Use the LARA language framework (and its current instantiation for MATLAB - the Matisse compiler) to refactor a selection of the cases collected, so as to remove that code smell.
The outcome of (2) should be MATLAB+LARA code.
A few suitable code metrics are be selected, to be used to assess results obtained.
Observações: