skip to main content
10.1145/1953355.1953379acmotherconferencesArticle/Chapter ViewAbstractPublication PagesisecConference Proceedingsconference-collections
research-article

Continual monitoring of code quality

Published: 24 February 2011 Publication History

Abstract

CQMM (Code Quality Monitoring Method) is a means for systematically monitoring and improving code level quality of a system during development. It employs goal directed monitoring using quality models and static code analysis tools. In this paper, we present the CQMM method, learnings gathered through pilot studies, and changes needed for its large scale adoption within our organization. This exercise was an important step towards evolving an organization wide common minimum baseline for code-centric quality. Initial results indicate that the process helps in exposing important code-centric issues, besides sensitizing developers to coding practices. We also demonstrate the usefulness of the approach by tracking code level issues on select open source projects.

References

[1]
ISO/IEC 9126--1:2001, Software Engineering -- Product Quality -- Part 1: Quality Model. 2001.
[2]
ISO/IEC 25000:2005, Software Engineering -- Software Product Quality Requirements and Evaluation (SquaRE). 2005.
[3]
Guidelines for the Use of the C Language in Critical Systems. http://www.misra.org.uk/, October 2004.
[4]
T. Bakota, A. Beszédes, R. Ferenc, and T. Gyimóthy. Continuous Software Quality Supervision Using SourceInventory and Columbus. Companion of the 30th International Conference on Software Engineering, pp. 931--932, 2008.
[5]
J. Bansiya and C. Davis. A Hierarchical Model for Object-Oriented Design Quality Assessment. IEEE Transactions on Software Engineering, Vol. 28, Issue 1, pp. 4--17, 2002.
[6]
V. R. Basili, L. C. Briand, and W. L. Melo. A Validation of Object-Oriented Design Metrics as Quality Indicators. IEEE Transactions on Software Engineering, Vol. 22, Issue 10, pp. 751--761, 1996.
[7]
F. Deissenboeck, E. Juergens, B. Hummel, S. Wagner, B. M. Parareda, and M. Pizka. Tool Support for Continuous Quality Control. IEEE Software, Vol. 25, Issue 5, pp. 60--67, 2008.
[8]
F. Deissenboeck, E. Juergens, K. Lochmann, S. Wagner, and T. U. München. Software Quality Models: Purposes, Usage Scenarios and Requirements. Proc. of the ISCE Workshop on Software Quality, pp. 9--14, 2009.
[9]
S. G. Eick, T. L. Graves, A. F. Karr, J. Marron, and A. Mockus. Does Code Decay? Assessing the Evidence from Change Management Data. IEEE Transactions on Software Engineering, Vol. 27, Issue 1, pp. 1--12, 2001.
[10]
M. E. Fagan. Advances in Software Inspections. IEEE Transactions on Software Engineering, Vol. 12, Issue 7, pp. 744--751, 1986.
[11]
N. E. Fenton. Software Metrics: A Rigorous Approach. Chapman & Hall, 1991.
[12]
G. Gousios and D. Spinellis. Alitheia Core - An extensible Software Quality Monitoring Platform. International Conference on Software Engineering, pp. 579--582, 2009.
[13]
H. Gruber, C. Körner, R. Plösch, G. Pomberger, and S. Schiffer. Benchmarking-Oriented Analysis of Source Code Quality: Experiences with the QBench Approach. Proc. of the IASTED International Conference on Software Engineering, pp. 7--13, 2008.
[14]
H. Gruber, C. Korner, R. Plosch, and S. Schiffer. Tool Support for ISO 14598 Based Code Quality Assessments. Proc. of the 6th International Conference on Quality of Information and Communications Technology, pp. 21--29, 2007.
[15]
P. M. Johnson, M. G. Paulding, H. Kou, Q. Zhang, A. Kagawa, and T. Yamashita. Improving Software Development Management Through Software Project Telemetry. IEEE Software, Vol. 22, No. 5, pp. 76--85, 2005.
[16]
S. H. Kan. Metrics and Models in Software Quality Engineering. Addison-Wesley, 2002.
[17]
S. Kim, T. Zimmermann, E. J. Whitehead, and A. Zeller. Predicting Faults from Cached History. Proc. of the 29th International Conference on Software Engineering, pp. 489--498, 2007.
[18]
T. Kuipers, J. Visser, and G. de Vries. Monitoring the Quality of Outsourced Software. Workshop on Tools for Managing Globally Distributed Software Development, 2007.
[19]
M. Lehman and J. F. Ramil. Rules and Tools for Software Evolution Planning and Management. Annals of Software Engineering, Special Issue on Software Management, Vol. 11, Issue 1, pp. 15--44, 2001.
[20]
W. Li and S. Henry. Object-Oriented Metrics that Predict Maintainability. Journal of Systems Software, Vol. 33, Issue 2, pp. 111--122, 1993.
[21]
K. H. Möller and D. J. Paulish. Software Metrics - A Practitioner's Guide to Improved Product Development. Chapman & Hall, 1992.
[22]
N. Nagappan, T. Ball, and A. Zeller. Mining Metrics to Predict Component Failures. Proc. of the 28th International Conference on Software Engineering, pp. 452--461, 2006.
[23]
N. Nagappan, L. Williams, J. Hudepohl, W. Snipes, and M. Vouk. Preliminary results on using static analysis tools for software inspection. Proc. of the 15th International Symposium on Software Reliability Engineering, pp. 429--439, 2004.
[24]
N. Nagappan, L. Williams, J. Hudepohl, W. Snipes, and M. Vouk. Preliminary Results On Using Static Analysis Tools For Software Inspection. Proc. of the 15th International Symposium on Software Reliability Engineering, pp. 429--439, 2004.
[25]
R. Plösch, H. Gruber, G. Pomberger, and C. Körner. Adapting Quality Models for Assessments -- Concepts and Tool Support. Workshop, held in Conjunction with SE 2010 Conference, 2010.
[26]
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.
[27]
R. Plösch, H. Gruber, C. Körner, G. Pomberger, and S. Schiffer. A Proposal for a Quality Model Based on a Technical Topic Classification. Proc. of SQMB 2009 Workshop, held in conjunction with SE 2009 conference, 2009, Kaiserslautern, Germany.
[28]
R. Plösch, H. Gruber, C. Körner, and M. Saft. A Method for Continuous Code Quality Management Using Static Analysis. Proc. of the 7th International Conference on the Quality of Information and Communications Technology, pp. 370--375, 2010.
[29]
J. S. Reel. Critical Success Factors in Software Projects. IEEE Software, Vol. 6, No. 3, pp. 18--23, 1999.
[30]
S. Wagner, J. Jürjens, C. Koller, and P. Trischberger. Comparing Bug Finding Tools with Reviews and Tests. Testing of Communicating Systems, Vol. 3502, pp. 40--55, 2005.
[31]
C. C. Williams and J. K. Hollingsworth. Automatic Mining of Source Code Repositories to Improve Bug Finding Techniques. IEEE Transactions on Software Engineering, Vol. 31, Issue 6, pp. 466--480, 2005.
[32]
J. Zheng, L. Williams, N. Nagappan, W. Snipes, J. P. Hudepohl, and M. A. Vouk. On the Value of Static Analysis for Fault Detection in Software. IEEE Transactions on Software Engineering, Vol. 32, Issue 4, pp. 240--253, 2006.

