SQuIDS - Development of an Eclipse plug-in for automated detection of software maintainability problems
MetadataShow full item record
Software quality can make a large impact on the cost and speed of development, as well as on what functionality can be delivered in time. Techniques, tools and models exist for measuring and improving software quality. Static code analyzers are programs which can be used to identify quality problems in the source code of software. The CISQ Specifications for Automated Quality Characteristic Measures provide a set of measures for automatic analysis, which can be implemented into a static code analyzer. Maintainability is a characteristic of software quality, and is one of four characteristics in the CISQ specification. Two implementations of the CISQ specification exist, where one of them, called MUSE, implements the maintainability characteristic. However, neither are available as plug-ins for an Integrated Development Environment (IDE). In this study, a software artifact named SQuIDS (Software Quality Issue Detection System) was developed as a plug-in for the Eclipse IDE. This was done in order to find out how a static code analyzer can be developed to find maintainability problems in software source code, based on a standard, with focus on correctness, usability and performance. SQuIDS analyzes Java source code, finds maintainability problems defined by the CISQ specification, marks the problems in the source code editor, and provides a software quality score according to the specification. The software artifact was evaluated by comparing results with the MUSE software (Plösch, Schürz, and Körner, 2015), providing an example of and discussing how maintainability problems can be visualized to the user, and evaluating performance by measuring the time it takes SQuIDS to analyze five existing open-source software projects. The results show that SQuIDS and MUSE find different problems for most of the CISQ measures, that the way SQuIDS visualizes maintainability problems works, but may not be optimal for a larger number of problems, and that although the performance of SQuIDS proved to be lower than desired, makes it usable while developing software. Further research and development is recommended to improve the correctness, usability and performance of SQuIDS. A method for comparing and verifying the analysis results of SQuIDS and MUSE has been proposed and used for a selection of the CISQ measures. Further verification of the analysis results could therefore be conducted using the method. SQuIDS is available as an open-source software project on GitHub (https://github.com/larsac07/SQuIDS), and can be installed and used in Eclipse to identify maintainability problems in Java software source code.