Software Complexity

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 360 Experts worldwide ranked by ideXlab platform

Henrique Madeira - One of the best experts on this subject based on the ideXlab platform.

  • assessing dependability with Software fault injection a survey
    ACM Computing Surveys, 2016
    Co-Authors: Roberto Natella, Domenico Cotroneo, Henrique Madeira
    Abstract:

    With the rise of Software Complexity, Software-related accidents represent a significant threat for computer-based systems. Software Fault Injection is a method to anticipate worst-case scenarios caused by faulty Software through the deliberate injection of Software faults. This survey provides a comprehensive overview of the state of the art on Software Fault Injection to support researchers and practitioners in the selection of the approach that best fits their dependability assessment goals, and it discusses how these approaches have evolved to achieve fault representativeness, efficiency, and usability. The survey includes a description of relevant applications of Software Fault Injection in the context of fault-tolerant systems.

Rajiv D. Banker - One of the best experts on this subject based on the ideXlab platform.

  • Software development practices, Software Complexity, and Software maintenance performance: A field study
    Management Science, 1998
    Co-Authors: Rajiv D. Banker, Gordon B. Davis, Sanora Ann Slaughter
    Abstract:

    Software maintenance claims a large proportion of organizational resources. It is thought that many maintenance problems derive from inadequate Software design and development practices. Poor design choices can result in complex Software that is costly to support and difficult to change. However, it is difficult to assess the actual maintenance performance effects of Software development practices because their impact is realized over the Software life cycle. To estimate the impact of development activities in a more practical time frame, this research develops a two-stage model in which Software Complexity is a key intermediate variable that links design and development decisions to their downstream effects on Software maintenance. The research analyzes data collected from a national mass merchandising retailer on 29 Software enhancement projects and 23 Software applications in a large IBM COBOL environment. Results indicate that the use of a code generator in development is associated with increased Software Complexity and Software enhancement project effort. The use of packaged Software is associated with decreased Software Complexity and Software enhancement effort. These results suggest an important link between Software development practices and maintenance performance.

  • Software Complexity and maintenance costs
    Communications of The ACM, 1993
    Co-Authors: Rajiv D. Banker, Srikant M Datar, Chris F Kemerer, Dani Zweig
    Abstract:

    While the link between the difficulty in understanding computer Software and the cost of maintaining it is appealing, prior empirical evidence linking Software Complexity to Software maintenance costs is relatively weak [21]. Many of the attempts to link Software Complexity to maintainability are based on experiments involving small pieces of code, or are based on analysis of Software written by students. Such evidence is valuable, but several researchers have noted that such results must be applied cautiously to the large-scale commercial application systems that account for most Software maintenance expenditures [13,17]

Chris F Kemerer - One of the best experts on this subject based on the ideXlab platform.

  • Software Complexity and Software maintenance: A survey of empirical research
    Annals of Software Engineering, 1995
    Co-Authors: Chris F Kemerer
    Abstract:

    A number of empirical studies have pointed to a link between Software Complexity and Software maintenance performance. The primary purpose of this paper is to document “what is known” about this relationship, and to suggest some possible future avenues of research. In particular, a survey of the empirical literature in this area shows two broad areas of study: Complexity metrics and comprehension. Much of the Complexity metrics research has focused on modularity and structure metrics. The articles surveyed are summarized as to major differences and similarities in a set of detailed tables. The text is used to highlight major findings and differences, and a concluding remarks section provides a series of recommendations for future research.

  • Software Complexity and maintenance costs
    Communications of The ACM, 1993
    Co-Authors: Rajiv D. Banker, Srikant M Datar, Chris F Kemerer, Dani Zweig
    Abstract:

    While the link between the difficulty in understanding computer Software and the cost of maintaining it is appealing, prior empirical evidence linking Software Complexity to Software maintenance costs is relatively weak [21]. Many of the attempts to link Software Complexity to maintainability are based on experiments involving small pieces of code, or are based on analysis of Software written by students. Such evidence is valuable, but several researchers have noted that such results must be applied cautiously to the large-scale commercial application systems that account for most Software maintenance expenditures [13,17]

Roberto Natella - One of the best experts on this subject based on the ideXlab platform.

  • assessing dependability with Software fault injection a survey
    ACM Computing Surveys, 2016
    Co-Authors: Roberto Natella, Domenico Cotroneo, Henrique Madeira
    Abstract:

    With the rise of Software Complexity, Software-related accidents represent a significant threat for computer-based systems. Software Fault Injection is a method to anticipate worst-case scenarios caused by faulty Software through the deliberate injection of Software faults. This survey provides a comprehensive overview of the state of the art on Software Fault Injection to support researchers and practitioners in the selection of the approach that best fits their dependability assessment goals, and it discusses how these approaches have evolved to achieve fault representativeness, efficiency, and usability. The survey includes a description of relevant applications of Software Fault Injection in the context of fault-tolerant systems.

  • predicting aging related bugs using Software Complexity metrics
    Performance Evaluation, 2013
    Co-Authors: Domenico Cotroneo, Roberto Natella, Roberto Pietrantuono
    Abstract:

    Long-running Software systems tend to show degraded performance and an increased failure occurrence rate. This problem, known as Software Aging, which is typically related to the runtime accumulation of error conditions, is caused by the activation of the so-called Aging-Related Bugs (ARBs). This paper aims to predict the location of Aging-Related Bugs in complex Software systems, so as to aid their identification during testing. First, we carried out a bug data analysis on three large Software projects in order to collect data about ARBs. Then, a set of Software Complexity metrics were selected and extracted from the three projects. Finally, by using such metrics as predictor variables and machine learning algorithms, we built fault prediction models that can be used to predict which source code files are more prone to Aging-Related Bugs.

Sanora Ann Slaughter - One of the best experts on this subject based on the ideXlab platform.

  • Software development practices, Software Complexity, and Software maintenance performance: A field study
    Management Science, 1998
    Co-Authors: Rajiv D. Banker, Gordon B. Davis, Sanora Ann Slaughter
    Abstract:

    Software maintenance claims a large proportion of organizational resources. It is thought that many maintenance problems derive from inadequate Software design and development practices. Poor design choices can result in complex Software that is costly to support and difficult to change. However, it is difficult to assess the actual maintenance performance effects of Software development practices because their impact is realized over the Software life cycle. To estimate the impact of development activities in a more practical time frame, this research develops a two-stage model in which Software Complexity is a key intermediate variable that links design and development decisions to their downstream effects on Software maintenance. The research analyzes data collected from a national mass merchandising retailer on 29 Software enhancement projects and 23 Software applications in a large IBM COBOL environment. Results indicate that the use of a code generator in development is associated with increased Software Complexity and Software enhancement project effort. The use of packaged Software is associated with decreased Software Complexity and Software enhancement effort. These results suggest an important link between Software development practices and maintenance performance.