This paper presents an assessment method to evaluate the quality of object oriented software systems. The assessment method is based on source code abstraction, object–oriented metrics and graphical representation. The metrics used and the underlying model representing the software are presented. The assessment method experiment is part of an industrial research effort with the Bell Canada Quality Engineering and Research Group. It helps evaluators assess the quality and risks associated with software by identifying code fragments presenting unusual characteristics. The assessment method evaluates object–oriented software systems at three levels of granularity: system level, class level and method level. One large C++ and eight Java software systems, for a total of over one million lines of code, are presented as case studies. A critical analysis of the results is presented comparing the systems and the two languages.
This is a preview of subscription content, access via your institution.
AntLR 2.2.3, Predicated-LL(k) Parser Generator, MageLang Institute, http://www.AntLR.org/.
Booch, G. (1994), Object-Oriented Design with Applications, 2nd Edition, Benjamin/Cummings, Redwood, CA.
Booch, G. (1995), Object Solutions-Managing Object-Oriented Project, Addison-Wesley, Reading, MA.
Chidamber, S.R. and C. Kemerer (1994), "A Metrics Suite for Object-Oriented Design," IEEE Transactions on Software Engineering 20, 6.
CUP 0.10g, LALR Parser Generator for Java, Scott E. Hudson, GVU Center, Georgia Tech, http://www.cs.princeton.edu/appel/modern/java/CUP/.
Fenton, N.E. (1991), Software Metrics-A Rigorous Approach, Chapman & Hall, London, UK.
Gamma, E., R. Helm, R. Johnson, and J. Vlissides (1994), Design Patterns-Elements of Reusable Object-Oriented Software, Addison-Wesley, Reading, MA.
Gondran, M. and M. Minoux (1985), Graphes et Algorithmes, Eyrolles, France.
Gosling, J., B. Joy, and G. Steele (1996), The Java Language Specification, Addison-Wesley, Reading, MA.
HTTPCLIENT 0.3, Http client library, Ronald Tschalaer, http://www.innovation.ch/java/ HTTPClient/.
ISO (1991), International Standard ISO/IEC 9126, Information Technology-Software Product Evaluation-Quality Characteristics and Guidelines for Their Use, International Organization for Standardization, International Electrotechnical Commission, Geneva.
JavaCC, Java Parser Generator, Sun Microsystems, Inc., http://www.suntest.com/JavaCC/.
JDK 1.1.5, Java Development Kit, Sun Microsystems, Inc.
KFC 1.0 beta, Kazuki Yasumatsu's Foundation Classes, Kazuki Yasumatsu, http://ring.aist.go.jp/openlab/kyasu/.
Kruchten, P. (1998), The Rational Unified Process-An Introduction, Addison-Wesley, Reading, MA.
Laguë, B., C. Leduc, E. Merlo, and M. Dagenais (1997), "A Framework for the Analysis of Layered Software Architectures," In Proceedings of the 2nd International Workshop on Empirical Studies of Software Maintenance, IEEE Computer Society Press, Los Alamitos, CA.
Lewis, T. et al. (1995), Object Oriented Application Frameworks, Manning Publications, Greenwich, CT.
Lorenz, M. and J. Kidd (1994), Object-Oriented Software Metrics, Prentice-Hall, Englewood Cliffs, NJ.
Martin, J. and J. Odell (1995), Object-Oriented Methods-A Foundation, Prentice-Hall, Englewood Cliffs, NJ.
Mayrand, J. (1991a), "Modélisation du code source par niveaux sémantiques," MS Thesis, Department of Computer Engineering, École Polytechnique de Montréal, Montréal, Canada.
Mayrand, J. (1991b), "Métriques basées sur la modélisation par niveaux sémantiques des programmes sources," Technical Report EPM/RT-91/19, École Polytechnique de Montréal, Montréal, Canada.
Mayrand, J. and F. Coallier (1996), "System Acquisition Based on Software Product Assessment," In Proceedings of the 18th International Conference on Software Engineering, IEEE Computer Society Press, Los Alamitos, CA.
Mayrand, J. and E. Merlo (1996), "Évaluation de la qualité des logiciels," Technical Report EPM/RT-96/12, École Polytechnique de Montréal, Montréal, Canada.
Mayrand, J., F. Guay, and E. Merlo (1996), "Inheritance Graph Assessment Using Metrics," In Proceedings of the 3rd International Software Metrics Symposium, IEEE Computer Society Press, Los Alamitos, CA.
OMG (1999), Unified Modeling Language Specification (draft), version 1.3, alpha 2.
SABLECC 2.5, "Object-Oriented Compiler Framework," Etienne Gagnon, Sable Research Group, School of Computer Science, McGill University, http://www.sable.mcgill.ca/sablecc/.
Swing component set 1.0.2, Sun Microsystems, Inc., http://www.javasoft.com/products/ jfc/tsc/.
Wegner, P. (1990), "Concepts and Paradigms of Object-Oriented Programming," OOPS Messenger 1, 1.
About this article
Cite this article
Mayrand, J., Patenaude, JF., Merlo, E. et al. Software assessment using metrics: A comparison across large C++ and Java systems. Annals of Software Engineering 9, 117–141 (2000). https://doi.org/10.1023/A:1018924724621
- Abstract Syntax Tree
- Multiple Inheritance
- Software Assessment
- Parser Generator
- Interface Extension