10.1145/2351676.2351707acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedings
ARTICLE

Computing repair trees for resolving inconsistencies in design models

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

  1. S-DAGs: Towards Efficient Document Repair Generation. CCCT 2004, 2004.Google ScholarGoogle Scholar
  2. Object Management Group - UML. http://www.uml.org/, 2009.Google ScholarGoogle Scholar
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. R. Balzer. Tolerating Inconsistency. In ICSE, pages 158–165, 1991. Google ScholarGoogle Scholar
  5. 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 ScholarGoogle Scholar
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. Egyed. Fixing Inconsistencies in UML Design Models. In ICSE, pages 292–301, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Egyed. Automatically Detecting and Tracking Inconsistencies in Software Design Models. IEEE Trans. Software Eng., 37(2):188–204, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarCross RefCross Ref
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. C. Nentwich, W. Emmerich, and A. Finkelstein. Consistency Management with Repair Actions. In ICSE, pages 455–464. IEEE Computer Society, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle Scholar
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Computing repair trees for resolving inconsistencies in design models

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!