Abstract
This paper defines metrics for object-based systems. A hierarchical, abstract representation of object-based software is presented, and is used to define programming-language-independent metrics formulas. Novel techniques are given for measuring information hiding, cohesion, encapsulation, coupling, “object-orientedness,” maintainability, and potential concurrency among and within objects. The metrics are useful for guiding design optimization. Additionally, the concurrency metrics are useful for guiding object distribution for execution on concurrent hardware platforms. A toolset that computes several of the metrics is also described.
Similar content being viewed by others
References
Ammann, M.M. and R.D. Cameron (1994), “Measuring Program Structure with Inter-Module Metrics,” InProceedings of the Eighteenth Annual Int. Computer Software and Applications Conf., pp. 139–144.
Brooks, C.L. and C.G. Buell (1994), “Tool for Automatically Gathering Object-Oriented Metrics,” InProceedings of the IEEE 1994 National Aerospace and Electronics Conference, pp. 835–838.
Chidamber, S. and C. Kemerer (1991), “Towards a Metrics Suite for Object Oriented Design,” InProceedings of the Fourth Annual ACM Conference on Object Oriented Programming Systems, Languages, and Applications, pp. 197–211.
Chidamber, S. and C. Kemerer (1994), “A Metrics Suite for Object Oriented Design,”IEEE Transactions on Software Engineering 20, 6, 476–493.
Chung, C. and M. Lee (1992), “Inheritance-Based Object-Oriented Software Metrics,” inProceedings of the IEEE Region 10 Int. Conf. Computers, Communications, and Automation Towards the 21st Century, pp. 628–632.
Gowda, R.G. and L.E. Winslow (1994), “An Approach for Deriving Object-Oriented Metrics,” InProceedings of the IEEE 1994 National Aerospace and Electronics Conference, pp. 897–904.
Halstead, M. (1977),Elements of Software Science, North-Holland.
Henry, S. and D. Kafura (1981), “Software Structure Metrics Based on Information Flow,”IEEE Transactions on Software Engineering 7, 5, 510–518.
Hudli, R.V., C.L. Hoskins and A.V. Hudli (1994), “Software Metrics for Object-Oriented Designs,” InProceedings of the IEEE Int. Conf. on Computer Design: VLSI in Computers & Processors, IEEE Computer Society Press, pp. 492–495.
ISO (1995),Ada 95 Reference Manual, International Standard ANSI/ISO/IEC-8652:1995.
Karunanithi, S. and J.M. Bieman (1993), “Candidate Reuse Metrics for Object Oriented and Ada Software,” InProceedings of the First International Software Metrics Symposium, pp. 120–128.
Kim, E.M., O.B. Chang, S. Kusumoto and T. Kikuno (1994), “Analysis of Metrics for Object-Oriented Program Complexity,” InProceedings of the Eighteenth Annual Int. Computer Software and Applications Conf., IEEE Computer Society Press, pp. 201–207.
Lee, Y., B. Liang and F. Wang (1993), “Some Complexity Metrics for Object-Oriented Programs Based on Information Flow,” InProceedings of Computers in Design, Manufacturing, and Production, 1993 Comp Euro, pp. 302–310.
Li, W. and S. Henry (1993), “Object-Oriented Metrics that Predict Maintainability,”Journal of Systems Software 23, 111–122.
Lorenz, M. and J. Kidd (1994),Object Oriented Software Metrics, Prentice Hall, Englewood Cliffs, NJ.
McCabe, T., L. Dreyer and A. Watson (1994a), “Testing an Object-Oriented Application,”The Journal of the Quality Assurance Institute, October 1994, 21–22.
McCabe, T. and A. Watson (1994b), “Combining Comprehension and Testing in Object-Oriented Development,”Object Magazine, 63–66.
Moreau, D.R. and W.D. Dominick (1989), “Object-Oriented Graphical Information Systems: Research Plan and Evaluation Metrics,”The Journal of Systems and Software 10, 23–28.
Rumbaugh, J., M. Blaha, W. Premeriani et al. (1991),Object-Oriented Modeling and Design, Prentice-Hall, Englewood Cliffs, NJ.
Sharble, R.C. and S.S. Cohen (1993), “The Object Oriented Brewery: A Comparison of Two Object Oriented Development Methods,”ACM SIGSOFT Software Engineering Notes 18, 2, 60–73.
Tegarden, D.P., S.D. Sheetz and D.E. Monarchi (1992), “Effectiveness of Traditional Software Metrics for Object-Oriented Systems,” InProceedings of the Twenty-Fifth Hawaii International Conference on System Sciences, pp. 359–368.
Welch, L.R. (1993), “Cloning ADT Modules to Increase Parallelism: Rationale and Techniques,” InFifth IEEE Symposium on Parallel and Distributed Computing, IEEE Computer Society Press, pp. 430–437.
Welch, L.R. (1994), “A Parallel Virtual Machine for Programs Constructed from Abstract Data Types,”IEEE Transactions on Computers 37, 11, 1249–1261.
Welch, L.R., A. Samuel, M. Masters, R. Harrison, M. Wilson and J. Caruso (1995), “Reengineering Complex Computer Systems for Enhanced Concurrency and Layering,”Journal of Systems and Software 30, 2, 45–70.
Welch, L.R., G. Yu, B. Ravindran, F. Kurfess, J. Henriques, M. Wilson, M.W. Masters and A. Samuel (1996), “Reverse Engineering of Computer-Based Control Systems,”International Journal of Software Engineering and Knowledge Engineering 6, 3. In press.
Weyuker, E.J. (1988), “Evaluating Software Complexity Measures,”IEEE Transactions on Software Engineering 15, 9, 1357–1365.
Wirfs-Brock, R., B. Wilkerson and L. Wiener (1990),Designing Object-Oriented Software, Prentice Hall, Englewood Cliffs, NJ.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Welch, L.R., Lankala, M., Farr, W. et al. Metrics for quality and concurrency in object-based systems. Ann Software Eng 2, 93–119 (1996). https://doi.org/10.1007/BF02063807
Issue Date:
DOI: https://doi.org/10.1007/BF02063807