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.
- 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 ScholarDigital Library
- I. D. Baxter. Design maintenance systems. Communications of the ACM, 35(4):73--89, April 1992. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- D. S. Frankel. Model Driven Architecture: Applying MDA to Enterprise Computing. John Wiley and Sons, 2003. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- J. C. King. Symbolic execution and program testing. Communications of the ACM, 19(7):385--394, July 1976. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- A. Narayanan and G. Karsai. Towards verifying model transformations. Electron. Notes Theor. Comput. Sci., 211:191--200, 2008. Google ScholarDigital Library
- D. C. Schmidt. Model-driven engineering. IEEE Computer, 39(2):25--31, February 2006. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- Demystifying model transformations: an approach based on automated rule inference
Recommendations
Demystifying model transformations: an approach based on automated rule inference
OOPSLA '09Model-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 ...
Transformation techniques in the model-driven development process of UWE
ICWE '06: Workshop proceedings of the sixth international conference on Web engineeringDevelopment of Web software is still an inefficient and error-prone process. We need integrated techniques and tool support for automated generation of Web systems. The goal of model-driven development (MDD) is to tackle these problems introducing a ...
Model-level, platform-independent debugging in the context of the model-driven development of real-time systems
ESEC/FSE 2017: Proceedings of the 2017 11th Joint Meeting on Foundations of Software EngineeringProviding proper support for debugging models at model-level is one of the main barriers to a broader adoption of Model Driven Development (MDD). In this paper, we focus on the use of MDD for the development of real-time embedded systems (RTE). We ...
Comments