Object-Oriented Metrics an Annotated Bibliography

148 2 0
Object-Oriented Metrics an Annotated Bibliography

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 http://dec.bournemouth.ac.uk/ESERG/ 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, and 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 sets of or 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 not address the design phase of the software lifecycle Moreover, the issues pertinent to forward engineering 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 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 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 years ago) that Ada was 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 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 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 SpringerVerlag, 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 Keywords: Qual, Man, Des Abstract: A paper presenting the authors method for modelling OO design metrics in an object oriented manner The idea behind the work is the comparison of existing metric modelling methods to the waterfall lifecycle and it's associated problems The author postulates that existing metric models suffer from the same problems caused by a strict top-down methodology as does the waterfall model The solution presented is to define a method which includes reversibility and seamlessness From the authors view point the only way to achieve this is to adopt an object-oriented metric modelling method The cluster lifecycle model is used as the basis for defining a new metric model An overview is given of this proposed method and the tools which have been developed to support it The method also takes elements from GQM and the metric modelling method of Shepperd and Ince [32] Avotins, J and C Mingins 'Metrics for Object-Oriented Design', in Proc TOOLs 12 Melbourne: Prentice Hall, 1993 Keywords: Tool, Prod, Des Abstract: Quality is not an innate property of object-oriented design A solid set of techniques and methods is required to ensure quality Formal design theories and their associated metrics can be analysed to produce design principles, and fine tune the current a posteriori and posteriori design approaches An iterative fine tuning quality design policy, and an associated tool that supports this policy are also presented [33] Ayerbe, A and I Vazquez 'Software products quality improvement with a programming style guide and a measurement process', in Proc The Twenty-Second Annual International Computer Software and Applications Conference (Compsac '98) IEEE Comput Soc, Los Alamitos, CA, USA, 1998 Keywords: C++, Qual, Prod Abstract: Quality requirements of industrial software are very high and the correctness of the source code is of great importance for this purpose For this reason, the objective of QUALIMET (ESSI Project 23982) is to improve the software development process, introducing a set of style norms to be used when coding in C++, defining a set of metrics to be used on the source code in order to check its quality and testing this approach in a baseline project The paper presents the work that is being carried out under this project It is expected that at the end of QUALIMET, the incorporation of these quality assurance techniques into the current methodology for developing software, will allow to have a complete methodology that guarantees software product quality, minimising the complexity of the code earlier in the programming process, yielding more maintainable and less error-prone software and improving the quality of the software and the satisfaction of customers [34] Balasubramanian, N V 'Object-Oriented Metrics', in Proc Asia-Pacific Software Engineering Conference IEEE, 1996 Keywords: Prod Abstract: The paper introduces class complexity, cohesion ratio, and weighted method send out as improved/new metrics for object-oriented software The work of Chidamber and Kemerer (1991, 1994) is used as a comparison platform Illustrations are provided by solving a simple graphical problem using two design approaches They are also used to validate the model proposed Desirability of a composite complexity model is discussed and one possible approach is given Notes: Based on CK metrics plus additional measures Applied to two student programs but analysis of results not provided [35] Bandi, R K and V K Vaishnavi 'Validating object-oriented design complexity metrics', in Proc OTC '96 Object Technology Centers Comsoft, Collegedale, TN, USA, 1996 Keywords: Maint Abstract: Many organizations are introducing object oriented methods and languages into their software development practices A major motivation for organizations to move to OO technology is to reap the promised quality and productivity gains Software metrics have the potential for use in procedures to control software development process, thereby controlling costs and schedules as well as the quality of the software product As a result there is a great interest in metrics for object oriented systems Many metrics have been proposed, but very few of them have been validated This research focuses on the validation of these metrics with respect to maintainability of object oriented systems [36] Banker, R D., S M Datar, et al., 'A model to evaluate variables impacting the productivity of software maintenance projects', Management Science, 37(1), 1991 Keywords: Size, Maint, Emp [37] Banker, R D., R J Kauffman, et al., 'An empirical test of object-based output measurement metrics in a computer aided software engineering (CASE) environment', Journal of Management Information Systems, 8(3 Winter 1991-92), pp127-150, 1991 45 refs There is a welcome emphasis on the importance of cognitive issues Roberts' report on this workshop [Roberts, 1992] [491] Tegarden, D P., S D Sheetz, et al 'The effectiveness of traditional metrics for object-oriented systems', in Proc 25th Hawaii International Conference on System Sciences IEEE Computer Society Press, 1992 Keywords: Prod, Emp Abstract: "The ability to quantify the complexity of software is a necessary condition for the creation of acceptable measurement of software quality Traditional software metrics such as lines of code, software science, cyclomatic complexity are investigated as indicators or complexity of object-oriented systems This research reports the effects of polymorphism and inheritance on the complexity of object-oriented systems as measured by traditional metrics The results of this research indicate that traditional metrics are applicable to the measurement of the complexity of object-oriented systems" From the Conclusions: "Even though the order of magnitude of the traditional metrics may be suspect, the directionality seems to be correct The use of inheritance and/or polymorphism should decrease the complexity this is captured by the traditional metrics However, we believe additional metrics are required." Notes: Traditional software metrics such as lines of code, software science and cyclomatic complexity are investigated as possible indicators of complexity of object-oriented systems Traditional metrics are used to measure the effects of inheritance and polymorphism on OO systems The conclusion is that traditional metrics are applicable to the measurement of object-oriented software David Tegarden is at dtegarde@vtaix.cc.vt.edu [492] Tegarden, D P., S D Sheetz, et al., 'A Software Complexity Model of Object-Oriented Systems', Decision Support Systems, 13(3-4), pp241-262, 1995 Keywords: Des, Qual Abstract: A model for the emerging area of software complexity measurement of OO systems is requires for the integration of measures defined by various researchers and to provide a framework for continued investigation We present a model, based in the literature of OO systems and software complexity for structured systems The model defines the software complexity of OO systems at the variable, method, object and system levels At each level, measures are identified that account for the cohesion and coupling aspects of the system Users of OO techniques perceptions of complexity provide support for the levels and measures [493] Teologlou, G 'Measuring object-oriented software with predictive object points', in Proc 10th European Software Control & Metrics Conference Herstmonceux, England: Shaker Publishing, 1999 Keywords: Size, Man Abstract: Describes the use of Predictive Object Points as a means of predicting size and effort A small example is included [494] Teologlu, G 'Estimating the cost of object-oriented programming', in Proc 6th European Software Cost Measurement Conference (ESCOM) Rolduc, The Netherlands: 1995 Keywords: Size Notes: The ESCOM conferences are run by Adrian Cowderoy (ACowderoy@aol.com) [495] Thomas, D 'Object-orientation and software quality assurance', in Proc 8th Intl Conf on Software Engineering and its Applications Paris-La-Defense: 1995 Keywords: Qual Abstract: Proceedings available from the organisers: EC2, Paris-La-Defense Cedex, Jeanclaude.Rault@&utopia.fnet.fr [496] Thomson, N., R Johnson, et al 'Project estimation using an adaptation of function points and use cases for OO projects', in Proc Workshop on Pragmatic and Theoretical Directions in Object-Oriented Software Metrics, OOPSLA'94 1994 Keywords: Des, Ind, Size Abstract: "Project estimation is difficult on large projects and the degree of difficulty is increased when it involves a new software technology Two factors have stood out — estimation on satisfying individual requirements in a highly interdependent requirements and solution space plus estimation of project resources and milestones This paper explores the adaptation of function points, an effective metrics tool for estimation in the non-OO world, to OO, plus the application of Use Cases to simplify software integration and delivery planning for the GSF project at BNR" A good brief account of experiences, as well as a list of about 12 metrics used to assist in estimation Notes: Neil Thomson is happy to provide people with copies of the paper and can be contacted at neilt@bnr.ca See also [Bilow, 1995] [497] Thuy, N N 'Testability and unit tests in large object-oriented software', in Proc Quality Week '92 Conference 1992 Keywords: Test Notes: Quality Week is run by Software Research Inc who presumably also make available the proceedings: 625 Third Street, San Francisco, CA 94107-1997, USA [498] Ungar, D 'Position paper', in Proc OOPSLA'93 Workshop on Object-oriented Testing 1993 Keywords: C++, Emp, Test Abstract: Not necessarily available as a published paper, although the main OOPSAL'93 Proceedings were published by ACM/SIGPLAN ISBN: 201 58895 I understand Ungar examines error rates in C++ and Self code: findings suggest that OO code is as error-prone as other types (Ungar developed the Self compiler) [499] Unger, B and L Prechelt, The impact of inheritance depth on maintenance tasks Detailed description and evaluation of two experimental replications No TR18/1998, Karlsruhe University, 1998 Keywords: Emp, Maint, Java [500] Vaishnavi, V K and R K Bandi, 'Measuring Reuse', Object Magazine, 6(2), pp53-57, 1996 Keywords: Reuse Abstract: We present and illustrate a model (Framework Assisted GQM model) for measuring object oriented reuse based on the GQM model, which is widely used for a metrics program Measurement by itself without any clear objectives will not be of any benefit to anyone One cannot randomly choose any set of metrics and expect them to prove beneficial The selection of metrics to be used should be done carefully and in the context of the objectives that need to be achieved In other words, measurement must be tied to a broader set of goals that depend on the perspective of measurement Using the model, along with a high level framework that establishes perspective, we discuss goals from both the perspective of a supplier who develops reusable products and the consumer who uses reusable products in the development of products We illustrate the model`s use for selecting relevant metrics that can be tied back to the goals of measuring object oriented reuse [501] Ververs, F and C Pronk 'On the interaction between metrics and patterns', in Proc OOIS'95 Dublin City University: 1995 Keywords: Reuse Abstract: In the area of object-oriented technology two subjects have been researched recently: design patterns and metrics This paper discusses the influence the widespread use of design patterns will have on some well established metrics A cautious conclusion will be that several metrics will have to be reconsidered after design patterns are in common use [502] Ververs, F and P van Dalen 'Measuring for (re)design', in Proc Conference on Software Measurement and Management Int Function Point Users Grup, Westerville, OH, USA, 1996 Keywords: Emp, Qual Abstract: This paper discusses the application of many object-oriented metrics to a very large (700 Klines) Objective-C software archive The results give useful information for defining guidelines and coding rules Also a number of classes have been identified for redesign and/or recoding Moreover a lot of information has been collected which can be used in the near future where a growth of the code with 300% is expected An improved software process and better resulting code are necessary [503] Vessey, I and S A Conger, 'Requirements specification: learning object, process, and data methodologies', Commun ACM, 37(5), pp102-113, 1994 Keywords: Emp, Man Abstract: From the text: "We investigated the effectiveness of the process-, data-, and object-oriented methodologies in specifying information requirements This study investigated the following research questions: are novice systems analysts able to develop information requirements specifications more readily with certain methodologies than with others? Do novice analysts learn to use certain methodologies more readily than others?" "from the viewpoint of practitioners choosing methodologies, the results of this study suggest that object-oriented approaches may not be best for all problem solvers in all situations Information systems managers need to evaluate the claims made by devotees of object-oriented approaches very carefully." Notes: Iris Vessey is at Penn State Univ.: ivessey@big.bus.indiana.edu Sue Conger is at sconger@aol.com, fax: +1 214 931 9125 [504] Voas, J M 'Object-oriented software testability', in Proc 3rd International Conference on Achieving Quality in Software Chapman and Hall, London, 1996 Keywords: C++, Emp, Test Abstract: Describes an investigation into Voas' conjecture that OO can have a detrimental effect on systemlevel testability (in the sense of decreasing the probability of faults being exposed by testing) Statistically significant results were not obtained but some evidence is claimed in support of the conjecture (although, surprisingly, the figures suggest higher testability for a C++ implementation of a drawing package compared to a C implementation) The experimental results are hard to follow without a prior understanding of Voas' testability metrics (see Voas, J., "PIE: a dynamic failure-based technique", IEEE Trans on Software Eng 18 (8) 1992, 717-727) Notes: Jeffrey Voas is at jmvoas@RSTCorp.com ISBN 0-412-63900-9 [505] Walker, I J., 'Requirements of an object-oriented design method', Software Engineering Journal, 7(2), pp102-113, 1992 Keywords: Rev Abstract: Annotation from [Webster, 1994]: An important paper as it covers a lot of issues It sets out to see how OO some methods are and how good they are After reviewing Booch's topics for an object model and some interesting discussions of each it presents four criteria for a method: Abstraction; Notation and representational verisimilitude; Validation and Re-use It is not clear how these were arrived at A matrix is presented of criteria against methods (JSD, Alabiso, Pun & Winder, OOSD, HOOD, Booch, Rumbaugh) Booch and Rumbaugh well in the comparison The paper concludes: "In particular, an almost universal absence of clear, detailed, objective recommendations of criteria for assessing the 'goodness' of a particular design (metrics) is disturbing." [506] Walsh, J 'Preliminary defect data from the iterative development of a large C++ project', in Proc OOPSLA '92 Vancouver, Canada: 1992 Keywords: C++, Emp, Ind, Qual Abstract: From the text: "Preliminary results from the development of Rational Rose, a large (>100 KLOC) program written in C++, suggest that high product quality can be achieved during a telescoped development schedule through the use of an iterative-development methodology Data on defect density and discovery rate gathered on one phase of ROSE development implies a low error rate in code delivered for functional test and supports 80-20 defect clusterings, 80-20 distribution of non-critical versus critical defects, an association of defects detected during functional test with department in the subsystem hierarchy, and the utility of data on rates of defect discovery for C++ programs." Walsh reports a strong correlation between defect density and the order in which subsystems must be compiled and linked because of their dependencies on one another, expressed — in C++ — by include files See also [Roberts, 1992] Notes: Appears in SIGPLAN Notices, 27 (10) [507] Walsh, J., Software quality in an iterative object-oriented development paradigm Interal Report , Rational, 1993 Keywords: Man, Qual [508] Wang, C C., W C Pai, et al 'Using Z approach to object-oriented software testing and metrics for C++ inheritance hierarchies', in Proc 13th International Conference on Computers and Their Applications International Society for Computers and Their Applications -ISCA, Cary, NC, USA, 1998 Keywords: C++, Tool , Test Abstract: We propose a concept named unit repeated inheritance (URI) with the Z language to realize objectoriented testing and object-oriented metrics The approach describes an inheritance level technique (ILT) as a guide in order to detect the software errors of the inheritance hierarchy and measure the software complexity of the inheritance hierarchy The measurement of inheritance metrics and some testing criteria are formed based on the proposed mechanism Also, we use Lex and Yacc to construct a windowing tool which is used in conjunction with a conventional C++ programming environment to assist a programmer to analyze, test, and measure his/her C++ program [509] Wang, C C., T K Shih, et al 'An automatic approach to object-oriented software testing and metrics for C++ inheritance hierarchies', in Proc ICICS, 1997 International Conference on Information, Communications and Signal Processing IEEE, New York, NY, USA, 1997 Keywords: C++, Test, Tool Abstract: In this paper, we propose a concept named unit repeated inheritance (URI) to realize object-oriented testing and object-oriented metrics The approach describes an inheritance level technique (ILT) as a guide to detect the software errors of the inheritance hierarchy and measure the software complexity of the inheritance hierarchy The measurement of inheritance metrics and some testing criteria are formed based on the proposed mechanism Thus, we use Lex and Yacc to construct a windowing tool which is used in conjunction with a conventional C++ programming environment to assist a programmer to analyze, test, and measure his/her C++ programs [510] Wang, H Y., C M Chung, et al 'Object-oriented software quality through data scope complexity measurement', in Proc 1997 IEEE International Conference on Systems, Man, and Cybernetics Computational Cybernetics and Simulation IEEE, New York, NY, USA, 1997 Keywords: Prod Abstract: Software metrics is a necessary step for software reliability and quality, and software metrics of traditional procedure-oriented programming are fairly mature and have various methodologies and tools available for use Object-oriented programming has recently became popular However, traditional procedureoriented software metrics are not appropriate for the development of object-oriented software Some research into object-oriented software metrics has been proposed, but these articles focus on only one metric that measures a specific characteristic of the object-oriented software The authors propose a new metric methodology, the data scope complexity, for object-oriented software based on the data scope of a program The data scope complexity can show complexities of multiple features of object-oriented programming at the same time They also quantify and compare object-oriented programming with procedure-oriented programming [511] Webster, S., 'An annotated bibliography for object-oriented analysis and design', Information & Software Technology, 36(9), pp569-582, 1994 Keywords: Rev Abstract: Extensive bibliography on OO: 240 references of which 60 are annotated [512] Wei, L., Applying Software Maintaining Metrics in the Software Development Life Cycle Masters Thesis , MIT, 1992 Keywords: Maint, Emp, Prod Abstract: Annotation from C Gibbon This thesis is a more in-depth account of the paper presented by Wei and Henry on Maintenance Metrics Wei's research concentrated on ten metrics in the OO paradigm, five of which were Chidamber and Kemerer's to provide statistical validation using maintenance effort Two commercial system were used UIMS and QUES implemented in Classic Ada The paper stipulates that maintenance effort can be predicted using complexity metrics; metrics collected from the source code design documents can predict maintenance effort; and finally it highlights empirical observations of the maintenance efforts patterns in the two commercial systems [513] Wessale, W., D Reifer, et al., 'Large project experiences with object-oriented methods and reuse', J Systems and Software, 23(2), pp151-161, 1993 Keywords: C++, Ind, Reuse [514] West, M., An investigation of C++ metrics to improve C++ project estimation IBM internal paper , IBM, 1992 Keywords: Des, Ind, Size, Tool, C++, Emp Abstract: Martin West writes: "The paper includes some actual statistics from a number of class libraries The statistics are basic metrics like LOC per method, LOC per class, methods per class These were derived from an early version of CPPSTATS, an IBM Internal Metrics tool Also included are some project metrics taken periodically through the project and showing variations in the metrics during the life-cycle Notes: Martin West is at A_M_West@uk.ibm.com [515] West, M., A data interchange format for OO metrics data , IBM Hursley, UK, 1994 Keywords: Prod Abstract: Martin West writes: "A proposal for interchanging metrics data submitted to the Post-OOPSLA'95 OO Metrics Workshop workgroup The document in postscript format can be obtained from the author" Such a data interchange format is a good thing in view of the warning of Churcher and Shepperd [Churcher, 1995, "Towards a Conceptual Framework for Object Oriented Software Metrics"] [516] West, M., 'Taking the measure of metrics', Object Expert, 1(2), pp43-45, 1996 Keywords: prod Abstract: The article provides an introduction to object oriented (OO) metrics OO metrics are an essential part of the continuing advancement of object technology The "object" has provided additional measurement points at which the OO development cycle can be estimated and measured There is much interest and a growing amount of research being done in this area Metrics groups are being established and metrics is a recurring topic at OO conferences However, little empirical data has been published This may be for two reasons: there is not much data being gathered, and what has been gathered is seen as competitive advantage and is therefore closely guarded There are a number of ways to approach OO metrics, and the article divides the metrics into four categories: size, productivity, quality, and reuse Size and productivity are mainly concerned with project management The quality metrics deal with how good and how complete the various deliverables are in an OO project Reuse metrics cover both areas in that they are about productivity and quality Reuse metrics is the most deficient area in this field of OO metrics This is part of the reason why widespread large scale reuse is not being achieved Notes: Annotation from C Gibbon A short and concise paper outlining the four categories of OO metric: size; productivity; quality and reuse Each category is examined and a means to collects actual data in the goal of validating/calibrating them described [517] Whitmire, S A 'Measuring complexity on object-oriented software', in Proc 3rd International Conference on Applications of Software Measurement La Jolla, CA: 1992 Keywords: Prod Notes: The ASM conferences are organised by Software Quality Engineering, 3000-2 Hartley Road, Jacksonville, FL 32257, USA, tel: (904) 268 8639, fax: (904) 268 0733, contact: Bill Hetzel Alternatively, Scott A Whitmire can be contacted at: Advanced Systems Research, 25238 127th Avenue SE, Kent Washington 98031, USA, tel: (206)631-7868, fax:(206)630-2238, E-mail: scottw@advsysres.com [518] Whitmire, S A., Applying Function Points to Object-Oriented Software (chapter 13), in Software Engineering Productivity Handbook, J Keyes, Editor, 1993 Keywords: Size [519] Whitmire, S A., Object-Oriented Measurement of Software, in Encyclopedia of Software Engineering, J Marciniak, Editor, John Wiley and Sons Inc.: New York, 1994 Keywords: Des, Man, Rev Abstract: Scott Whitmire writes: "The title is incorrect, it should be "Measurement of Object-Oriented Software", but they changed it to make it fit in the encyclopedia format This short piece is a survey of the better works in the field as of last spring It's major contribution is a framework for measurement, within which design-level measures fit quite nicely It relates design-level measures with project-level and enterprise-level measures, and describes how they can be used." [520] Whitmire, S A 'A formal object model for measurement', in Proc OOPSLA'96 - workshop: OO product metrics 1996 Keywords: Theory [521] Whitmire, S A., Object-Oriented Design Measurement John Wiley & Sons: New York, 1997 Keywords: Rev, Theory Notes: The book cover states: "Based on a thorough study of measurement theory, category theory, and a strong mathematical foundation, Scott Whitmire presents his own formal model of objects a ground-breaking development for object-oriented design measurement Using this model, or any other formal model, you can create a custom metric for any design characteristic you can describe through careful observation This indispensable book guides you through the development process for nine unique design characteristics, including a controversial new quality of abstraction characteristic, which combines Sufficiency, Completeness, and Cohesion to help you determine the extent to which components include all the features required of your design With Object-Oriented Design Measurement, you'll get measures you can use right now to save time and money on software design, practical guidance through the process of creating your own measures, a culled history of metrics that pulls out the lessons learned for object technology, a mathematical basis for design simulation, a framework in which to place measures by audience, object of measurement, and purpose, and formal definitions and measures for design characteristics of object-oriented measures used in industry today, and new fashioned." [522] Whitty, R W 'Applying Process Maturity Assessment Data to Evaluate Research in Object-orient Software Metrics', in Proc Bournemouth Metrics Workshop Bournemouth, UK: 1996 Keywords: Man, Rev Abstract: "An analysis is presented, part bibliographic part hermeneutic, of the literature relating to process maturity, software measurement and object-oriented metrics research This analysis seems to suggest that there is a mismatch between what is of interest to object-oriented metrics researchers and what is of utility to users of object technology This mismatch may be summed up by observing that, for a random company, there is a less than 50% chance that a random paper on object-oriented metrics will be of use to that company." Notes: Can be obtained from the author at: robin.whitty@sbu.ac.uk [523] Whitty, R W., 'Object-oriented metrics: a status report', Object Expert, (January/February), pp39-44, 1996 Keywords: Rev Abstract: It is an article of faith that software systems engineering should be supported by measurement It has taken a long time, however, for software metrics researchers to assemble the concepts and techniques needed to provide such support It is only now that software metrics seems to be being taken seriously by industry, partly because of its key role in software process improvement This newly matured discipline could find one of its first customers in object technology; indeed, the volume of research in metrics for object orientation seems to indicate that this has already happened We report on the current status of object oriented (OO) metrics research and analyse what support is actually being made available for, say, OO cost estimation, making the switch to object orientation, or choosing between competing object technologies [524] Whitty, R W., 'Object-oriented metrics: an annotated bibliography', ACM SIGPLAN Notices, 31(4), pp45-75, 1996 Keywords: Rev Notes: This annotated bibliography is meant to offer an authoritative coverage of what is known about the measurement of object-oriented (OO) technology and its use `Measurement' is interpreted widely to include such matters as cost estimation, test management, surveys of the uptake of OO and industrial experience, provided these are to any extent quantitative Its meaning has not been extended to general rules of style or principles of design For instance, a study of cohesion as a desirable design property does not merit inclusion unless its actual measurement is involved; similarly articles on reuse and testing have not been included unless they are explicitly being measured in some way Articles on metrics for Ada have been excluded unless there is a specific OO context (abstract data types have been allowed in, however) I have also excluded papers on performance measurement (benchmarking of compilers, etc.), since this is not normally considered part of software metrics The bibliography entries are classified as follows: C++; empirical studies (including metric validation); industrial studies; management issues (including the case for OO); quality assurance and measurement (including ISO 9126 factors such as functionality, reliability, usability, efficiency, maintainability and portability); reuse and/or reusability measurement; product metrics (including complexity, coupling, etc.); sizing and estimation; Smalltalk; surveys (bibliographies, meeting reports, books etc.); and testing and/or testability measurement [525] Wilde, N and R Huitt, 'Maintenance support for object-oriented programs', IEEE Transactions on Software Engineering, 18(2), pp1038-1044, 1992 Keywords: C++, Ind, Small, Emp, Maint Abstract: Discusses maintenance problems associated with object technology: dynamic binding, objectdependencies, control of polymorphism etc Gives some data on method size from three systems, one C++ and Smalltalk They found median method size to be 1, and LOC respectively 50% of the methods were less than LOC for the C++, and less than for the Smalltalk Useful to read this in conjunction with the following paper: Lejter, M., Meyers, S and Reiss, S.P., "Support for maintaining object-oriented programs", same issue, 1045-1052, which looks in particular at inheritance and dynamic binding Notes: Norman Wilde is at University of West Florida, wilde@cs.uwf.edu, Ross Huitt is at Bellcore [526] Wilde, N., P Matthews, et al., 'Maintaining object-oriented software', IEEE Software, 10(1), pp75-80, 1993 Keywords: C++, Ind, Small, Emp, Maint Abstract: Gives some empirical results on inheritance depth and method size [527] Wilkie, F G and B Hylands, 'Measuring Complexity in C++ Software', Software Practice and Experience, 28(5), pp513-546, 1998 Keywords: C++, Prod, Emp Abstract: The paper concerns the use of design/source code complexity metrics in analysing C++ software It describes the use of one suite of object oriented metrics published by S.R Chidamber and C.F Kemerer (1994) to evaluate a commercial C++ application It provides an interpretation and critique of these metrics, including the use of two traditional metrics (Cyclomatic Complexity (T.J McCabe, 1976) and Software Science (M.H Halstead, 1977)) in association with these object oriented metrics The evolution, over a two and a half year period of one commercial grade C++ application comprising 114 classes with 25000 lines of code is studied The efforts consumed in bug fixes and enhancements are correlated with the complexity measures on a per class basis, and results are presented These results are compared to those from other workers The paper provides a detailed analysis of the practical strengths and weaknesses of the metrics suite in the light of experiences with its use [528] Williams, J D 'Metrics for object oriented projects', in Proc Object EXPO Europe SIGS Publications, New York, NY, USA, 1993 Keywords: Prod, Man Abstract: Metrics are a much used and much abused tool of software engineering Ostensibly, their purpose is to improve the quality of software In practice, they haven't always been effective The emphasis of the author is on practical metrics that help the developer track the progress of his project and analyze the quality of the system he is developing Object oriented metrics that move beyond the 'rule of thumb' method are relatively new Conventional software metrics are inadequate for analyzing object oriented systems New metrics, that measure the quality and object orientedness of systems, are being created by developers who need more information about the systems they develop This is also true for metrics that track the swirling ebb and flow of an object oriented project during development The author presents several metrics that have proven useful in analyzing object oriented systems and tracking system development [529] Williams, J D 'Metrics for object oriented projects', in Proc Software DevCon '94 SIGS Publications, New York, NY, USA, 1994 Keywords: Prod, Man Abstract: The paper presents several metrics that have proven useful in analyzing object oriented systems and tracking system development There are a set of practical metrics, that move beyond the rule of thumb approach for object oriented systems These metrics can help you manage and track project development They can help point out areas in the process that need improvement There are other object oriented metrics that help you understand how well you have made use of object oriented technology in your design and implementation These metrics were not developed to give managers something to report They were developed to improve the quality of software They are not an exhaustive set of metrics, but they have proven helpful in delivering quality software on time and under budget [530] Williams, J D 'Metrics for object-oriented projects', in Proc OOP'94 and C++ World SIGS Publications, 1994 Keywords: Prod, Man Abstract: Metrics are a much used and much abused tool of software engineering Ostensibly, their purpose is to improve the quality of software In practice, they haven't always been effective The emphasis of this paper is on practical metrics that help the developer track the progress of his project and analyze the quality of the system he is developing This is not an exhaustive treatise on object oriented metrics, but this paper goes farther than the current craft approach Object oriented metrics that move beyond the "rule of thumb" method are relatively new Many of the books on object oriented methodology not even mention them Conventional software metrics are inadequate for analyzing object oriented systems New metrics, that measure the quality and object orientedness of systems, are being created by developers who need more information about the systems they develop This is also true for metrics that track the swirling ebb and flow of an object oriented project during development This paper presents several metrics that have proven useful in analyzing object oriented systems and tracking system development [531] Wirfs-Brock, R., 'How designs differ', Report on Object Analysis and Design (ROAD), 1(4), pp51-53, 56, 1994 Keywords: Des, Emp, Prod Abstract: Annotation from C Gibbon A comparison to two methods of design upon the same problem domain is re-examined Originally conducted by Sharble and Cohen, this paper highlights the significance of the differences and similarities between the responsibility-driven and data-driven design approaches Chidamber and Kemerer design metrics are used to compare the final results Most notably, the responsibility-driven approach boasted a delegated control style, fewer messages and inherited behaviour, and the data-driven approach a centralized control architecture, more low level messages and inherited attributes [532] Wirfs-Brock, R., B Wilkerson, et al., Designing Object-Oriented Software Prentice-Hall: 1991 Keywords: Des Abstract: David Tegarden writes: "in Chapter 7, they talk about coupling between classes They not propose any metrics They only suggest that 'strongly interdependent classes may be connected by a frequently used collaboration ' " [533] Yamazaki, S., K Kajihara, et al., 'Object-oriented design of telecommunications software', IEEE Software, 10(January), pp81-87, 1993 Keywords: Des, Emp, Ind Abstract: "To evaluate the ROOD method, we designed some telecommunications software twice The 1st time was an experiment to check ROOD's suitability In the experiment, programming teams developed identical sections of the system, one using ROOD and the other using functional decomposition." The resulting code was compared for extendibility (ROOD scored 2.5 times higher no of modules needing change and 3.0 times higher no of bugs found in development); performance (ROOD scored 10% slower), size (ROOD scored 1.6 times larger) and no of modules (ROOD scored 3.6 times greater) These figures make ROOD seem worse on all counts - I think the extendibility figures have been printed the wrong way round [534] Yogeesh, K H and J G Smith, 'Experiences in C++ and object-oriented design', Journal of ObjectOriented Programming, 5(7), pp23-28, 1992 Keywords: C++, Ind, Qual Abstract: Discusses AT&T's Call Attempt Data Collection Services (CADCS) project: 200K LOC written in C++ and 'other' Data given includes 'staffing ramp up with OOD/C++ learning curve'; numbers of modification requests for two successive releases; and class use/reuse over the two releases Generally, the introduction of OOD/C++ was judged a success [535] Yousfi, N 'Measuring internal attributes of object-oriented software products', in Proc TOULOSE '92 Software Engineering and Its Applications EC2, Nanterre, France, 1992 Keywords: Prod Abstract: The best known way of ensuring that software products are built correctly is to apply methods which one way or another impose certain structural-type attributes Understanding the relative importance of internal attributes is thus one of the ways that exist in software engineering for understanding software failures due to incorrect development More importantly, this is the only way developers are able to make accurate predictions about the external 'quality' of the software without actually running it In many situations, such predictions have to be made even before an implementation version is made The author puts forward a set of such attributes for object-oriented software products [536] Zhuo, J., P Oman, et al 'Using relative complexity to allocate resources in gray-box testing of objectoriented code', in Proc Fourth International Software Metrics Symposium IEEE Comput Soc, Los Alamitos, CA, USA, 1997 Keywords: Test, Emp, C++ Abstract: Software testing costs would be reduced if managers and testing engineers could gauge which parts of a system were more complex and thus more likely to have faults Once these areas are identified, testing resources and testing priority could be assigned accordingly The paper defines a method that uses the relative complexity metric to allocate resources for gray box testing in an environment where object oriented code is used and historical data are not available The proposed method can also be applied to black box and white box testing as well as software quality assessments such as maintainability and reliability The work on an industrial C++ software subsystem presented here shows that the rank order of minor test areas of the subsystem by relative test complexity is significantly similar to the rank order obtained from the experts who designed, wrote and tested the code [537] Zhuo, J., R Pichai, et al 'On the validation of relative test complexity for object-oriented code', in Proc Fifth International Software Metrics Symposium IEEE Comput Soc, Los Alamitos, CA, USA, 1998 Keywords: Test, C++, Emp Abstract: In order to help software managers and engineers allocate test resources in object-oriented software development, the Relative Test Complexity (RTC) metric was proposed and applied to an industrial system developed in C++ The initial validation by an engineering quality circle supported the validity of the RTC metric In this paper, the RTC metric is further validated using actual fault data It is shown that the RTC metric is a better surrogate of faults than Relative Complexity (RC), Harrison's Macro-Micro Complexity (MMC), McCabe's cyclomatic complexity (V(g)), Halstead's effort (E), and simple measures of size like LOC Finally, the RTC and RC models are applied to change data with results that indicate that the RTC and RC metrics can be used to predict source code turmoil [538] Zuse, H., Foundations of the validation of object-oriented software measures, in Theorie und Praxis der Softwaremessung, H Zuse and D Reiner, Editors, DUV Deutsche Universitätsverlag: 1994 Keywords: Size, theory Abstract: Application of Zuse's measurement theory techniques to the OO domain In particular, it is argued on theoretical grounds that the basic COCOMO model cannot be used in this domain Notes: These techniques are not for the faint-hearted: the reader is recommended to look first at Horst's book Software Complexity: Measures and Methods, De Gruyter, Berlin, 1991 A gentle introduction to measurement theory in an OO rather than a software metrics context, is Kristen 1994 [539] Zuse, H 'Foundations of object-oriented software measures', in Proc 3rd International Software Metrics Symposium IEEE Comput Soc Press, Los Alamitos, CA, USA, 1996 Keywords: Theory Abstract: The foundations of the properties of object-oriented software measures are presented The criteria for these measures are characterized with several binary operations between objects, classes, methods, etc Binary operations can be used as a tool to give numbers an interpretation above the ordinal scale level The result of our investigation is that software measures for object-oriented programs mostly not assume an extensive structure In order to obtain qualitative criteria for object-oriented measures, the Dempster-Shafer belief function, the Kolmogoroff axioms and the DeFinetti axioms are introduced These axioms give qualitative criteria for the use of object-oriented software measures between the weak order and the extensive structure [540] Zuse, H and T Fetcke 'Properties of Object-Oriented Software Measures', in Proc 7th Annual Oregon Workshop on Software Metrics Silver Falls, Oregon: 1995 Keywords: Theory Abstract: In this paper foundations of the properties of object-oriented software measures are presented The criteria for the properties of object-oriented software measures are characterized with several concatenation operations between objects, classes, methods etc Concatenation operations can be used as a tool to give numbers an interpretation above the ordinal scale level The result of this investigation is that software measures for object-oriented techniques have completely other properties than measures for imperative languages It is shown that many of the measures in the object-oriented programming area follow the Dempster-Shafer Measure of Belief in Artificial Intelligence The consequences of these properties of objectoriented measures related to prediction models and validation are also discussed [541] Zweben, S H., S E Edwards, et al., 'The effects of layering and encapsulation on software development cost and quality', IEEE Trans on Software Eng., 21(3), pp200-208, 1995 Keywords: Des, Emp, Qual Abstract: Reports on three experiments using students The language concerned was Ada and the study is more to with abstract data types than OO From the conclusion: "The results of our experiments support the contention that, by using only a description of the functionality of and interfaces to existing components, new components can be developed with less effort than that required if the source code and representation data structures of the existing components are also used In addition, it appears from our experiments that there certainly is no loss in the quality of the development process, at least in terms of the number of defects made during development, when the layering approach is used." These results may be compared with those of [Mitchell, 1987] The paper is also concerned to emphasise the importance of a careful statistical approach, as exemplified by this observation from the Discussion: " had the analysis of the defect data for the experiment not corrected for overdispersion, it would falsely have concluded that there was a significant effect favoring layering." Notes: Stuart Zweben is at zweben@cis.ohio-state.edu, Stephen Edwards is at edwards@cis.ohio-state.edu, Bruce Weide is at weide@cis.ohio-state.edu, Joseph Hollingsworth is jholly@ius.indiana.edu ... domain and requirements analysis" and from its citation in the OO FAQ metrics entry: "contains an elaborate bibliography and section on OO metrics" [51] Berard, E V., 1996 Metrics for object-oriented. .. programming language Based on empirical and quantitative analysis, the advantages and drawbacks of these OO metrics are discussed Several of Chidamber and Kemerer's OO metrics appear to be useful to predict... correlation between the FPs and size [102] Campanai, M and P Nesi 'Supporting object-oriented design with metrics' , in Proc Technology of Object-Oriented Languages and Systems, TOOLS 13 Prentice

Ngày đăng: 20/10/2022, 02:09

Tài liệu cùng người dùng

Tài liệu liên quan