skip to main content
10.1145/2597008.2597806acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

SCQAM: a scalable structured code quality assessment method for industrial software

Published: 02 June 2014 Publication History

Abstract

Siemens, Corporate Technology, Development Center, Asia Australia (CT DC AA) has been developing and maintaining several software projects for the Industry, Energy, Healthcare, and Infrastructure & Cities sectors of Siemens. The critical nature of these projects necessitates a high level of software code quality. As part of the code quality program at CT DC AA the strategy is to have a scalable method towards identification of issues affecting code quality of projects across the organization. Traditionally, code quality experts in Siemens used EMISQ method to assess code quality. EMISQ requires about three person months (two experts for six weeks) for 50-100 kLoC, making it effort intensive and time consuming. Thus, scaling this assessment method to include the hundreds of projects in CT DC AA poses many challenges. To address this, we have developed a lightweight assessment method called SCQAM (Structured Code Quality Assessment Method). SCQAM is an expert-based method wherein manual assessment of code quality by experts is directed by the systematic application of code analysis tools. In this paper, we describe the SCQAM method, experiences in applying it to projects in CT DC AA, challenges faced and initiatives taken to enable fixing of systemic issues reported by assessments. The insights from our SCQAM experience can provide useful pointers to other organizations and practitioners interested in assessment and improvement of software code quality.

References

