43,580 research outputs found

    Using a Combination of Measurement Tools to Extract Metrics from Open Source Projects

    Get PDF
    Software measurement can play a major role in ensuring the quality and reliability of software products. The measurement activities require appropriate tools to collect relevant metric data. Currently, there are several such tools available for software measurement. The main objective of this paper is to provide some guidelines in using a combination of multiple measurement tools especially for products built using object-oriented techniques and languages. In this paper, we highlight three tools for collecting metric data, in our case from several Java-based open source projects. Our research is currently based on the work of Card and Glass, who argue that design complexity measures (data complexity and structural complexity) are indicators/predictors of procedural/cyclomatic complexity (decision counts) and errors (discovered from system tests). Their work was centered on structured design and our work is with object-oriented designs and the metrics we use parallel those of Card and Glass, being, Henry and Kafura's Information Flow Metrics, McCabe's Cyclomatic Complexity, and Chidamber and Kemerer Object-oriented Metrics

    Restructuring Object -Oriented Designs Using a Metric-Driven Approach.

    Get PDF
    The benefits of object-oriented software are now widely recognized. However, methodologies that are used to develop object-oriented software are still in their infancy. There is a lack of methods to assess the quality of the various components that are derived during the development process. The design of a system is a crucial component derived during the system development process. Little attention has been given to assessing object-oriented designs to determine the goodness of the designs. There are metrics that can provide guidance for assessing the quality of the design. The objective of this research is to develop a system to evaluate object-oriented designs and to provide guidance for the restructuring of the design based on the results of the evaluation process. We identify a basic set of metrics that reflects the benefits of the object-oriented paradigm such as inheritance, encapsulation, and method interactions. Specifically, we include metrics that measure depth of inheritance, methods usage, cardinality of subclasses, coupling, class responses, and cohesion. We define techniques to evaluate the metric values on existing object-oriented designs. We then define techniques to utilize the metric values to help restructure designs so that they conform to predetermined design criteria. These methods and techniques are implemented as a part of a Design Evaluation Assistant that automates much of the evaluation and restructuring process

    Generalization Index: Defining a metric for the detection of smells in UML Class Diagrams in Eclipse Modeling Framework in Eclipse

    Get PDF
    In the field of Software Engineering, while designing the software design and maintaining the source code quality, a lot of good and bad practices come into being. With the continuous evolutions in the field of modeling in software development processes, Model Driven Software Development (MDSD), focuses towards the quality of software models. Unified Modeling Language (UML) is a graphical notation for expressing object-oriented designs. With its emergence as a modeling standard and being widely accepted by most software development organizations, in this research paper we focus on UML Class Diagrams. Metrics are mathematical models used for measuring. In software engineering, metrics are utilized for measuring quality aspects of software models. A manual model review is very time consuming and prone to errors, so it becomes essential to automate the tasks as effectively as possible. The Eclipse plug-in EMF Metrics supports specification and calculation of metrics wrt. specific EMF based models. A new definition technique for EMF quality assurance can be defined using Java, an OCL query or Henshin Pattern. In this paper we propose an algorithm for the calculation a new metric named Generalization Index Metric (GIX) for Java Code

    An eclipse plug-in for metamodel driven measurement

    Get PDF
    In this dissertation, we present a new plug-in for the Eclipse integrated development environ-ment that calculates software quality metrics using a metamodel driven approach to software measurement. Metamodel driven measurement is a technique that surged with the popularization of object-oriented systems and model-driven approaches to software design. It involves of in-stantiating software designs according to a language metamodel and calculating metrics with formalized queries over the obtained data. Our objectives consisted of creating a new Eclipse plug-in to analyse software developed in Java that, thanks to the metamodel driven approach, would allow users to easily define new software metrics without having to change a single line of Java code. To achieve our goals, we devised the Eclipse Java Metamodel, a new Java metamodel based on data provided by Eclipse’s Java Development Tools and implemented it on a prototype Eclipse plug-in. We have also formalized certain software metrics and an existing library for metrics extraction called FLAME, as sets of queries over our developed metamodel using the Object Constraint Language, which can be used directly on our prototype.Nesta dissertacĂŁo apresentamos uma nova extensĂŁo para o ambiente de desenvolvimento integrado Eclipse para o cĂĄlculo de metricas de qualidade de software atravĂ©s da medicĂŁo por metamodelos. MedicĂŁo por metamodelos Ă© uma abordagem Ă  medicĂŁo de software que surgiu com a popularização de sistemas orientados por objectos e design de software atravĂ©s de modelos. Esta tĂ©cnica consiste em medir software atravĂ©s de definiçÔes formalizadas de mĂ©tricas como queries sobre um metamodelo representativo da linguagem sobre a qual o software foi conceptualizado ou desenvolvido. Os nossos objectivos consistem em criar uma nova extensĂŁo para Eclipse para analisar software desenvolvido em Java que, graças ao uso de metamodelos, permite a utilizadores calcular novas mĂ©tricas de software facilmente sem ter que programar uma Ășnica linha de cĂłdigo em Java. Para concretizar estes objectivos, desenvolvemos o Eclipse JavaMetamodel, um metamodelo da linguagem Java baseado nas Java Development Tools oferecidas pelo Eclipse e implementamos uma extensĂŁo protĂłtipo. TambĂ©m formalizamos certas mĂ©tricas de software e uma biblioteca existente para o auxĂ­lio de cĂĄlculo de mĂ©tricas chamada FLAME, como conjuntos de queries sobre o metamodelo feitas com a Object Constraint Language, que podem ser usadas directamente no nosso protĂłtipo

    Design Structural Stability Metrics and Post-Release Defect Density: An Empirical Study

    Get PDF
    This paper empirically explores the correlations between a suite of structural stability metrics for object-oriented designs and post-release defect density. The investigated stability metrics measure the extent to which the structure of a design is preserved throughout the evolution of the software from one release to the next. As a case study, thirteen successive releases of Apache Ant were analyzed. The results indicate that some of the stability metrics are significantly correlated with post-release defect density. It was possible to construct statistically significant regression models to estimate post-release defect density from subsets of these metrics. The results reveal the practical significance and usefulness of some of the investigated stability metrics as early indicators of one of the important software quality outcomes, which is post-release defect density

    Design Structural Stability Metrics and Post-Release Defect Density: An Empirical Study

    Get PDF
    This paper empirically explores the correlations between a suite of structural stability metrics for object-oriented designs and post-release defect density. The investigated stability metrics measure the extent to which the structure of a design is preserved throughout the evolution of the software from one release to the next. As a case study, thirteen successive releases of Apache Ant were analyzed. The results indicate that some of the stability metrics are significantly correlated with post-release defect density. It was possible to construct statistically significant regression models to estimate post-release defect density from subsets of these metrics. The results reveal the practical significance and usefulness of some of the investigated stability metrics as early indicators of one of the important software quality outcomes, which is post-release defect density

    Next generation software environments : principles, problems, and research directions

    Get PDF
    The past decade has seen a burgeoning of research and development in software environments. Conferences have been devoted to the topic of practical environments, journal papers produced, and commercial systems sold. Given all the activity, one might expect a great deal of consensus on issues, approaches, and techniques. This is not the case, however. Indeed, the term "environment" is still used in a variety of conflicting ways. Nevertheless substantial progress has been made and we are at least nearing consensus on many critical issues.The purpose of this paper is to characterize environments, describe several important principles that have emerged in the last decade or so, note current open problems, and describe some approaches to these problems, with particular emphasis on the activities of one large-scale research program, the Arcadia project. Consideration is also given to two related topics: empirical evaluation and technology transition. That is, how can environments and their constituents be evaluated, and how can new developments be moved effectively into the production sector

    Software design metrics for predicting maintainability of service-oriented software

    Get PDF
    As the pace of business change increases, service-oriented (SO) solutions should facilitate easier maintainability as underlying business logic and rules change. To date, little effort has been dedicated to considering how the structural properties of coupling and cohesion may impact on the maintainability of SO software products. Moreover, due to the unique design characteristics of Service-Oriented Computing (SOC), existing Procedural and Object-Oriented (OO) software metrics are not sufficient for the accurate measurement of service-oriented design structures. This thesis makes a contribution to the field of SOC, and Software Engineering in general, by proposing and evaluating a suite of design-level coupling and cohesion metrics for predicting the maintainability of service-oriented software products early in the Software Development LifeCycle (SDLC). The proposed metrics can provide the following benefits: i) facilitate design decisions that could lead to the specification of quality SO designs that can be maintained more easily; ii) identify design problems that can potentially have a negative effect on the maintainability of existing service-oriented design structures; and iii) support more effective control of maintainability in the earlier stages of SDLC. More specifically, the following research was conducted as part of this thesis: - A formal mathematical model covering the structural and behavioural properties of service-oriented system design was specified. - Software metrics were defined in a precise, unambiguous, and formal manner using the above model. - The metrics were theoretically validated and empirically evaluated in order to determine the success of this thesis as follows: a. Theoretical validation was based on the property-based software engineering measurement framework. All the proposed metrics were deemed as theoretically valid. b. Empirical evaluation employed a controlled experimental study involving ten participants who performed a range of maintenance tasks on two SO systems developed (and measured using the proposed metrics) specifically for this study. The majority of the experimental outcomes compared favourably with our expectations and hypotheses. More specifically, the results indicated that most of the proposed metrics can be used to predict the maintainability of service-oriented software products early in the SDLC, thereby providing evidence for the validity and potential usefulness of the derived metrics. Nevertheless, a broader range of industrial scale experiments and analyses are required to fully demonstrate the practical applicability of the metrics. This has been left to future work

    Design Structural Stability Metrics and Post-Release Defect Density: An Empirical Study

    Get PDF
    This paper empirically explores the correlations between a suite of structural stability metrics for object-oriented designs and post-release defect density. The investigated stability metrics measure the extent to which the structure of a design is preserved throughout the evolution of the software from one release to the next. As a case study, thirteen successive releases of Apache Ant were analyzed. The results indicate that some of the stability metrics are significantly correlated with post-release defect density. It was possible to construct statistically significant regression models to estimate post-release defect density from subsets of these metrics. The results reveal the practical significance and usefulness of some of the investigated stability metrics as early indicators of one of the important software quality outcomes, which is post-release defect density
    • 

    corecore