ABSTRACT
A method for judging the reusability of C++ code components and for assessing indirect quality attributes from the direct attributes measured by an automated tool was demonstrated. The method consisted of two phases. The first phase identified and analytically validated a set of measurements for assessing direct quality attributes based on measurement theory. An automated tool was used to compute actual measures for a repository of C++ classes. A taxonomy relating reuse, indirect quality attributes, and measurements identified and validated during the first part of this research was defined. The second phase consisted of identifying and validating a set of measurements for assessing indirect quality attributes. A case study of the feasibility of applying direct measurements to assess the indirect quality attributes was conducted. The comparison and analysis of indirect quality attributes measured by human analysis with direct quality attributes measured by the automated tool provided empirical evidence that the two sets of quality attributes, direct and indirect, do correlate.
- Bieman, J. 1991, "Deriving Measures of Software Reuse in Object-Oriented Systems," TR CS-91-112, Colorado State University.]]Google Scholar
- Bieman, J. 1995a, "Metric Development for Object-Oriented Software," Software Measurement, Austin Melton, ed., International Thomson Computer Press, London, UK, 75-92.]]Google Scholar
- Bieman, J. and J. Xia Zhao 1995b, "Reuse Through Inheritance: A Quantitative Study of C++ Software," Proc. ACM Symposium on Software Reusability (SSR '95), Seattle, WA, 47-52.]] Google ScholarDigital Library
- Briand, L. C., S. Morasca, and V. R. Basili 1996, "Property-Based Software Engineering Measurement," IEEE Transactions on Software Engineering, 22(1), 68-85.]] Google ScholarDigital Library
- Briand, L. C., S. Morasca, and V. R. Basili 1997, "Response to: Comments on Property-Based Software Engineering Measurement: Refining the Additivity Properties," IEEE Transactions on Software Engineering, 23(8), 196-198.]] Google ScholarDigital Library
- Briand, L. C., J. W. Daley, & J. K. Wust 1999, "A unified Framework for coupling Measurement in Object-Oriented Systems," IEEE Transactions on Software Engineering, 25(1), 91-121.]] Google ScholarDigital Library
- Cherniavsky, J. C., and C. H. Smith 1991, On Weyuker's Axioms for Software Complexity measures, IEEE Transactions on Software Engineering, 17(6), 636-638.]] Google ScholarDigital Library
- Chidamber, S. and C. Kemerer 1994, A Metrics Suite for Object-oriented Design, IEEE Transactions on Software Engineering, 20(6), 476-493.]] Google ScholarDigital Library
- Churcher, N. I., and M. J. Shepperd 1995, Comments on A Metrics Suite for Object-oriented design, Correspondence in IEEE Transactions on Software Engineering, 21(3), pp. 263-265.]] Google ScholarDigital Library
- Conte, S. D., H. E. Dunsmore, & V. Y. Shen 1986, Software Engineering Metrics and Models, Benjamin/Cummings, New York.]] Google ScholarDigital Library
- Dandashi, F. 1998, A Method for Assessing the Reusability of Object-oriented Code Using a Validated Set of Automated Measurements, Ph.D. Dissertation, SITE, George Mason University, Fairfax, VA.]] Google ScholarDigital Library
- Davis, J. S. and R. J. LeBlanc 1988, A Study of the Applicability of Complexity Measures, IEEE Transactions on Software Engineering, 14(9), 1366-1372.]] Google ScholarDigital Library
- Dhama, H. 1995, Quantitative Models of Cohesion and Coupling in Software, J. Systems Software, Vol. 29, Elsevier Science Inc., NY, NY, 65-74.]] Google ScholarDigital Library
- Evangelist, W. M. 1983, Software Complexity Metric Sensitivity to Program Structuring Rules, Journal of Systems and Software, 3, 231-243.]] Google ScholarDigital Library
- Fenton, N. 1994a, "Software Measurement: A Necessary Scientific Basis," IEEE Transactions on Software Engineering, 20(3), 199-206.]] Google ScholarDigital Library
- Fenton, N., S. L. Pfleeger, & R. L. Glass 1994b, Science and Substance: A Challenge to Software Engineers, IEEE Software, 11(4), 86-95.]] Google ScholarDigital Library
- Fonash, P. 1993, Metrics for Reusable Code Components, Ph.D. Dissertation, SITE, George Mason University, Fairfax, Virginia.]] Google ScholarDigital Library
- Halstead, M. 1977, Elements of Software Science, Elsevier North Holland, New York, NY.]] Google ScholarDigital Library
- Hansen, W. J. 1978, Measurement of Program Complexity by the Pair (Cyclomatic Number, Operator Count), ACM SIGPLAN Notices, 13(3), 29-33.]] Google ScholarDigital Library
- Henry, S. and D. Kafura 1981, Software Structure Metrics Based on Information Flow, IEEE Transactions on Software Engineering, 7(5), 510-518.]]Google ScholarDigital Library
- Hitz, M., and B. Montazeri 1996, Chidamber and Kemerer's Metrics Suite: A Measurement Theory Perspective, Correspondence in IEEE Transactions on Software Engineering, 22(4), 267-271.]] Google ScholarDigital Library
- Jensen, H. A. and K. Vairavan 1985, An Experimental Study of Software Metrics for Real-Time Software, IEEE Transactions on Software Engineering, 11(2), 231-234.]]Google ScholarDigital Library
- Kafura, D. and G. R. Reddy 1987, The Use of Software Complexity Metrics in Software Maintenance, IEEE Transactions on Software Engineering, 13(3), 335-343.]] Google ScholarDigital Library
- Karunanithi, S. and J. M. Bieman 1992, Candidate Reuse Metrics for Object-oriented and Ada Software, TR CS-92-142, Colorado State University.]]Google Scholar
- Kitchenham, B. A., S. L. Pfleeger, and N. Fenton 1997, Reply to: Comments on Toward a Framework for Software Measurement Validation, IEEE Transactions on Software Engineering, 23(8), 189-189.]] Google ScholarDigital Library
- Lake, A., & C. Cook 1992, A Software Complexity Metric for C++, TR 92-60-03, Computer Science Dept., Oregon State University, Corvallis, OR.]] Google ScholarDigital Library
- Lakshmanan, K. B., S. Jayaprakash, & P. K. Sinha 1991, Properties of Control-Flow Complexity Measures, IEEE Transactions on Software Engineering, 17(12), 1289-1295.]] Google ScholarDigital Library
- Li, Wei & S. Henry 1993, Object-Oriented Metrics that Predict Maintainability, J. Systems Software, Elsevier Science Publishing Co, 23, 111-122.]] Google ScholarDigital Library
- McCabe, T. J. 1976, A Complexity Measure, IEEE Transactions on Software Engineering, 2(4), 308-320.]] Google ScholarDigital Library
- Morasca, S., L. C. Briand, V. R. Vasili, E. J. Weyuker, & M. V. Zelkowitz 1997, Comments on Toward a Framework for Software Measurement Validation, IEEE Transactions on Software Engineering, 23(8), 187-188.]] Google ScholarDigital Library
- Myers, G. J. 1977, An Extension to the Cyclomatic Measure of Program Complexity, ACM SIGPLAN Notices, 12(10), 61-64.]] Google ScholarDigital Library
- Offutt, A. J., M. J. Harrold, & P. Kolte 1993, A Software Metric System for Module Coupling, J. Systems Software, Vol. 20, Elsevier Science Publishing Co. Inc., New York, NY, 295-308.]] Google ScholarDigital Library
- Ott, L. M., J. M. Bieman, B.-K. Kang, & B. Mehra 1995, Developing Measures of Class Cohesion for Object-Oriented Software, in Proc. Annual Oregon Workshop on Software Metrics (AOWSM '95), 1995.]]Google Scholar
- Poels, G. and G. Dedene 1997, Comments on Property-Based Software Engineering Measurement: Refining the Additivity Properties, IEEE Transactions on Software Engineering, 23(3), 190-195.]] Google ScholarDigital Library
- Salamon W. J. and D. R. Wallace 1994, Quality Characteristics and Metrics for Reusable Software (preliminary Report), US DoC for US DoD Ballistic Missile Defense Organization, NISTIR 5459.]]Google Scholar
- Schneidewind, N. F. 1992, Methodology for Validating Software metrics, IEEE Transactions on Software Engineering, 18(5), 410-422.]] Google ScholarDigital Library
- Schneidewind, N. F. 1993, Report on the IEEE Standard for a Software Quality Metrics Methodology, ACM Software Engineering Notes, 18(3), A95-A98.]]Google Scholar
- Sheetz, S. D., D. P. Tegarden, & D. E. Monarchi 1991, Measuring Object-Oriented System Complexity, Proc. 1st Workshop on information Technologies and Systems.]]Google Scholar
- Shen, V. Y., T-J Yu, S. M. Thebaut, & L. R. Paulsen 1985, Identifying Error-Prone Software-An Empirical Study, IEEE Transactions on Software Engineering, 11(4), 317-323.]] Google ScholarDigital Library
- Shepperd, M. 1988, A Critique of Cyclomatic Complexity as a Software Metric, Software Engineering Journal, 3(2), 30-36.]] Google ScholarDigital Library
- Shepperd, M. & D. C. Ince 1994, A Critique of Three Metrics, J. Systems Software, Volume 26, Elsevier Science Inc., NY, NY, 197-210.]]Google ScholarCross Ref
- Shooman, M. L. 1983, Software Engineering: Design Reliability and Management, McGraw Hill Inc., NY, NY.]] Google ScholarDigital Library
- Sommerville, I. 1996, Software Engineering, Sixth Edition, Addison-Wesley Publishing Company, Reading, Massachusetts.]] Google ScholarDigital Library
- SPSS Inc. 1997, SPSS 7.5 for Windows, Chicago, IL.]]Google Scholar
- Stark, G., R. C. Durst, & C. W. Vowell 1994, Using Metrics in Management Decision Making, IEEE Computer, Vol. 27, No. 9, 42-48.]] Google ScholarDigital Library
- Versaw, L. 1989, PC-METRIC - A Measuring Tool For Software, The C Users Journal, 8(1).]]Google Scholar
- Weyuker, E. J. 1988, Evaluating Software Complexity Measures, IEEE Transactions on Software Engineering, 14(9), 1357-1365.]] Google ScholarDigital Library
- Zuse, Horst 1990, Software Complexity: Measures and Methods, Walter de Gruyter publishers, Berlin, Germany.]] Google ScholarDigital Library
- Zuse, Horst 1993, Support of Experimentation by Measurement Theory, H. Rombach, V. Basili, and R. Selby, Editors, Experimental Software Engineering Issues, (Lecture Notes in Computer Science, Volume 706), Springer-Verlag, New York, NY, 137-140.]] Google ScholarDigital Library
- Zuse, Horst 1997, Reply to Property-Based Software Engineering Measurement, IEEE Transactions on Software Engineering, 23(8), 533-533.]] Google ScholarDigital Library
Index Terms
- A method for assessing the reusability of object-oriented code using a validated set of automated measurements
Recommendations
Object-oriented programming in TCL/TK
[incr Tcl], an object-oriented extension for Tcl, will be used to introduce object-oriented concepts into the Introduction to Computer Science course at the University of Northern Colorado. Tcl, an extensible, scripting language, and Tk, an extension to ...
[incr Widgets] an object oriented mega-widget set
TCLTK '98: Proceedings of the 3rd Annual USENIX Workshop on Tcl/Tk - Volume 3The introduction of [incr Tcl] and [incr Tk] allows an object oriented approach to Tk widget construction. "Megawidgets" developed in these extensions seamlessly expand the Tk base widget set. Each of these object-oriented widgets may themselves be ...
Comments