skip to main content
10.1145/1640089.1640114acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Demystifying model transformations: an approach based on automated rule inference

Published:25 October 2009Publication History

ABSTRACT

Model-driven development (MDD) is widely used to develop modern business applications. MDD involves creating models at different levels of abstractions. Starting with models of domain concepts, these abstractions are successively refined, using transforms, to design-level models and, eventually, code-level artifacts. Although many tools exist that support transform creation and verification, tools that help users in understanding and using transforms are rare. In this paper, we present an approach for assisting users in understanding model transformations and debugging their input models. We use automated program-analysis techniques to analyze the transform code and compute constraints under which a transformation may fail or be incomplete. These code-level constraints are mapped to the input model elements to generate model-level rules. The rules can be used to validate whether an input model violates transform constraints, and to support general user queries about a transformation. We have implemented the analysis in a tool called XYLEM. We present empirical results, which indicate that (1) our approach can be effective in inferring useful rules, and (2) the rules let users efficiently diagnose a failing transformation without examining the transform source code.

References

  1. B. Baudry, S. Ghosh, F. Fleurey, R. France, Y. Le Traon, and J.-M. Mottu. Barriers to systematic model transformation testing. Communications of the ACM, 2009. To appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. I. D. Baxter. Design maintenance systems. Communications of the ACM, 35(4):73--89, April 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. E. Brottier, F. Fleurey, B. Baudry, and Y. Le Traon. Metamodel-based test generation for model transformations: An algorithm and a tool. In Proc. of the 17th Intl. Symp.on Softw. Reliability Eng., pages 85--94, November 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. R. P. L. Buse and W. R. Weimer. Automatic documentation inference for exceptions. In Proc. of the Intl. Symp. on Softw. Testing and Analysis, pages 273--281, July 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Cabot and R. Clariso. UML/OCL verification in practice. In Proc. of the 1st Intl.Workshop on Challenges inModel-Driven Softw. Eng., pages 31--35, September 2008.Google ScholarGoogle Scholar
  6. S. Chandra, S. J. Fink, and M. Sridharan. Snugglebug: A powerful approach to weakest preconditions. In Proc. of the ACMSIGPLAN Conf. on Prog. Lang. Design and Impl., pages 363--374, June 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. T. T. Dinh-Trong, S. Ghosh, and R. B. France. A systematic approach to generate inputs to test UML design models. In Proc. of the 17th Intl. Symp.on Softw. Reliability Eng., pages 95--104, November 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. C. Flanagan, K. R. M. Leino, M. Lillibridge, G. Nelson, J. B. Saxe, and R. Stata. Extended static checking for Java. In Proc. of the ACM SIGPLAN Conf. on Prog. Lang. Design and Impl., pages 234--245, June 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. F. Fleurey, J. Steel, and B. Baudry. Validation in model-driven engineering: Testing model transformations. In Proc. of the 1st Intl. Workshop on Model, Design and Validation, pages 29--40, November 2004.Google ScholarGoogle ScholarCross RefCross Ref
  10. D. S. Frankel. Model Driven Architecture: Applying MDA to Enterprise Computing. John Wiley and Sons, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. S. Ghosh, R. France, C. Braganza, N. Kawane, A. Andrews, and O. Pilskalns. Test adequacy assessment for UML design model testing. In Proc. of the 14th Intl. Symp.on Softw. Reliability Eng., pages 332--346, November 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. H. Giese, S. Glesner, J. Leitner, W. Schafer, and R. Wagner. Towards verified model transformations. In Proc. of the 3rd Workshop on Model Design and Validation, pages 78--93, October 2006.Google ScholarGoogle Scholar
  13. P. Godefroid, N. Klarlund, and K. Sen. DART: Directed Automated Random Testing. In Proc. of the ACM SIGPLAN Conf. on Prog. Lang. Design and Impl., pages 213--223, June 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. C. King. Symbolic execution and program testing. Communications of the ACM, 19(7):385--394, July 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. J. Ko and B. A. Myers. Debugging reinvented: Asking and answering why and why not questions about program behavior. In Proc. of the 30th Intl. Conf. on Softw. Eng., pages 301--310, May 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jochen M. Kuster and Mohamed Abd el razik. Validation of model transformations - First experiences using a white box approach. In Proc. of the 3rd Workshop on Model Design and Validation, pages 62--77, October 2006.Google ScholarGoogle Scholar
  17. W. Landi and B. G. Ryder. A safe approximate algorithm for interprocedural pointer aliasing. In Proc. of the ACM SIGPLAN Conf. on Prog. Lang. Design and Impl., pages 235--248, June 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. K. Lano and D. Clark. Model transformation specification and verification. In Proc. of the 8th Intl. Conf. on Quality Softw., pages 45--54, August 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J.-M. Mottu, B. Baudry, and Y. Le Traon. Mutation analysis testing for model transformations. In Proc. of the Model Driven Architecture -- Foundations and Applications, 2nd European Conf., volume 4066 of Lecture Notes in Computer Science, pages 396--390, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J.-M. Mottu, B. Baudry, and Y. Le Traon. Reusable MDA components: A testing-for-trust approach. In Proc. of the 9th Intl. Conf. on Model Driven Eng. Lang. and Syst., volume 4199 of Lecture Notes in Computer Science, pages 589--603, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Nanda, C. Grothoff, and S. Chandra. Deriving object typestates in the presence of inter-object references. In Proc. of the 20th ACM SIGPLAN Conf. on Object-Oriented Prog., Syst., Lang., and Applications, pages 77--96, October 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. M. G. Nanda and S. Sinha. Accurate interprocedural null-dereference analysis for Java. In Proc. of the 31st Intl. Conf. on Softw. Eng., pages 133--143, May 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. A. Narayanan and G. Karsai. Towards verifying model transformations. Electron. Notes Theor. Comput. Sci., 211:191--200, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. D. C. Schmidt. Model-driven engineering. IEEE Computer, 39(2):25--31, February 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. W. Visser, C. S. Pasareanu, and S. Khurshid. Test input generation with Java PathFinder. In Proc. of the Intl. Symp. on Softw. Testing and Analysis, pages 97--107, July 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. L. J. Zhang, N. Zhou, Y.M. Chee, A. Jalaldeen, K. Ponnalagu, R. R. Sindhgatta, A. Arsanjani, and F. Bernardini. SOMAME: A platform for the model-driven design of SOA solutions. IBM Systems Journal, 47(3):397--413, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Demystifying model transformations: an approach based on automated rule inference

        Recommendations

        Comments

        Login options

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

        Sign in
        • Published in

          cover image ACM Conferences
          OOPSLA '09: Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
          October 2009
          590 pages
          ISBN:9781605587660
          DOI:10.1145/1640089
          • cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 44, Issue 10
            OOPSLA '09
            October 2009
            554 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/1639949
            Issue’s Table of Contents

          Copyright © 2009 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 25 October 2009

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          OOPSLA '09 Paper Acceptance Rate25of144submissions,17%Overall Acceptance Rate268of1,244submissions,22%

          Upcoming Conference

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader