ABSTRACT
Resolving inconsistencies in software models is a complex task because the number of repairs grows exponentially. Existing approaches thus emphasize on selected repairs only but doing so diminishes their usefulness. This paper copes with the large number of repairs by focusing on what caused an inconsistency and presenting repairs as a linearly growing repair tree. The cause is computed by examining the run-time evaluation of the inconsistency to understand where and why it failed. The individual changes that make up repairs are then modeled in a repair tree as alternatives and sequences reflecting the syntactic structure of the inconsistent design rule. The approach is automated and tool supported. Its scalability was empirically evaluated on 29 UML models and 18 OCL design rules where we show that the approach computes repair trees in milliseconds on average. We believe that the approach is applicable to arbitrary modeling and constraint languages.
References
- S-DAGs: Towards Efficient Document Repair Generation. CCCT 2004, 2004.Google Scholar
- Object Management Group - UML. http://www.uml.org/, 2009.Google Scholar
- M. Almeida da Silva, A. Mougenot, X. Blanc, and R. Bendraou. Towards Automated Inconsistency Handling in Design Models. In B. Pernici, editor, Advanced Information Systems Engineering, volume 6051 of Lecture Notes in Computer Science, pages 348–362. Springer Berlin / Heidelberg, 2010. Google Scholar
Digital Library
- R. Balzer. Tolerating Inconsistency. In ICSE, pages 158–165, 1991. Google Scholar
- X. Blanc, I. Mounier, A. Mougenot, and T. Mens. Detecting model inconsistency through operation-based model construction. In ICSE ’08, pages 511–520, New York, NY, USA, 2008. ACM. Google Scholar
- K. Czarnecki and K. Pietroszek. Verifying feature-based model templates against well-formedness OCL constraints. In S. Jarzabek, D. C. Schmidt, and T. L. Veldhuizen, editors, GPCE, pages 211–220. ACM, 2006. Google Scholar
Digital Library
- H. K. Dam and M. Winikoff. An agent-oriented approach to change propagation in software maintenance. Autonomous Agents and Multi-Agent Systems, 23(3):384–452, 2011. Google Scholar
Digital Library
- A. Egyed. Instant consistency checking for the UML. In L. J. Osterweil, H. D. Rombach, and M. L. Soffa, editors, ICSE, pages 381–390. ACM, 2006. Google Scholar
Digital Library
- A. Egyed. Fixing Inconsistencies in UML Design Models. In ICSE, pages 292–301, 2007. Google Scholar
Digital Library
- A. Egyed. Automatically Detecting and Tracking Inconsistencies in Software Design Models. IEEE Trans. Software Eng., 37(2):188–204, 2011. Google Scholar
Digital Library
- A. Egyed, E. Letier, and A. Finkelstein. Generating and Evaluating Choices for Fixing Inconsistencies in UML Design Models. In ASE, pages 99–108. IEEE, 2008. Google Scholar
Digital Library
- B. Elkarablieh and S. Khurshid. Juzi: a tool for repairing complex data structures. In W. Schäfer, M. B. Dwyer, and V. Gruhn, editors, ICSE, pages 855–858. ACM, 2008. Google Scholar
Digital Library
- I. Groher, A. Reder, and A. Egyed. Incremental Consistency Checking of Dynamic Constraints. In D. S. Rosenblum and G. Taentzer, editors, FASE, volume 6013 of Lecture Notes in Computer Science, pages 203–217. Springer, 2010. Google Scholar
Digital Library
- J. Grundy, J. Hosking, and W. B. Mugridge. Inconsistency Management for Multiple-View Software Development Environments. IEEE Transactions on Software Engineering, 24:960–981, 1998. Google Scholar
Digital Library
- A. Hegedus, A. Horvath, I. Rath, M. Branco, and D. Varro. Quick fix generation for DSMLs. In Visual Languages and Human-Centric Computing (VL/HCC), 2011 IEEE Symposium on, pages 17–24, sept. 2011.Google Scholar
Cross Ref
- M. Z. Malik, J. H. Siddiqui, and S. Khurshid. Constraint-Based Program Debugging Using Data Structure Repair. In ICST, pages 190–199. IEEE Computer Society, 2011. Google Scholar
Digital Library
- C. Nentwich, L. Capra, W. Emmerich, and A. Finkelstein. xlinkit: A Consistency Checking and Smart Link Generation Service. ACM Trans. Internet Techn., 2(2):151–185, 2002. Google Scholar
Digital Library
- C. Nentwich, W. Emmerich, and A. Finkelstein. Consistency Management with Repair Actions. In ICSE, pages 455–464. IEEE Computer Society, 2003. Google Scholar
Digital Library
- A. Nöhrer, A. Reder, and A. Egyed. Positive effects of utilizing relationships between inconsistencies for more effective inconsistency resolution: NIER track. In R. N. Taylor, H. Gall, and N. Medvidovic, editors, ICSE, pages 864–867. ACM, 2011. Google Scholar
Digital Library
- J. P. Puissant, T. Mens, and R. V. D. Straeten. Resolving Model Inconsistencies with Automated Planning. In Proceedings of the 3rd Workshop on Living with Inconsistencies in Software Development., pages 8–14. CEUR Workshop Proceedings, 2010.Google Scholar
- T. Schattkowsky, J. H. Hausmann, and G. Engels. Using UML Activities for System-on-Chip Design and Synthesis. In O. Nierstrasz, J. Whittle, D. Harel, and G. Reggio, editors, MoDELS, volume 4199 of Lecture Notes in Computer Science, pages 737–752. Springer, 2006. Google Scholar
Digital Library
- J. Scheffczyk, P. Rödig, U. M. Borghoff, and L. Schmitz. Managing inconsistent repositories via prioritized repairs. In E. V. Munson and J.-Y. Vion-Dury, editors, ACM Symposium on Document Engineering, pages 137–146. ACM, 2004. Google Scholar
Digital Library
- R. V. D. Straeten and M. D’Hondt. Model refactorings through rule-based inconsistency resolution. In H. Haddad, editor, SAC, pages 1210–1217. ACM, 2006. Google Scholar
Digital Library
- Y. Xiong, Z. Hu, H. Zhao, H. Song, M. Takeichi, and H. Mei. Supporting automatic model inconsistency fixing. In H. van Vliet and V. Issarny, editors, ESEC/SIGSOFT FSE, pages 315–324. ACM, 2009. Google Scholar
Digital Library
Index Terms
Computing repair trees for resolving inconsistencies in design models




Comments