21,982 research outputs found

    Weighted Class Complexity: A Measure of Complexity for Object Oriented System

    Get PDF
    Software complexity metrics are used to predict critical information about reliability and maintainability of software systems. Object oriented software development requires a different approach to software complexity metrics. In this paper, we propose a metric to compute the structural and cognitive complexity of class by associating a weight to the class, called as Weighted Class Complexity (WCC). On the contrary, of the other metrics used for object oriented systems, proposed metric calculates the complexity of a class due to methods and attributes in terms of cognitive weight. The proposed metric has been demonstrated with OO examples. The theoretical and practical evaluations based on the information theory have shown that the proposed metric is on ratio scale and satisfies most of the parameters required by the measurement theor

    SOFrWARE COMPLEXITY AND MAINTAINABILITY

    Get PDF
    This paper examines the relationships between software complexity and software maintainability in commercial software environments. Models are proposed for estimating the economic impacts of software complexity and for identifying the factors which affect a system\u27s complexity. Empirical work currently under way has shown these models to be implementable

    Assessing Cognitive Complexity in Java-Based Object-Oriented Systems: Metrics and Tool Support

    Get PDF
    Software cognitive complexity refers to how demanding the mental process of performing tasks such as coding, testing, debugging, or modifying source code is. Achieving low levels of cognitive complexity is crucial for ensuring high levels of software maintainability, which is one of the most rewardful software quality attributes. Therefore, in order to control and ensure software maintainability, it is first necessary to accurately quantify software cognitive complexity. In this line, this paper presents a software metric to assess cognitive complexity in Object-Oriented (OO) systems, and particularly those developed in the Java language, which is very popular among OO programming languages. The proposed metric is based on a characterization of basic control structures present in Java systems. Several algorithms to compute the metric and their materialization in the Eclipse IDE are also introduced. Finally, a theoretical validation of the metric against a framework specially designed to validate software complexity metrics is presented, and the applicability of the tool is shown by illustrating the metric in the context of ten real world Java projects and relevant metrics from the well-known Chidamber-Kemerer metric suite

    Using Statistical Analysis of FLOSS Systems Complexity to Understand Software Inactivity

    Get PDF
    Understanding how systems evolves can reveal important pieces of information that can help open source stakeholders to identify what can be improved in the software system’s internal organization. Once software complexity is one of the most important attributes to determine software maintainability, controlling its level in the system evolution process makes the software easier to maintain, reducing the maintainability costs. Otherwise, uncontrolled complexity makes the maintenance and enhancement process lengthy, more costly and sometimes it can contribute to the system abandonment. This work investigates the evolution of complexity in discontinued FLOSS projects, through statistical analysis with data obtained from analisis of SonarQube Software. SonarQube is an open-source software quality tool that analyzes the project’s source code and give the developers a feedback about the internal status of what is being developed. After several analyses, the outcome showed interesting results. A substantial portion of inactive FLOSS projects do not seem to be able to keep up with the extra work required to control the systems complexity, presenting a different behaviour of thesuccessful active FLOSS projects. Though, some inactive FLOSS projects do have a complexity evolution that resembles with the curves belonging to active projects.Keywords: Software Complexity, FLOSS, software inactivity, open source success

    Complexity metrics for measuring the understandability and maintainability of Business Process Models using Goal-Question-Metric (GQM)

    Get PDF
    Business Process Models (BPMs), often modeling language such as UML activity between the created using stakeholders in the can provide us a diagrams, Event- Driven Process Chains Markup Language (EPML) and Yet Another Workflow Language (YAWL), serve as a base for communication that adequate software development process. In order to fulfill this purpose, they should be easy to understand and easy to maintain. For this reason, it is useful to have measures information about understandability and maintainability of the BPM. Although there are hundreds of software complexity measures that have been described and published by many researchers over the last few decades, measuring the complexity of business process models is a rather new area of research with only a small number of contributions. In this paper, we provide a comprehensive report on how existing complexity metrics of software were adapted in order to analyze the current business process models complexity. We also proposed a Goal- Question-Metric (GQM) framework for measuring the understandability and maintainability of BPMs
    corecore