Object-Oriented Metrics: an Annotated Bibliography

Download 0.86 Mb.
Date conversion16.06.2017
Size0.86 Mb.
  1   2   3   4   5   6   7   8   9   ...   18
Object-Oriented Metrics: an Annotated Bibliography

Empirical Software Engineering Research Group

Department of Computing

Bournemouth University

Poole BH12 5BB, UK

Email: mshepper@bournemouth.ac.uk


This updated bibliography is copyright of Bournemouth University. The bibliography may be copied and distributed freely for non-profit making purposes, provided this copyright is acknowledged and this copyright notice is attached to any copies made.

[1] Aarsten, A. and M. Morisio. 'Using object oriented technology to measure the software process', in Proc. Proc. 3rd IFIP Int. Conf. on Achieving Quality in Software. Firenze, Italy: 1996.

Keywords: Man, Qual

Abstract: "This paper reports on how object-oriented concepts and technology have been applied to measure a software process in the ESSI AEFTA (Application Enabler Technology for Factory Automation) application experiment. Measurement is considered as a full scale project consisting of 1) modelling the software process, 2) defining goals for the project, 3) formalizing goals in process measures defined on the process model, 4) designing the technological support for measures (procedures and tools, repository), 5) implementing the technological support, 6) implementing the measurement process, 7) assessing the measurement process, modifying it, if needed. The object-oriented approach has been applied in 1, 4 and 5. The process model is defined using OMT; process measures are defined using a query language to express queries on OMT object models; the repository for measures is obtained by automatic translation of the OMT process model into a set of persistent C++ classes; process measures are manually translated in C++ functions members of the persistent classes. The advantages of applying the OO approach are discussed: sharing of tools, training, know-how and mindset with the rest of the project; ease in changing measures to adapt to changes in the process, thus possibility of applying an evolutionary incremental lifecycle to the measurement process; lower effort in the implementation of the technological support for measurement."

Notes: Maurizio Morisio is at morisio@polito.it. See also [Morisio, 1995, "A methodology to measure the software process"]

[2] Abbott, D. H., T. D. Korson, et al., A proposed design complexity measure for object-oriented development. No. TR 94-105, Clemson University, 1994.

Keywords: Prod, Des, Emp
Abstract: See also Ojha and McGregor, 1994. The measurement of software complexity has been a key interest of software engineers for many years. However, design metrics for the object-oriented paradigm have been little studied. We propose a metric for measuring the number and strength of the object interactions permitted by an object-oriented design and show that this metric is useful for predicting experts' design preferences. The metric is derived from the design information captured in class definitions and hence can be calculated relatively early in the development life-cycle and calculated objectively. The conceptual model of complexity that supports the metric distinguishes two types of complexity applicable to class definitions - interaction level and interface size - and the derivation of the metric shows how these two measures relate to the proposed metric. To validate the metric, we prepared/located 9 sets of 2 or 3 design alternatives and subjected these to evaluation by both the proposed metric and a collection of object-oriented design experts. We found that the experts' preferred alternatives and the alternatives preferred by the metric agreed in 16 of 20 cases, thereby providing evidence of the predictive power of the metric.

Notes: The TR is available by anon ftp: ftp://ftp.cs.clemson.edu/techreports/94-105.ps.Z.

[3] Abernethy, K. and J. C. Kelly. 'Comparing object-oriented and data flow models-a case study', in Proc. 1992 ACM Computer Science Conference. ACM, New York, NY, USA, 1992.

Keywords: Des, Emp, Prod
Abstract: Object-oriented analysis is the newest component of a proposed object-oriented software life cycle methodology. In this paper, we make comparisons between the standard data flow diagram (DFD) models and the newly introduced object models within the context of an existing moderately complex (approx. 65,000 lines) software project. In particular, we compare the complexities of competing models for the project domain using some simple metrics.

[4] Abreu, F. B. 'Metrics for Object-Oriented Development', in Proc. Proc. 3rd International Conference on Software Quality. Lake Tahoe, Nevada, USA: 1993.

