• Corpus ID: 6570742

An Empirical Study of Requirements-Driven Impact Analysis in Object-Oriented Software Evolution

  title={An Empirical Study of Requirements-Driven Impact Analysis in Object-Oriented Software Evolution},
  author={Mikael Lindvall},
Requirements-driven impact analysis (RDIA) identifies the set of software entities that need to be changed to implement a new requirement in an existing system. RDIA thus involves a transition from requirements to software entities or to a representative model of the implemented system. RDIA is performed during the release planning phase. Input is a set of requirements and the existing system. Output is, for each requirement, a set of software entities that have to be changed. The output is… 

Figures and Tables from this paper

How well do experienced software developers predict software change?

Impact Analysis in Software Evolution

Impact Analysis : Organisational Views and Support Techniques

Change is unavoidable in software development. During the entire lifecycle of a product, from concept to retirement, the environment changes; the needs of customers or the market change and grow, and


The thesis contributes instead to the understanding of aspects like process improvement opportunities, process support, and the role of impact analysis in software evolution to contribute to the body of knowledge of change impact analysis.

Market-Driven Requirements Engineering Process Model – MDREPM

Research findings in requirements engineering (RE) report that software organizations still struggle in establishing processes that lead to proper requirements handling. This leads to the

Software change impact analysis: an approach to differentiate type of change to minimise regression test selection

A new approach of estimating impact analysis by allocating tokens to the changes encountered in the two versions of the software system is proposed and an algorithm is proposed for token allocation and for determining matches which take into account a minimum threshold value to predict the matched results.

An Empirically-Based Process for Software Architecture Evaluation

This paper defines and uses a set of architectural metrics and outlines a process for analyzing architecture to support such an argument, and reports on a case study where the architecture of an existing client-server system was restructured while adding new functionality.

X Design Properties and Evolvability of Object-Oriented Systems

The SPOOL project is investigating the dependency between the changeability of software systems and their design, and involves defining a systematic change impact model that is more complete and general than those presented in the literature, and applying it on industrial software systems to assess their changeability.

An Approach for Comparison of Architecture Level Change Impact Analysis Methods and Their Relevance in Web Systems Evolution

This paper presents a comparison approache that offer guidance on the selection of the most appropriate method for CIA activity and suitability of these methods in the context of Web systems.

A study of productivity and efficiency for object-oriented methods and languages

  • D. PortMonica McArthur
  • Economics
    Proceedings Sixth Asia Pacific Software Engineering Conference (ASPEC'99) (Cat. No.PR00509)
  • 1999
It is concluded that efficiency metrics, along with the non-standard use of COCOMO II, are a meaningful, useful and practical approach to compare development efforts.



The impact analysis task in software maintenance: a model and a case study

A general model of software impacts is presented that uses flexible declarative propagation rules to describe the way software objects affect each other and distinguishes between impact analysis and program understanding.

An early impact analysis technique for software maintenance

This paper surveys existing ripple analysis techniques and presents a new technique for the early detection of ripple effects based on a simple graph-theoretic model of documentation and the themes within the documentation.

A framework for software maintenance metrics

The authors introduce a software maintenance process model that emphasizes impact analysis and forms a framework for software maintenance metrics support, as well as new impact analysis metrics that address software work-product traceability and inter-work-product dependencies.

Why is Software Late? An Empirical Study of Reasons For Delay in Software Development

It is recommended that every department should gain an insight into its reasons for delay in order to be able to take adequate actions for improvement.

Characteristics of application software maintenance

The results of the analysis indicate that maintenance and enhancement do consume much of the total resources of systems and programming groups and user demands for enhancements and extension constitute the most important management problem area.

Mechanisms of modifiability in large software systems

The mechanisms behind the exhibited modifiability and lack of modifiable in a large commercial software system during a part of its evolution are investigated, and a dichotomy of software modularizations is proposed.

Object-oriented software engineering - a use case driven approach

This chapter discusses object-oriented software engineering as a process of change, management and reuse, and some of the methods used to develop and implement object- oriented software.

Practical Implications of Traceability

An industry-scale project applying the analysis and design method Objectory has been examined and documented with a number of traceability examples generated from the perspective of a maintainer attempting to understand the system.

Change impact identification in object oriented software maintenance

An automated solution to identify different kinds of code changes and their impact in an object-oriented class library is provided, and an OO software maintenance environment that implements the research result is described.

Locating user functionality in old code

The authors propose a methodology for answering the question of which parts of the program the functionality X is implemented based on the use of carefully designed test cases as probes into the code.