Practitioners Perspectives on Change Impact Analysis for Safety-Critical Software - A Preliminary Analysis

Reading time: 6 minute
...

📝 Abstract

Safety standards prescribe change impact analysis (CIA) during evolution of safety-critical software systems. Although CIA is a fundamental activity, there is a lack of empirical studies about how it is performed in practice. We present a case study on CIA in the context of an evolving automation system, based on 14 interviews in Sweden and India. Our analysis suggests that engineers on average spend 50-100 hours on CIA per year, but the effort varies considerably with the phases of projects. Also, the respondents presented different connotations to CIA and perceived the importance of CIA differently. We report the most pressing CIA challenges, and several ideas on how to support future CIA. However, we show that measuring the effect of such improvement solutions is non-trivial, as CIA is intertwined with other development activities. While this paper only reports preliminary results, our work contributes empirical insights into practical CIA.

💡 Analysis

Safety standards prescribe change impact analysis (CIA) during evolution of safety-critical software systems. Although CIA is a fundamental activity, there is a lack of empirical studies about how it is performed in practice. We present a case study on CIA in the context of an evolving automation system, based on 14 interviews in Sweden and India. Our analysis suggests that engineers on average spend 50-100 hours on CIA per year, but the effort varies considerably with the phases of projects. Also, the respondents presented different connotations to CIA and perceived the importance of CIA differently. We report the most pressing CIA challenges, and several ideas on how to support future CIA. However, we show that measuring the effect of such improvement solutions is non-trivial, as CIA is intertwined with other development activities. While this paper only reports preliminary results, our work contributes empirical insights into practical CIA.

📄 Content

Practitioners’ Perspectives on Change Impact Analysis for Safety-Critical Software – A Preliminary Analysis Markus Borg1, José-Luis de la Vara2, and Krzysztof Wnuk3

1 SICS Swedish ICT AB, Lund, Sweden markus.borg@sics.se 2 Carlos III University of Madrid, Spain jvara@inf.uc3m.es 3 Blekinge Institute of Technology, Karlskrona, Sweden krzysztof.wnuk@bth.se Abstract. Safety standards prescribe change impact analysis (CIA) during evo- lution of safety-critical software systems. Although CIA is a fundamental ac- tivity, there is a lack of empirical studies about how it is performed in practice. We present a case study on CIA in the context of an evolving automation sys- tem, based on 14 interviews in Sweden and India. Our analysis suggests that engineers on average spend 50-100 hours on CIA per year, but the effort varies considerably with the phases of projects. Also, the respondents presented different connotations to CIA and perceived the importance of CIA differently. We report the most pressing CIA challenges, and several ideas on how to support future CIA. However, we show that measuring the effect of such improvement solutions is non-trivial, as CIA is intertwined with other devel- opment activities. While this paper only reports preliminary results, our work contributes empirical insights into practical CIA. Keywords: change impact analysis, safety-critical systems, case study research. 1 Introduction Safety-critical software systems evolve during their lifecycle. As changes are made to the systems, change impact analysis (CIA) is needed, defined as “identifying the po- tential consequences of a change in a system, or estimating what needs to be modified to accomplish a change” [2]. CIA is essential for safety assurance, and it is indeed prescribed by safety standards, e.g. IEC 61508 states that “if at any phase of the soft- ware safety lifecycle, a modification is required pertaining to an earlier lifecycle phase, then an impact analysis shall determine (1) which software modules are im- pacted, and (2) which earlier safety lifecycle activities shall be repeated.” CIA is often a difficult task in practice due to the size and complexity of safety- critical systems [2, 7]. Inadequate CIA has further been among the causes of accidents and near-accidents in the past [10]. Industry can clearly benefit from new CIA tech- nology and knowledge to more cost-effectively perform this safety assurance activity, enabling better risk avoidance and mitigation. Such technology and knowledge must be linked to current practices and targeted at meeting industry needs and expectations.
Despite the importance of CIA for safety-critical systems, the current knowledge about the state of the practice is limited. We are not aware of any publication that has studied the CIA activity in depth. The available knowledge is based on studies that (1) have dealt with non-safety-critical systems, (2) have analyzed data from past projects, (3) have not focused on CIA, or (4) have surveyed practices for safety-critical systems from a general perspective. For example, Rovegård et al. [14] interviewed software practitioners to analyze CIA issue importance, whereas Borg et al. [3] studied past issue reports of an industrial control system. Some insights have been provided in studies on e.g. the alignment of requirements with verification and validation [1] and on traceability [13]. Regarding the surveys, Nair et al. [12] studied safety evidence management practices, including certain aspects related to change management, and de la Vara et al. [7] conducted a survey on safety evidence CIA to explore the circum- stances under which it is performed, the tool support used, and the challenges faced. We have conducted an industrial case study on CIA for safety-critical systems in practice, particularly exploring engineers’ views on the work involved. The context is a distributed development organization offering industrial control systems to a global market. We interviewed 14 engineers in two units of analyses, constituted of two teams located in Sweden and India, respectively. This paper reports a preliminary analysis covering a subset of the interview guide. Our long term goal is to support architectural decision making when evolving cyber-physical systems, an endeavor in which the CIA is fundamental. As a step in this direction, we explore three research questions: RQ1) How extensive is the CIA work task?, RQ2) What are the engineers’ attitudes toward CIA?, and RQ3) How could CIA be supported? By better understanding CIA in a particular case, we can take steps toward understanding how previous knowledge could be stored to support decision making in software evolution, in line with our previous work on traceability reuse [3] and knowledge repositories [6]. The rest of the paper is structured as follows: Section 2 presents the case, and Sec- tion 3 describes the research methodology. We

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut