|
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
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked 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.
|
| |
2
|
I. D. Baxter. Design maintenance systems. Communications of the ACM, 35(4):73--89, April 1992.
|
| |
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.
|
| |
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.
|
| |
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.
|
| |
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.
|
| |
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.
|
| |
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.
|
| |
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.
|
| |
10
|
D. S. Frankel. Model Driven Architecture: Applying MDA to Enterprise Computing. John Wiley and Sons, 2003.
|
| |
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.
|
| |
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.
|
| |
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.
|
| |
14
|
J. C. King. Symbolic execution and program testing. Communications of the ACM, 19(7):385--394, July 1976.
|
| |
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.
|
| |
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.
|
| |
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.
|
| |
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.
|
| |
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.
|
| |
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.
|
| |
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.
|
| |
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.
|
| |
23
|
A. Narayanan and G. Karsai. Towards verifying model transformations. Electron. Notes Theor. Comput. Sci., 211:191--200, 2008.
|
| |
24
|
D. C. Schmidt. Model-driven engineering. IEEE Computer, 39(2):25--31, February 2006.
|
| |
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.
|
| |
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.
|
|