Requirements‐related fault prevention during the transformation from formal specifications to programs

Software faults are costly to find and remove from programs. It is better to avoid inserting the faults in the first place. The authors identify requirements‐related faults that can arise during the transformation of formal specifications into programs, analyse each to discover its causes, and propo...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:IET software Ročník 17; číslo 3; s. 316 - 332
Hlavní autori: Li, Jiandong, Liu, Shaoying
Médium: Journal Article
Jazyk:English
Vydavateľské údaje: John Wiley & Sons, Inc 01.06.2023
Wiley
Predmet:
ISSN:1751-8806, 1751-8814
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Popis
Shrnutí:Software faults are costly to find and remove from programs. It is better to avoid inserting the faults in the first place. The authors identify requirements‐related faults that can arise during the transformation of formal specifications into programs, analyse each to discover its causes, and propose corresponding fault prevention methods. The approach works by analysing a specification, decomposing it into specification fragments with different levels like components, determining the correct implementation order among the components, and enabling automated code generation for the components and other low‐level specification fragments. The approach seeks to reduce the faults in programs significantly by guiding programmers to work effectively and productively. The authors evaluate the approach's performance experimentally and compare it to the performance of a fault‐prevention method with industry applications. In this paper, we identify requirements‐related faults that can arise during the transformation of formal specifications into programs, analyse each to discover its causes, and propose corresponding fault prevention methods. The approach works by analysing a specification, decomposing it into specification fragments with different levels like components, determining the correct implementation order among the components, and enabling automated code generation for the components and other low‐level specification fragments. The approach seeks to reduce the faults in programs significantly by guiding programmers to work effectively and productively.
ISSN:1751-8806
1751-8814
DOI:10.1049/sfw2.12126