Keywords: Prod, Theory
Abstract: There is an increasing need for metrics adapted to the Object-Oriented (OO) paradigm to help manage and foster quality in software development. This paper reviews the usefulness of metrics, discusses some inadequacies of "traditional" metrics to encompass development under the OO paradigm and proposes a framework for classifying OO metrics. In this framework, metrics are classified along two independent vectors: category and granularity. The rationale behind each category is presented. Candidate metrics are suggested within the referred framework. Finally, some research directions that require further effort are identified.

[5] Abreu, F. B. 'MOOD - Metrics for Object-Oriented Design', in Proc. OOPSLA'94 Workshop Paper Presentation. 1994.

Keywords: Prod, Des, Theory
Abstract: Annotation from C. Gibbon.

Unfortunately, a little too sparse owing to the restrictions on the OOPSLA'94 Workshop. He releases the need for external and internal attributes. Presents copious mathematical notations to encompass metrics pertaining to encapsulation, polymorphism, information hiding, message passing, inheritance and reuse. Furthermore, the paper lists a set of criterion which design metrics should fulfil.

[6] Abreu, F. B. 'Object-oriented software engineering: measuring and controlling the development process', in Proc. 4th International Conference on Software Quality. Washington DC: American Society of Quality Control, 1994.

Keywords: Prod, Des, Reuse, Qual, Man
Abstract: A set of metrics measuring inheritance, encapsulation, information hiding and polymorphism. These are envisaged as aids to setting design standards, making comparisons and to the management of projects.

[7] Abreu, F. B., 'Design Quality Metrics for Object-Oriented Software Systems', ERCIM News, (23), 1995.

Keywords: Des, Prod
Notes: Also available from http://www-ercim.inria.fr/publication/Ercim_News/enw23/abreu.html

[8] Abreu, F. B. and R. Carapuca, 'Candidate Metrics for Object-Oriented Software within a Taxonomy Framework', J. of Systems & Software, 26, pp87-96, 1994.

Keywords: Des, Rev
Abstract: This article offers an overview of the state of the art in object-oriented (OO) metrics as well as some new contributions. The usefulness of metrics is reviewed. The inappropriateness of "traditional" metrics to encompass development under the OO paradigm is discussed. A framework for classifying metrics is suggested. Metrics are classified along two vectors: category and granularity. The usefulness and rationale behind each category are presented. Candidate metrics are suggested within the proposed framework. Finally, some research directions that require further effort are identified.

Notes: Introduces the TAPROOT framework (TAxonomy PRecis for Object-Oriented meTrics) which has two axes, category and granularity. The categories are: design; size; complexity; reuse; productivity; and quality. The granularities are: method; class; and system. They show how all (?) of the OO metrics proposed so far fit into this framework, where there are no examples they propose some.

[9] Abreu, F. B., R. Esteves, et al. 'The design of Eiffel programs: quantitative evaluation using the MOOD metrics', in Proc. TOOLS'96. Santa Barbara, California, USA: 1996.

Keywords: Des, Prod, Emp

[10] Abreu, F. B., R. Esteves, et al., The design of Eiffel programs: quantitative evaluation using the MOOD metrics. Technical Report , INESC, 1995.

Keywords: Emp, Des, Prod
Abstract: Gives details on how the MOOD metrics may be implemented for Eiffel. An extensive empirical examination of the metrics is made in order to determine their expected ranges of values, the extent to which they are size-independent etc.

[11] Abreu, F. B., M. Goulao, et al. 'Toward design quality evaluation of object-oriented software systems', in Proc. 5th International conference on software quality. Austin, Texas, USA: 1995.

Keywords: Des, Qual

[12] Abreu, F. B. and W. Melo. 'Evaluating the impact of object-oriented design on software quality', in Proc. 3rd International Software Metrics symposium. Berlin, Germany: IEEE Computer Society Press, 1996.

Keywords: Qual, Des, Emp, C++

Abstract: Describes the results of a study where the impact of object-oriented (OO) design on software quality characteristics is experimentally evaluated. A suite of Metrics for OO Design (MOOD) was adopted to measure the use of OO design mechanisms. Data collected on the development of eight small-sized information management systems based on identical requirements were used to assess the referred impact. Data obtained in this experiment show how OO design mechanisms such as inheritance, polymorphism, information hiding and coupling, can influence quality characteristics like reliability or maintainability. Some predictive models based on OO design metrics are also presented.

