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

A semiautomated method for classifying program analysis rules into a quality model

Published: 02 June 2014 Publication History

Abstract

Most of the software code quality assessment and monitoring methods uses Quality Model (QM) as an aid to capture quality requirements of the software. An important aspect concerning use of QM is classification of Program Analysis (PA) rules into QM according to their relevance to quality attributes such as maintainability, reliability etc. Currently such classification is performed manually by experts and most of the PA tools (such as FxCop for C#, FindBugs for Java, PC-Lint for C/C++) support hundreds of PA rules. Hence performing classification manually can be very effort intensive and time consuming and can lead to concerns like subjectivity and inconsistency. Hence we propose a light weight semiautomated method to expedite classification and make classification activity less effort intensive. Proposed classifier is based on natural language processing (NLP) techniques and uses a keyword matching algorithm. We have computed precision and recall for such a classifier. We have also shown results from applying technique on classifying rules from FxCop, PC-Lint, and FindBugs into the EMISQ QM. We believe that proposed approach will significantly help in reducing the time required to perform classification and hence also to incorporate newer PA tools and rules into QM based methods.

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 18-October-2013}.
[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]
PC-Lint, http://www.gimpel.com/html/pcl.htm, {Online; accessed on 18-October-2013}.
[12]
FxCop, http://msdn.microsoft.com/enus/library/bb429476.aspx, {Online; accessed on 18-October-2013}.
[13]
Gendarme, http://www.mono-project.com/Gendarme, {Online; accessed on 18-October-2013}.
[14]
ClockSharp, http://www.clocksharp.com/, {Online; accessed on 18-October-2013}.
[15]
FindBugs, http://findbugs.sourceforge.net/, {Online; accessed on 18-October-2013}.
[16]
NDepend, http://www.ndepend.com/, {Online; accessed on 18-October-2013}.
[17]
Understand, http://www.scitools.com/, {Online; accessed on 18-October-2013}.
[18]
DevPartner, http://www.microfocus.com/products/ productsa-z/productsa-zD.aspx, {Online; accessed on 18-October-2013}.
[19]
Rational Purify/Quantify, http://www- 01.ibm.com/software/awdtools/purify/, {Online; accessed on 18-October-2013}.
[20]
Keyword Extractor, http://www.webseo.com.au/keyword_extractor.html, {Online; accessed on 18-October-2013}.
[21]
Stemmer, http://www.sourcecodeonline.com/details/stemka_- _the_free_stemming_tool.html, {Online; accessed on 17-Feb-2014}
[22]
Keyword Extractor, http://www.northcutt.com/tools/free-seotools/keyword-extractor/, {Online; accessed on 18-October-2013}.
[23]
The Porter Stemming Algorithm, http://tartarus.org/~martin/PorterStemmer/, {Online; accessed on 18-October-2013}.
[24]
ISO/IEC 25010:2011, http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue _detail.htm?csnumber=35733, {Online; accessed on 18-October-2013}.
[25]
ISO/IEC 25000:2005, http://www.iso.org/iso/catalogue_detail.htm?csnumber=3568 3, {Online; accessed on 18-October-2013}.
[26]
Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J. Non-Functional Requirements in Software Engineering. International Series in Software Engineering, vol. 5, p. 476. Springer, Heidelberg, 1999
[27]
Ishrar Hussain, Leila Kosseim, and Olga Ormandjieva. Using Linguistic Knowledge to Classify Non-functional Requirements in SRS documents. In Proceedings of the 13th international conference on Natural Language and Information Systems: Applications of Natural Language to Information Systems (NLDB '08), Epaminondas Kapetanios, Vijayan Sugumaran, and Myra Spiliopoulou (Eds.). Springer-Verlag, Berlin, Heidelberg, 287-298, 2008.
[28]
Jane Cleland-Huang, Raffaella Settimi, Xuchang Zou, and Peter Solc. Automated classification of non-functional requirements. Requirement Engineering. 12, 2, 103-120, 2007.
[29]
Frank, E., Paynter, G.W., Witten, I.H., Gutwin, C., & Nevill-Manning, C.G. Domain-specific key phrase extraction. Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence, 668-673, 1999.

Cited By

View all
  • (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

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. Classification
  2. Code Analysis
  3. Program Analysis
  4. Quality Model
  5. Quality Requirements
  6. Software Quality

Qualifiers

  • Article

Conference

ICSE '14
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (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

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