Communications of the ACM
A safe approximate algorithm for interprocedural aliasing
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Symbolic execution and program testing
Communications of the ACM
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Model Driven Architecture: Applying MDA to Enterprise Computing
Model Driven Architecture: Applying MDA to Enterprise Computing
Test Adequacy Assessment for UML Design Model Testing
ISSRE '03 Proceedings of the 14th International Symposium on Software Reliability Engineering
Test input generation with java PathFinder
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
DART: directed automated random testing
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Deriving object typestates in the presence of inter-object references
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Metamodel-based Test Generation for Model Transformations: an Algorithm and a Tool
ISSRE '06 Proceedings of the 17th International Symposium on Software Reliability Engineering
A Systematic Approach to Generate Inputs to Test UML Design Models
ISSRE '06 Proceedings of the 17th International Symposium on Software Reliability Engineering
Towards Verifying Model Transformations
Electronic Notes in Theoretical Computer Science (ENTCS)
Debugging reinvented: asking and answering why and why not questions about program behavior
Proceedings of the 30th international conference on Software engineering
Automatic documentation inference for exceptions
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Model Transformation Specification and Verification
QSIC '08 Proceedings of the 2008 The Eighth International Conference on Quality Software
SOMA-ME: a platform for the model-driven design of SOA solutions
IBM Systems Journal
Snugglebug: a powerful approach to weakest preconditions
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Accurate Interprocedural Null-Dereference Analysis for Java
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Barriers to systematic model transformation testing
Communications of the ACM
Reusable MDA components: a testing-for-trust approach
MoDELS'06 Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems
Mutation analysis testing for model transformations
ECMDA-FA'06 Proceedings of the Second European conference on Model Driven Architecture: foundations and Applications
Null dereference verification via over-approximated weakest pre-conditions analysis
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Combining concern input with program analysis for bloat detection
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
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.