[13] Achee, B. L. and D. L. Carver. 'Evaluating the quality of reverse engineered object-oriented designs', in Proc. 1997 IEEE Aerospace Conference. Proceedings. IEEE, New York, USA, 1997.

Keywords: Des, Qual
Abstract: Software quality is a multifaceted concept that can be described from different perspectives. Five perspectives are the transcendental view, user view, manufacturing view, product view, and value-based view. The definition of software quality is based upon the perspective taken. However, these views do not address the design phase of the software lifecycle. Moreover, the issues pertinent to forward engineering do not necessarily parallel those pertinent to reverse engineering. The quality of a forward engineered design can be discussed in several contexts, such as how well the design represents the requirements specification or the evaluation of the design using a given set of metrics. In reverse engineering, however, this is not the case. The issues involved in evaluating the quality of an object-oriented design extracted from an imperative language differ from those involved in evaluating a forward engineered object-oriented design. This paper discusses the shortcomings of measuring the quality of a reverse engineered object-oriented design using current models based on forward engineering, and offers insights to a plausible solution.

[14] Ada, Ada and C++: a business case analysis. No. 1-800-AdaIC-11, Ada Information Clearinghouse, 1991.

Keywords: C++, Emp, Man

Abstract: Report on 5 independent studies carried out for the US Air Force to determine whether there might sometimes be a case for waiving the requirement for contractors to work in Ada in favour of C++. Rather than trying to identify whether there are specific circumstances which might make C++ the better choice, the studies do an overall comparison of data on costs, error rates, language facilities etc. The conclusion is that Ada is a more mature language than C++, is better supported and leads to more reliable and maintainable products. This is one of the few sources of comparison data which I have seen, but it is a bit dated now: for instance, the TRW substudy estimated (more than 3 years ago) that Ada was 3 years behind Ada in maturity and tool support.

Notes: A very useful summary, extracted from a press conference given by Lloyd Mosemann II of the US Air Force, was posted to the Ada Joint Program Office bulletin board. I saw this on the ami Electronic Discussion Group and can mail people a copy. The report itself can be ordered from Ada Information Clearinghouse, PO Box 46593, Washington DC 20050-6593, Tel: 703 685 1477, Fax: 703 685 7019, E-mail: adainfo@ajpo.sei.cmu.edu

[15] Adams, S. 'OO metrics to investigate', in Proc. OOPSLA'92 Workshop: Metrics for Object-Oriented Software Development. Vancouver, Canada: 1992.

Keywords: Prod
Notes: See Roberts' report on this workshop [Roberts 1992].

[16] Agresti, W. W. and W. M. Evanco, 'Projecting software defects from analysing Ada designs', IEEE Transactions on Software Engineering, 18(11), pp988-997, 1992.

Keywords: Emp, Des

[17] Alagic, S. 'Polymorphic and Reflective Type Structures', in Proc. Technology of Object-Oriented Languages and Systems (TOOLS 8). Santa Barbara, USA: Prentice Hall, 1992.

Keywords: Theory, Rev
Abstract: A tutorial introduction to some difficult work in type theory. Presenting a model of polymorphism for subtypes, parametric types and higher order types (kinds).

[18] Al-Janabi, A. and E. Aspinall, 'An evaluation of software design using the DEMETER tool', Software Engineering Journal, 8(6), pp319-324, 1993.

Keywords: Tool, Emp, Prod, Des

Notes: A study of 3 small (1.2-5KLOC) systems found that various measures of coupling were able to "explain" just under 60% of code quality in terms of average no. of decisions.

[19] Alkadi, G. and D. L. Carver. 'Application of metrics to object-oriented designs', in Proc. 1998 IEEE Aerospace Conference Proceedings. IEEE, New York, NY, USA, 1998.