Cited By

View all
  • (2023)Practical Consequences of Quality Views in Assessing Software QualityAxioms10.3390/axioms1206052912:6(529)Online publication date: 28-May-2023
  • (2021)Genetic Algorithm-Based Fuzzy Inference System for Describing Execution Tracing QualityMathematics10.3390/math92128229:21(2822)Online publication date: 6-Nov-2021
  • (2021)On the Use of Quality Models to Address Distinct Quality ViewsApplied System Innovation10.3390/asi40300414:3(41)Online publication date: 2-Jul-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ISEC '11: Proceedings of the 4th India Software Engineering Conference
February 2011
229 pages
ISBN:9781450305594
DOI:10.1145/1953355
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

  • Computer Society of India: Computer Society of India

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 February 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. bug detection
  2. continuous measurement
  3. software metrics
  4. software quality assessment
  5. static verification

Qualifiers

  • Research-article

Conference

ISEC '11
Sponsor:
  • Computer Society of India
ISEC '11: Indian Software Engineering Conference
February 24 - 27, 2011
Kerala, Thiruvananthapuram, India

Acceptance Rates

Overall Acceptance Rate 76 of 315 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)9
  • Downloads (Last 6 weeks)2
Reflects downloads up to 13 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Practical Consequences of Quality Views in Assessing Software QualityAxioms10.3390/axioms1206052912:6(529)Online publication date: 28-May-2023
  • (2021)Genetic Algorithm-Based Fuzzy Inference System for Describing Execution Tracing QualityMathematics10.3390/math92128229:21(2822)Online publication date: 6-Nov-2021
  • (2021)On the Use of Quality Models to Address Distinct Quality ViewsApplied System Innovation10.3390/asi40300414:3(41)Online publication date: 2-Jul-2021
  • (2021)Quality Properties of Execution Tracing, an Empirical StudyApplied System Innovation10.3390/asi40100204:1(20)Online publication date: 8-Mar-2021
  • (2020)Software Product Quality Models, Developments, Trends, and EvaluationSN Computer Science10.1007/s42979-020-00140-z1:3Online publication date: 8-May-2020
  • (2016)An Approach for Collaborative Quality Assessment of SoftwareProceedings of the 9th India Software Engineering Conference10.1145/2856636.2856656(190-195)Online publication date: 18-Feb-2016
  • (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
  • (2014)A semiautomated method for classifying program analysis rules into a quality modelProceedings of the 22nd International Conference on Program Comprehension10.1145/2597008.2597808(266-270)Online publication date: 2-Jun-2014
  • (2014)SCQAM: a scalable structured code quality assessment method for industrial softwareProceedings of the 22nd International Conference on Program Comprehension10.1145/2597008.2597806(244-252)Online publication date: 2-Jun-2014
  • (2014)Why is dynamic analysis not used as extensively as static analysis: an industrial studyProceedings of the 1st International Workshop on Software Engineering Research and Industrial Practices10.1145/2593850.2593855(24-33)Online publication date: 1-Jun-2014
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media