DocumentCode
1443104
Title
Automatically Detecting and Tracking Inconsistencies in Software Design Models
Author
Egyed, Alexander
Author_Institution
Johannes Kepler Univ., Linz, Austria
Volume
37
Issue
2
fYear
2011
Firstpage
188
Lastpage
204
Abstract
Software models typically contain many inconsistencies and consistency checkers help engineers find them. Even if engineers are willing to tolerate inconsistencies, they are better off knowing about their existence to avoid follow-on errors and unnecessary rework. However, current approaches do not detect or track inconsistencies fast enough. This paper presents an automated approach for detecting and tracking inconsistencies in real time (while the model changes). Engineers only need to define consistency rules-in any language-and our approach automatically identifies how model changes affect these consistency rules. It does this by observing the behavior of consistency rules to understand how they affect the model. The approach is quick, correct, scalable, fully automated, and easy to use as it does not require any special skills from the engineers using it. We evaluated the approach on 34 models with model sizes of up to 162,237 model elements and 24 types of consistency rules. Our empirical evaluation shows that our approach requires only 1.4 ms to reevaluate the consistency of the model after a change (on average); its performance is not noticeably affected by the model size and common consistency rules but only by the number of consistency rules, at the expense of a quite acceptable, linearly increasing memory consumption.
Keywords
formal verification; software maintenance; automatic inconsistency detection; automatic inconsistency tracking; consistency checkers; consistency rules; empirical evaluation; memory consumption; software design model; Design tools and techniques; design.;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/TSE.2010.38
Filename
5432227
Link To Document