Keywords: Des, Prod, Emp, Tool
Abstract: The benefits of object-oriented software development are now widely recognized. However, methodologies that are used for the object-oriented software development process are still in their infancy. There is a lack of methods available to assess the quality of the various components that are derived during the development process. In this paper, we describe a method to assess the quality of object-oriented designs. We utilize a basic set of object-oriented metrics that is proposed by Shyam Chidamber et al. (1991 and 19994). We perform experimental tests on a set of object-oriented designs using the NOC metric. Also, we refer to our ongoing work to provide automated assistance to help restructure the design based on the metric findings.

[20] Alonso, F., J. L. Fuertes, et al. 'A quality model: how to improve the object-oriented software process', in Proc. SMC'98 (1998 IEEE International Conference on Systems, Man, and Cybernetics). IEEE, New York, NY, USA, 1998.

Keywords: Qual

Abstract: We have established a quality model for the object oriented paradigm. Quality is divided into factors and these into criteria. We have designed 350 measures, bearing in mind a particular attribute of the object orientation, and have been connected to the criteria to set up the model. We outline a new methodology for applying this model to improve the object oriented software process by establishing a set of steps to be applied in the phases of object oriented development.

[21] Aman, M., T. Yanaru, et al., 'A metric for class structural complexity focusing on relationships among class members', IEICE-Transactions-on-Information-and-Systems., E81-D(12), pp1364-1373, 1998.

Keywords: Prod, Theory
Abstract: We represent a class structure using a directed graph in which each node corresponds to each member of the class. To quantify the dependence relationship among members, we define weighted closure. Using this quantified relationship and effort equation proposed by M.H. Halstead (1977), we propose a metric for class structural complexity.

[22] Ammann, M. H. and R. D. Cameron. 'Measuring program structure with inter-module metrics', in Proc. Eighteenth Annual International Computer Software and Applications Conference (COMPSAC 94). IEEE Comput. Soc. Press, Los Alamitos, CA, USA, 1994.

Keywords: Qual, Tool, Prod
Abstract: A good structure is an important quality aspect of a program. Well-structured, modular programs are less costly to maintain than unstructured monolithic ones. Quantitatively assessing structure and modularity of programs can be useful to help ensure that a program is well-structured by indicating a potential need for restructuring of poorly structured code. However, previous structure metrics do not sufficiently account for the modular features used in modern, object-oriented programming languages. We propose four novel measures to assess the modular structure of a software project. Our measures are based on the principle of vocabulary hiding and measure a form of cohesion. A metrics prototype tool has been implemented for the Modula-3 programming language. Informal tests suggest that they are indeed useful to assess the quality of the program structure.

[23] Anderson, B., Architecture and maintenance in object technology. Unpublished report , Electronic Systems Engineering, University of Essex, UK, 1994.

Keywords: Des, Maint

Abstract: In order to explore the impact of different architectures on software maintenance, we took the following approach: write two versions of the same application with differing architectures; implement the same specific changes to both versions; measure the cost of making each change using simple metrics; and compare the costs of each change between architectures, and also within the same architecture. For our example we chose a simple banking application which must operate on a number of different kinds of account.

[24] Andrade, R. and G. H. Travassos. 'Principles, guidelines and metrics: their relationship and application to reduce structural complexity of object oriented design', in Proc. European Software Measurement Conference. FESMA 98. Technologisch Instituut Vzw, Antwerpen, Germany, 1998.

Keywords: Prod, Qual
Abstract: The tendency of software complexity is to increase for each new software product developed. When software seems highly complex an associated problem is to guarantee the quality of the products throughout the software development process. There are several studies related to reducing OO software complexity, such as principles and guidelines, while a great deal of metrics to control OO software quality have been proposed. However, the relation between OO software complexity reduction techniques and metrics are still not well explored. This relation can help in design decisions that follow metrics application tasks. This work presents a summary of a research about the simultaneous application of metrics for OO design quality and techniques to reduce OO software complexity.

[25] Antoniol, G., F. Calzolari, et al. 'Adapting function points to object oriented information systems', in Proc. Advanced Information Systems Engineering. 10th International Conference, CAiSE'98. Springer-Verlag, Berlin, Germany, 1998.

Keywords: Size, Tool, Prod

