90,746 research outputs found

    A Metrics-based Framework for Estimating the Maintainability of Object-Oriented Software

    Get PDF
    Time,  effort  and  money  required  in  maintaining software has always  been  considered  greater  than  its  development  time. Also, its ambiguity in forecast at early stage of software development makes the process more complicated. The early estimation of maintainability will significantly help software designers to adjust the software product, if there is any fault, in early stages of designing. By doing this; time, effort and money required in maintaining software will be lessened. Although Object Oriented Software Development (OOSD) approach is equipped for enhancing software maintainability, a method for finding out if the required level of maintenance is being achieved amid the development process is required. This can be accomplished through measurement. This paper outlines the need and importance of maintainability at design phase and develops a Metrics-Based Maintainability Estimation Framework for Object-Oriented software(MEFOOS) that estimates the maintainability of object oriented software components in regard of their Understandability, Modifiability and Portability—which are the sub-attributes of maintainability. Keywords: Software maintenance, Software Maintainability, maintainability model, Software Metrics, Software Component DOI: 10.7176/JIEA/9-4-02 Publication date:June 30th 201

    An Exploratory Investigation on the Invasiveness of Environmental Modeling Frameworks

    Get PDF
    Environmental modeling frameworks provide an array of useful features that model developers can harness when implementing models. Each framework differs in how it provides features to a model developer via its Application Programming Interface (API). Environmental modelers harness framework features by calling and interfacing with the framework API. As modelers write model code, they make framework-specific function calls and use framework specific data types for achieving the functionality of the model. As a result of this development approach, model code becomes coupled with and dependent on a specific modeling framework. Coupling to a specific framework makes migration to other frameworks and reuse of the code outside the original framework more difficult. This complicates collaboration between model developers wishing to share model code that ma y have been developed in a variety of languages and frameworks. This paper provides initial results of an exploratory investigation on the invasiveness of environmental modeling frameworks. Invasiveness is defined as th e coupling between application (i.e., model) and framework code used to implement the model. By comparing the implementation of an environmental model across several modeling frameworks, we aim to better understand the consequences of framework design. How frameworks present functionality to modelers through APIs can lead to consequences with respect to model development, model maintenance, reuse of model code, and ultimately collaboration among model developers. By measuring framework invasiveness, we hope to provide environmental modeling framework developers and environmental modelers with valuable in formation to assist in future development efforts. Eight implementations (six framework-based) of Thornthwaite, a simple water balance model, were made in a variety of environmental modeling frameworks and languages. A set of software metrics were proposed and applied to measure invasiveness between model implementation code and framework code. The metrics produced a rank ordering of invasiveness for the framework-based implementations of Thornthwaite. We compared model invasiveness results with several popular software metrics including size in lines of code (LOC), cyclomatic complexity, and object oriented coupling. To investigate software quality implications of framework invasiveness we checked for relationships between the Chidamber and Kemerer (1994) object oriented software metrics and our framework invasiveness measures. For the six framework-based implementations of Thornthwaite we found a five-fold variation in code size (LOC). We observed up to a seven-fold variation in total cyclomatic complexity, and a two to three-fold variation in object oriented coupling. For the model implementations we found that total size, total complexity, and total coupling all had a significant positive correlation. The raw count version of our invasiveness measures correlated with application size (LOC), total cyclomatic complexity, total efferent coupling (fan out) and total afferent coupling (fan in). Large size, complexity, and high levels of coupling between units (classes, modules) in a software system are often cited in software engineering as causes of high maintenance costs due to poor understandability and flexibility of the code. This study provides initial results but further investigation is desired to evaluate the utility of our invasiveness measurement approach as well as the software quality implications of framework invasiveness

    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

    How Good Are These UML Diagrams? An Empirical Test of the Wand and Weber Good Decomposition Model

    Get PDF
    In 1989, Wand and Weber proposed a formal model of systems decomposition based on ontology. Chidamber and Kemerer (1994) soon applied this model to develop complexity metrics for object-oriented design (OOD). Chidamber and Kemererís OOD metrics suite continues to receive interest in software engineering (Bansiya and Davis 2002; Basili et al. 1996). To date, however, Wand and Weberís good decomposition model has received almost no application in information systems (IS). For three reasons, we believe the theory might assist IS researchers. First, object-oriented analysis (OOA) has not been as successful in practice as OOD or OO programming (Chuang and Yadav 2000). The good decomposition model may help IS researchers investigate improvements to OOA. Second, Johnson (2002) recently lamented how few OOA studies employ any theory. Wand and Weberís theory may, therefore, be a useful approach. Third, many believe OOA is a revolutionary step away from traditional approaches (Sircar et al. 2001). Practicing analysts could benefit from theory-based principles to guide their use of this ìrevolutionaryî technique. In this study, we report an experiment to determine the utility of the good decomposition model in OOA. We operationalized each condition of Wand and Weberís model in a set of UML diagrams and tested participantsí understanding of the diagrams across three levels. Our results lend support to Wand and Weberís theory, but only across dependent variables that tested participantsí actual understanding. The impact on participantsí perceptions of their understanding remained equivocal

    Methods of labor economy increasing in educational organization

    Full text link
    The urgency of problem under investigation due to fact that increasing demand of the information technology infrastructure development in current conditions of educational institutions functioning, including formation of the information-educational environment point of view. Offered organizational and economic model of constructing processes for software development is based on agile project management, regarded as an object-oriented tool for optimizing labor economics. The purpose of article is in model for labor economy processes optimization as a part of software development based on agile project management methodology in departments associated with development of information technologies in educational organization. The leading method to the problem study is in measurement of labor economics key indicators, including specific metrics of technical expert’s human capital growth. As an experimental base of research are considered educational organizations, at different times, using classical approach for software development and agile project management. The article presents research results of educational organizations departments engaged in project activities for development of information technologies, which are in the development of software products using classical approach for software development and agile project management. Article submissions may be useful to create a culture for constructing labor economics and human capital system based on sustainable growth in departments of educational institutions working in the field of information technology. © 2016 Dorozhkin et al

    Software Fault Prediction and Test Data Generation Using Articial Intelligent Techniques

    Get PDF
    The complexity in requirements of the present-day software, which are often very large in nature has lead to increase in more number of lines of code, resulting in more number of modules. There is every possibility that some of the modules may give rise to varieties of defects, if testing is not done meticulously. In practice, it is not possible to carry out white box testing of every module of any software. Thus, software testing needs to be done selectively for the modules, which are prone to faults. Identifying the probable fault-prone modules is a critical task, carried out for any software. This dissertation, emphasizes on design of prediction and classication models to detect fault prone classes for object-oriented programs. Then, test data are generated for a particular task to check the functionality of the software product. In the eld of object-oriented software engineering, it is observed that Chidamber and Kemerer (CK) software metrics suite is more frequently used for fault prediction analysis, as it covers the unique aspects of object - oriented programming such as the complexity, data abstraction, and inheritance. It is observed that one of the most important goals of fault prediction is to detect fault prone modules as early as possible in the software development life cycle (SDLC). Numerous authors have used design and code metrics for predicting fault-prone modules. In this work, design metrics are used for fault prediction. In order to carry out fault prediction analysis, prediction models are designed using machine learning methods. Machine learning methods such as Statistical methods, Articial neural network, Radial basis function network, Functional link articial neural network, and Probabilistic neural network are deployed for fault prediction analysis. In the rst phase, fault prediction is performed using the CK metrics suite. In the next phase, the reduced feature sets of CK metrics suite obtained by applying principal component analysis and rough set theory are used to perform fault prediction. A comparative approach is drawn to nd a suitable prediction model among the set of designed models for fault prediction. Prediction models designed for fault proneness, need to be validated for their eciency. To achieve this, a cost-based evaluation framework is designed to evaluate the eectiveness of the designed fault prediction models. This framework, is based on the classication of classes as faulty or not-faulty. In this cost-based analysis, it is observed that fault prediction is found to be suitable where normalized estimated fault removal cost (NEcost) is less than certain threshold value. Also this indicated that any prediction model having NEcost greater than the threshold value are not suitable for fault prediction, and then further these classes are unit tested. All the prediction and classier models used in the fault prediction analysis are applied on a case study viz., Apache Integration Framework (AIF). The metric data values are obtained from PROMISE repository and are mined using Chidamber and Kemerer Java Metrics (CKJM) tool. Test data are generated for object-oriented program for withdrawal task in Bank ATM using three meta-heuristic search algorithms such as Clonal selection algorithm, Binary particle swarm optimization, and Articial bee colony algorithm. It is observed that Articial bee colony algorithm is able to obtain near optimal test data when compared to the other two algorithms. The test data are generated for withdrawal task based on the tness function derived by using the branch distance proposed by Bogdan Korel. The generated test data ensure the proper functionality or the correctness of the programmed module in a software

    Evaluation Criteria for Object-oriented Metrics

    Get PDF
    In this paper an evaluation model for object-oriented (OO) metrics is proposed. We have evaluated the existing evaluation criteria for OO metrics, and based on the observations, a model is proposed which tries to cover most of the features for the evaluation of OO metrics. The model is validated by applying it to existing OO metrics. In contrast to the other existing criteria, the proposed model is simple in implementation and includes the practical and important aspects of evaluation; hence it suitable to evaluate and validate any OO complexity metric

    An Approach for the Empirical Validation of Software Complexity Measures

    Get PDF
    Software metrics are widely accepted tools to control and assure software quality. A large number of software metrics with a variety of content can be found in the literature; however most of them are not adopted in industry as they are seen as irrelevant to needs, as they are unsupported, and the major reason behind this is due to improper empirical validation. This paper tries to identify possible root causes for the improper empirical validation of the software metrics. A practical model for the empirical validation of software metrics is proposed along with root causes. The model is validated by applying it to recently proposed and well known metrics

    Modeling the object-oriented software process: OPEN and the unified process

    Get PDF
    A short introduction to software process modeling is presented, particularly object-oriented modeling. Two major industrial process models are discussed: the OPEN model and the Unified Process model. In more detail, the quality assurance in the Unified Process tool (formally called Objectory) is reviewed

    An empirical investigation of an object-oriented software system

    Get PDF
    This is the post print version of the article. The official published version can be obtained from the link below.This paper describes an empirical investigation into an industrial object-oriented (OO) system comprised of 133,000 lines of C++. The system was a subsystem of a telecommunications product and was developed using the Shlaer-Mellor method. From this study, we found that there was little use of OO constructs such as inheritance and, therefore, polymorphism. It was also found that there was a significant difference in the defect densities between those classes that participated in inheritance structures and those that did not, with the former being approximately three times more defect-prone. We were able to construct useful prediction systems for size and number of defects based upon simple counts such as the number of states and events per class. Although these prediction systems are only likely to have local significance, there is a more general principle that software developers can consider building their own local prediction systems. Moreover, we believe this is possible, even in the absence of the suites of metrics that have been advocated by researchers into OO technology. As a consequence, measurement technology may be accessible to a wider group of potential users
    corecore