Method for Assessing Software Quality Using Source Code Analysis

Software systems and products are widely used in our personal daily life, business activities, hospitals, aviation and many other fields. These software products should not only satisfy the requirements of their intended users but also should be able to compete with other similar software products available in the market. Assessment of software product quality can be achieved by analyzing and specifying the quality characteristics which is defined in software quality models and standards, based on the quality reports defined by the stakeholders. However, assessment of software quality is not an easy task and as time passes, the characteristic of new software systems and products will change. In this research, a quality assessment method is proposed based on the latest software quality standard ISO/IEC 25010. This method performs code analysis using two perspectives (structural and rule violation-based quality measure metrics) to analyse four quality characteristics (i.e., performance, security, maintainability and reliability). The code analysis process is done by extracting structural elements and tracking defects which prevent a software system to have good architectural and coding practices. An automated tool is developed to facilitate and support the code analysis and software quality assessment.

[1]  Evangelos Theodoridis,et al.  Code Quality Evaluation Methodology Using The ISO/IEC 9126 Standard , 2010, ArXiv.

[2]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[3]  Mingju Zhang,et al.  Improved AHP Method and Its Application in Risk Identification , 2013 .

[4]  Muhammad Ali Babar,et al.  Teaching three quality assurance techniques in tandem - lessons learned , 2005, Fifth International Conference on Quality Software (QSIC'05).

[5]  Mary Shaw,et al.  Automated Assistance for Eliciting User Expectations , 2004, SEKE.

[6]  Hideyuki Imai,et al.  A Fuzzy Representation for Weights of Alternatives in AHP , 2007, EUSFLAT Conf..

[7]  Carl G. Davis,et al.  A Hierarchical Model for Object-Oriented Design Quality Assessment , 2002, IEEE Trans. Software Eng..

[8]  Fanny Andalia,et al.  Implementation of Analytical Hierarchy Process On Airplane Ticket Booking Application Selection With Software Quality Requirements and Evaluation ISO / IEC 25010 : 2011 , 2018 .

[9]  References , 1971 .

[10]  Tibor Gyimóthy,et al.  Software Quality Model and Framework with Applications in Industrial Context , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[11]  Tiago Gomes,et al.  An overview on the Static Code Analysis approach in Software Development , 2009 .

[12]  Reinhold Plösch,et al.  The EMISQ Method - Expert Based Evaluation of Internal Software Quality , 2007, 31st IEEE Software Engineering Workshop (SEW 2007).

[13]  ISO / IEC 25010 : 2011 Systems and software engineering — Systems and software Quality Requirements and Evaluation ( SQuaRE ) — System and software quality models , 2013 .

[14]  J. MacQueen Some methods for classification and analysis of multivariate observations , 1967 .

[15]  Evangelos Theodoridis,et al.  Code4Thought Project: Employing the ISO/IEC-9126 Standard for Software Engineering-Product Quality Assessment , 2009, 2009 13th European Conference on Software Maintenance and Reengineering.

[16]  Ioannis Stamelos,et al.  Evaluating the Quality of Open Source Software , 2009, SQM@CSMR.

[17]  Thomas L. Saaty,et al.  DECISION MAKING WITH THE ANALYTIC HIERARCHY PROCESS , 2008 .