Abstract: The object oriented paradigm has become widely used to develop large information systems. This paper presents a method for estimating the size and effort of developing object oriented software. The approach is analogous to function points, and it is based on counting rules that pick up the elements in a static object model and combine them in order to produce a composite measure. Rules are proposed for counting "Object Oriented Function Points" from an object model, and several questions are identified for empirical research. A key aspect of this method is its flexibility. An organization can experiment with different counting policies, to find the most accurate predictors of size, effort, etc. In its environment. "Object Oriented Function Points" counting has been implemented in a Java tool, and results on size estimation obtained from a pilot project with an industrial partner are encouraging.

[26] Antoniol, G., R. Fiutem, et al. 'Using metrics to identify design patterns in object-oriented software', in Proc. Proceedings Fifth International Software Metrics Symposium. IEEE Comput. Soc, Los Alamitos, CA, USA, 1998.

Keywords: Prod, Des, Emp, Tool
Abstract: Object-oriented design patterns are an emergent technology: they are reusable micro-architectures, high level building blocks. This paper presents a conservative approach, based on a multi-stage reduction strategy using OO software metrics and structural properties to extract structural design patterns from OO design or code. Code and design are mapped into an intermediate representation, called Abstract Object Language, to maintain independence from the programming language and the adopted CASE tools. To assess the effectiveness of the pattern recovery process a portable environment written in Java, remotely accessible by means of any Web browser, has been developed. Based on this environment, experimental results obtained on public domain and industrial software are discussed in the paper.

[27] Archer, C., Measuring object-oriented software products. Tech. report No. SEI-CM-028, Software Engineering Institute, Carnegie Melon University, 1995.

Keywords: Rev, Man
Abstract: "This module provides an overview of the merging of a paradigm and a process, the object-oriented paradigm and the software measurement process. The concept of a measure and the process of measurement are discussed briefly, followed by a presentation of the issues raised by object-oriented software development."
Notes: Length 81 pages. Reports from the SEI are available from Research Access Inc., Fax. +1 412 321 2994. E-mail: requests@rai.com. Web: http://www.rai.com/.

[28] Archer, C. and M. Stinson, Object-oriented software measures. Tech. report No. SEI-95-TR-002, Software Engineering Institute, Carnegie Melon University, 1995.

Keywords: Rev

Abstract: "This paper provides an overview of the merging of a paradigm and a process, the object-oriented paradigm and the software measurement process. A taxonomy of object-oriented software measures is created, and existing object-oriented software measures are enumerated, evaluated, and placed in taxa. This report includes an extensive bibliography of the current object-oriented measures that apply to the design and implementation phases of a software project. Examples of computation of representative measures are included."

Notes: Length 67 pages. See [Archer 1995] on availability.

[29] Armour, F., B. Catherwood, et al. 'Experiences Measuring Object Oriented System Size with Use Cases', in Proc. ESCOM. Wilmslow, UK: 1996.

Keywords: Ind, Size

[30] Arnold, M. and P. Pedross. 'Software size measurement and productivity rating in a large-scale software development department', in Proc. Proceedings of the 1998 International Conference on Software Engineering. IEEE Comput. Soc, Los Alamitos, CA, USA, 1998.

Keywords: Des, Size, Emp, Ind

Abstract: Some current object-oriented analysis methods provide use cases. Scenarios or similar concepts to describe functional requirements for software systems. The authors introduced the use case point method to measure the size of large-scale software systems based on such requirements specifications. With the measured size and the measured effort the real productivity can be calculated in terms of delivered functionality. In the status report they summarize the experiences made with size metrics and productivity rates at a major Swiss banking institute. They analyzed the quality of requirements documents and the measured use case points in order to test and calibrate the use case point method. Experiences are based on empirical data of a productivity benchmark of 23 measured projects (quantitative analysis), 64 evaluated questionnaires of project members and 11 post benchmark interviews held with selected project managers (qualitative analysis).

[31] Avotins, J. 'Towards an object-oriented metric modeling method', in Proc. OOPSLA'96 - workshop: OO product metrics. 1996.

  1   2   3   4   5   6   7   8   9   ...   18

The database is protected by copyright ©hestories.info 2017
send message

    Main page