5,167 research outputs found

    DISTANCE: a framework for software measure construction.

    Get PDF
    In this paper we present a framework for software measurement that is specifically suited to satisfy the measurement needs of empirical software engineering research. The framework offers an approach to measurement that builds upon the easily imagined, detected and visualised concepts of similarity and dissimilarity between software entities. These concepts are used both to model the software attributes of interest and to define the corresponding software measures. Central to the framework is a process model that embeds constructive procedures for attribute modelling and measure construction into a goal-oriented approach to empirical software engineering studies. The underlying measurement theoretic principles of our approach ensure the construct validity of the resulting measures. The approach was tested on a popular suite of object-oriented design measures. We further show that our measure construction method compares favourably to related work.Software;

    Mutation-aware fault prediction

    Get PDF
    We introduce mutation-aware fault prediction, which leverages additional guidance from metrics constructed in terms of mutants and the test cases that cover and detect them. We report the results of 12 sets of experiments, applying 4 di↵erent predictive modelling techniques to 3 large real world systems (both open and closed source). The results show that our proposal can significantly (p 0.05) improve fault prediction performance. Moreover, mutation based metrics lie in the top 5% most frequently relied upon fault predictors in 10 of the 12 sets of experiments, and provide the majority of the top ten fault predictors in 9 of the 12 sets of experiments.http://www0.cs.ucl.ac.uk/staff/F.Sarro/resource/papers/ISSTA2016-Bowesetal.pd

    Towards the re-usability of software metric definitions at the meta level

    Get PDF
    A large number of metrics for evaluating the quality of software have been proposed in the literature. However, there is no standard terminology or formalism for defining metrics and consequently many of the metrics proposed have some ambiguity in their definitions. This hampers the empirical validation of these metrics. To address this problem, we generalise an existing approach to defining metrics that is based on the Object Constraint Language and the Unified Modelling Language metamodel. We have developed a prototype tool called DMML (Defining Metrics at the Meta Level) that supports this approach and we present details of this tool. To illustrate the approach, we present formal definitions for the Chidamber and Kemerer metrics suite

    Towards the re-usability of software metric definitions at the meta level

    Get PDF
    A large number of metrics for evaluating the quality of software have been proposed in the literature. However, there is no standard terminology or formalism for defining metrics and consequently many of the metrics proposed have some ambiguity in their definitions. This hampers the empirical validation of these metrics. To address this problem, we generalise an existing approach to defining metrics that is based on the Object Constraint Language and the Unified Modelling Language metamodel. We have developed a prototype tool called DMML (Defining Metrics at the Meta Level) that supports this approach and we present details of this tool. To illustrate the approach, we present formal definitions for the Chidamber and Kemerer metrics suite

    A survey on software coupling relations and tools

    Full text link
    Context Coupling relations reflect the dependencies between software entities and can be used to assess the quality of a program. For this reason, a vast amount of them has been developed, together with tools to compute their related metrics. However, this makes the coupling measures suitable for a given application challenging to find. Goals The first objective of this work is to provide a classification of the different kinds of coupling relations, together with the metrics to measure them. The second consists in presenting an overview of the tools proposed until now by the software engineering academic community to extract these metrics. Method This work constitutes a systematic literature review in software engineering. To retrieve the referenced publications, publicly available scientific research databases were used. These sources were queried using keywords inherent to software coupling. We included publications from the period 2002 to 2017 and highly cited earlier publications. A snowballing technique was used to retrieve further related material. Results Four groups of coupling relations were found: structural, dynamic, semantic and logical. A fifth set of coupling relations includes approaches too recent to be considered an independent group and measures developed for specific environments. The investigation also retrieved tools that extract the metrics belonging to each coupling group. Conclusion This study shows the directions followed by the research on software coupling: e.g., developing metrics for specific environments. Concerning the metric tools, three trends have emerged in recent years: use of visualization techniques, extensibility and scalability. Finally, some coupling metrics applications were presented (e.g., code smell detection), indicating possible future research directions. Public preprint [https://doi.org/10.5281/zenodo.2002001]

    A Definition of the Chidamber and Kemerer Metrics suite for UML. Technical Report NUIM-CS-TR-2006-03

    Get PDF
    Since there is no standard formalism for defining software metrics, many of the measures that exist have some ambiguity in their definitions which hinders their comparison and implementation. We address this problem by presenting an approach for defining software metrics. This approach is based on expressing the measures as Object Constraint Language queries over a language metamodel. To illustrate the approach, we specify how the Chidamber and Kemerer metrics suite can be measured from Unified Modelling Language class diagrams by presenting formal definitions for these metrics using the Unified Modelling Language 2.0 metamodel

    The Automated analysis of object-oriented designs

    Get PDF
    This thesis concerns the use of software measures to assess the quality of object-oriented designs. It examines the ways in which design assessment can be assisted by measurement and the areas in which it can't. Other work in software measurement looks at defining and validating measures,or building prediction systems. This work is distinctive in that it examines the use of measures to help improve design quality during design time. To evaluate a design based on measurement results requires a means of relating measurement values to particular design problems or quality levels. Design heuristics were used to make this connection between measurement and quality. A survey was carried out to find suggestions for guidelines, rules and heuristics from the 00 design literature. This survey resulted in a catalogue of 288 suggestions for 00 design heuristics. The catalogue was structured around the 00 constructs to which the heuristics relate, and includes information on various heuristic attributes. This scheme is intended to allow suitable heuristics to be quickly located and correctly applied. Automation requires tool support. A tool was built which augmented the functionality available in existing sets, and taking input from multiple sources of design information (e.g., CASE tools and source code) and the described so far presents a potential method for automated design assessment provides the means of automation. An empirical study was then required to consider the efficacy of the method and evaluate the novel features of the tool. A case study was used to explore the approach taken by, and evaluate the effectiveness of, 15 subjects using measures and heuristics to assess the design of a small 00 system(IS classes). This study showed that semantic heuristics tended to highlight significant problems, but where attempts were made to automate these it often led to false problems being identified. This result, along with a previous finding that around half of quality criteria are not automatically assessable at design time, strongly suggeststhat people are still a necessary part of design assessment. The main result of the case study was that the subjects correctly identified 90% of the major design problems and were very positive about their experience of using measurement to support design assessment

    Complexity Metrics for Systems Development Methods and Techniques

    Get PDF
    So many systems development methods have been introduced in the last decade that one can talk about a ¿methodology jungle¿. To aid the method developers and evaluators in fighting their way through this jungle, we propose a systematic approach for measuring properties of methods. We describe two sets of metrics which measure the complexity of single diagram techniques, and of complete systems development methods. The proposed metrics provide a relatively fast and simple way to analyse the descriptive capabilities of a technique or method. When accompanied with other selection criteria, the metrics can be used for estimating the relative complexity of a technique compared to others. To demonstrate the applicability of the metrics, we have applied them to 36 techniques and 11 methods
    corecore