The automation of design model repair
A design model is the abstract representation of an actual process or software product. Although some software faults can be found by diagnosing design models before implementation, repairing the design models is time-consuming to software developers. To achieve faster software development, this paper introduces an automated approach to generally repair design models diagnosed by model checking. Model checkers are used to detect faults such as unreachable goals and violated properties in design models. Such faults are eliminated in parallel by insertion, modification and deletion operators found by constraint solving and predictive models. The outcomes of model repair are evaluated using the ISO/IEC 25010 software quality metrics. Experimental results have demonstrated that the proposed approach can eliminate unreachable goals and invariant violations in various design models while preserving their model quality. The effectiveness and performance of such design model repair processes depend mainly on the complexity of design model, the efficiency of constraint solver and the accuracy of predictive model. This study indicates that model-driven software development can be more efficient by automating model diagnosis, fault elimination and quality evaluation. • The repair of software design models is automated by formal methods. • Model checking simultaneously uncovers multiple faults in design models. • Model faults are eliminated by insertion, modification and deletion operators. • Predictions and constraint solving improve the correctness of repair. • Automated model diagnosis and repair preserve the quality of design models.
Authors
- Jing Sun (ORCID: https://orcid.org/0000-0002-1979-6622)
- Gillian Dobbie (ORCID: https://orcid.org/0000-0001-7245-0367)
- Cheng‐Hao Cai (ORCID: https://orcid.org/0000-0001-6815-9091)
Institutions
- University of Auckland (NZ)
- Suzhou Research Institute (CN)
Publication Details
- Journal
- Science of Computer Programming
- Published
- 2025-04-05
- DOI
- https://doi.org/10.1016/j.scico.2025.103313
- Citations
- 1
- Primary Topic
- Software Testing and Debugging Techniques
- Type
- article
- Field-Weighted Citation Impact
- 2.31