[1]
R. Plösch, H. Gruber, A. Hentschel, C. Körner, G. Pomberger, S. Schiffer, M. Saft, and S. Storck. The EMISQ Method and its Tool Support --Expert-based Evaluation of Internal Software Quality. Innovations in Systems and Software Engineering, Vol. 4, No. 1, pp. 3--15, 2008.
[2]
C. Kothapalli, S. G. Ganesh, H. K. Singh, D. V. Radhika, T. Rajaram, K. Ravikanth, S. Gupta, and K. Rao. Continual Monitoring of Code Quality. In Proceedings of the 4th India Software Engineering Conference, ISEC ’11, pages 175-184, New York, NY, USA, 2011.
[3]
R. Plösch, H. Gruber, C. Körner, and M. Saft. A Method for Continuous Code Quality Management Using Static Analysis. 7th International Conference on the Quality of Information and Communications Technology, 2010.
[4]
ISO 9126: Information Technology – Software Product Quality; 1991.
[5]
P. V. R. Murthy, V. S. Kumar, T. Sharma, and K. Rao. Quality Model Driven Dynamic Analysis. Presented at IEEE 35th Annual Computer Software and Applications Conference, 2011.
[6]
Radhika D. Venkatasubramanyam and Snigdha Nayak. An Overview of Technical Models for Dynamic Analysis. Lecture Notes on Software Engineering vol. 1, no. 2, pp. 160-163, 2013.
[7]
Ganesh Samarthyam, Girish Suryanarayana, Tushar Sharma, and Shrinath Gupta. MIDAS: a design quality assessment method for industrial software. In Proceedings of the 2013 International Conference on Software Engineering (ICSE '13). IEEE Press, Piscataway, NJ, USA, 911-920, 2013.
[8]
J. Bansiya and C. G. Davis. A Hierarchical Model for Object-Oriented Design Quality Assessment. IEEE Transactions on Software Engineering, 28, 1, 4-17, 2002.
[9]
SQALE, http://www.sqale.org/wpcontent/uploads/2011/10/SQALE-Whitepaper-EN-V4_0.pdf, {Online; accessed on 03-February-2014}.
[10]
D. S. Ducasse, S. Laval, J. Bellingard, F. Vaillergues, P. Balmas, F. Bergel, A. and K. Mordal Manet, “Squale software quality enhancement”, In Proceedings of the European Conference on Software Maintenance and Reengineering, 2009.
[11]
IEEE Standard for Software Reviews and Audits, http://standards.ieee.org/findstds/standard/1028-2008.html, {Online; accessed on 05-February-2014}.
[12]
Coding Standard, http://www.programmingresearch.com/solutions/codingstandards/, {Online; accessed on 03-February-2014}
[13]
Compliance to ISO-26262, http://www.grammatech.com/images/pdf/iso-26262compliance-with-codesonar.pdf, {Online; accessed on 03-February-2014}.
[14]
MISRA, http://www.misra.org.uk/MISRAHome/, {Online; accessed on 03-February-2014}.
[15]
LDRA tool for MISRA compliance, http://www.ldra.com/index.php/en/solutions/by-standardadherence/misra, {Online; accessed on 03-February-2014}.
[16]
.Net Framework Guidelines and Best Practices, http://msdn.microsoft.com/enus/library/ms184412(v=vs.110).aspx, {Online; accessed on 03-February-2014}.
[17]
FxCop, http://msdn.microsoft.com/enus/library/bb429476.aspx, {Online; accessed on 03-February-2014}.
[18]
Himanshu Kumar Singh, Umesh Uppili, and Ujwala Pavuluri, Making Continual Code Quality Monitoring and Control Processes Work in a Global Delivery Organization: COSMOS, In Proceedings of the 2013 IEEE 8th International Conference on Global Software Engineering (ICGSE '13). IEEE Computer Society, Washington, DC, USA, 173-177
[19]
ISO/IEC 14598-1:1999, Information technology --Software product evaluation, 1999.
[20]
F. Dandashi, “A method for assessing the reusability of object oriented code using a validated set of automated measurements”, In SAC '02: Proceedings of the 2002 ACM symposium on Applied computing, pages 997--1003, New York, USA, 2002.
[21]
A. Bergel, J. Laval, and S. Ducasse, “Assessing the quality of your software with MoQam”, 2nd Workshop on FAMIX and Moose in Reengineering, 2008.
[22]
L. H. Etzkorn, W. E. Hughes Jr., and C. G. Davis, “Automated reusability quality analysis of OO legacy software”, Information & Software Technology, 43(5):295-- 308, 2001.
[23]
R. Conradi, G. Sindre, and E. A. Karlsson, “The reboot approach to software reuse”, Journal of Systems and Software, 30(3), 1995.
[24]
M. A. Babar, L. Zhu, and R. Jeffery, "A Framework for Classifying and Comparing Software Architecture Evaluation Methods”. Proceedings of the Australian Software Engineering Conference. 2004.
[25]
T. Punter, R. Kusters, J. Trienekens, T. Bemelmans, and A. Brombacher, “The W-Process for Software Product Evaluation: A Method for Goal-Oriented Implementation of the ISO 14598 Standard”, Software Quality Control 12, 2 (June 2004), 137-158.
[26]
S. Wagner, K. Lochmann, L. Heinemann, M. Kläs, A. Trendowicz, R. Plösch, A. Seidl, A. Goeb, and J. Streit, “The quamoco product quality modelling and assessment approach”, in Proceedings of the 2012 International Conference on Software Engineering (ICSE 2012). IEEE Press, Piscataway, NJ, USA, 1133-1142.
[27]
R. G. Dromey, “A model for software product quality”, IEEE Trans. Softw. Eng., 21(2):146--162, 1995.
[28]
G. Gousios, D. Spinellis, I. Samoladas and I. Stamelos, “The SQO-OSS quality model: measurement based open source software evaluation”, Proceedings of the International Conference on Open Source Systems, 2008
[29]
Y. Kanellopoulos, I. Heitlager, C. Tjortjis, and J. Visser, “Interpretation of source code clusters in terms of the ISO/IEC-9126 maintainability characteristics”, editors: K. Kontogiannis, C. Tjorjis and A. Winter, in 12th European Conference on Software Maintenance and Reengineering (2008), pp. 63O72.
[30]
D. Spinellis, G. Gousios, V. Karakoidas, and P. Louridas, “Evaluating the Quality of Open Source Software”, Electronic Notes in Theoretical Computer Science, Volume 233, 27 March 2009, Pages 5–28.
[31]
D. S. Ducasse, S. Laval, J. Bellingard, F. Vaillergues, P. Balmas, F. Bergel, A. and K. Mordal Manet, “Squale software quality enhancement”, In Proceedings of the European Conference on Software Maintenance and Reengineering, 2009.
[32]
ISO 9126: Information Technology – Software Product Quality; 1991.
[33]
ISO 25000, Software engineering Software product Quality Requirements and Evaluation (SQuaRE) Guide to SQuaRE. 2005.
[34]
Gendarme, http://www.mono-project.com/Gendarme, {Online; accessed on 03-February-2014}.
[35]
ClockSharp, http://www.clocksharp.com/, {Online; accessed on 26-January-2013}.
[36]
FindBugs, http://findbugs.sourceforge.net/, {Online; accessed on 03-February-2014}.
[37]
PC-Lint, http://www.gimpel.com/html/pcl.htm, {Online; accessed on 03-February-2014}.
[38]
NDepend, http://www.ndepend.com/, {Online; accessed on 03-February-2014}.
[39]
Understand, http://www.scitools.com/, {Online; accessed on 03-February-2014}.
[40]
CloneDR, http://www.semdesigns.com/Products/CloneDR/, {Online; accessed on 26-January-2013}.
[41]
Simian, http://www.harukizaemon.com/simian/, {Online; accessed on 03-February-2014}.
[42]
Ganesh Samarthyam, Girish Suryanarayana, Arbind Kumar Gupta, and Raghu Nambiar, FOCUS: an adaptation of a SWEBOK-based curriculum for industry requirements. In Proceedings of the 2012 International Conference on Software Engineering (ICSE 2012).
[43]
Chidamber, S.R.; Kemerer, C.F., "A metrics suite for object oriented design," IEEE Transactions on Software Engineering, vol.20, no.6, pp.476,493, Jun 1994.

Cited By

View all
  • (2022)X-SBR: On the Use of the History of Refactorings for Explainable Search-Based Refactoring and Intelligent Change OperatorsIEEE Transactions on Software Engineering10.1109/TSE.2021.310503748:10(3753-3770)Online publication date: 1-Oct-2022
  • (2019)Software quality assessment model: a systematic mapping studyScience China Information Sciences10.1007/s11432-018-9608-362:9Online publication date: 26-Jul-2019
  • (2017)A Systematic Mapping Study of Quality Assessment Models for Software Products2017 International Conference on Software Analysis, Testing and Evolution (SATE)10.1109/SATE.2017.16(63-71)Online publication date: Nov-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICPC 2014: Proceedings of the 22nd International Conference on Program Comprehension
June 2014
325 pages
ISBN:9781450328791
DOI:10.1145/2597008
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

  • TCSE: IEEE Computer Society's Tech. Council on Software Engin.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 June 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Code Analysis Tools
  2. Software Code Assessment Method
  3. Software Code Quality
  4. Software Product Quality

Qualifiers

  • Article

Conference

ICSE '14
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)35
  • Downloads (Last 6 weeks)2
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)X-SBR: On the Use of the History of Refactorings for Explainable Search-Based Refactoring and Intelligent Change OperatorsIEEE Transactions on Software Engineering10.1109/TSE.2021.310503748:10(3753-3770)Online publication date: 1-Oct-2022
  • (2019)Software quality assessment model: a systematic mapping studyScience China Information Sciences10.1007/s11432-018-9608-362:9Online publication date: 26-Jul-2019
  • (2017)A Systematic Mapping Study of Quality Assessment Models for Software Products2017 International Conference on Software Analysis, Testing and Evolution (SATE)10.1109/SATE.2017.16(63-71)Online publication date: Nov-2017
  • (2015)Challenges to and Solutions for Refactoring Adoption: An Industrial PerspectiveIEEE Software10.1109/MS.2015.10532:6(44-51)Online publication date: Nov-2015
  • (2015)Assessing the Effectiveness of Static Analysis through Defect Correlation AnalysisProceedings of the 2015 IEEE 10th International Conference on Global Software Engineering10.1109/ICGSE.2015.18(100-104)Online publication date: 13-Jul-2015

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media