Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Information Processing Letters
Communications of the ACM
Debugging with dynamic slicing and backtracking
Software—Practice & Experience
Critical slicing for software fault localization
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Simplifying and Isolating Failure-Inducing Input
IEEE Transactions on Software Engineering
Visualization of test information to assist fault localization
Proceedings of the 24th International Conference on Software Engineering
Generating test cases for web services using data perturbation
ACM SIGSOFT Software Engineering Notes
Detecting and Debugging Insecure Information Flows
ISSRE '04 Proceedings of the 15th International Symposium on Software Reliability Engineering
Using positive tainting and syntax-aware evaluation to counter SQL injection attacks
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Dytan: a generic dynamic taint analysis framework
Proceedings of the 2007 international symposium on Software testing and analysis
Automated bug isolation via program chipping
Software—Practice & Experience
Engineering a DSL for Software Traceability
Software Language Engineering
Transformation Language Integration Based on Profiles and Higher Order Transformations
Software Language Engineering
Penumbra: automatically identifying failure-relevant inputs using dynamic tainting
Proceedings of the eighteenth international symposium on Software testing and analysis
Establishing Correspondences between Models with the Epsilon Comparison Language
ECMDA-FA '09 Proceedings of the 5th European Conference on Model Driven Architecture - Foundations and Applications
Automated support for repairing input-model faults
Proceedings of the IEEE/ACM international conference on Automated software engineering
Using models of partial knowledge to test model transformations
ICMT'12 Proceedings of the 5th international conference on Theory and Practice of Model Transformations
Reusing debugging knowledge via trace-based bug search
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Developing and visualizing live model queries
Proceedings of the First Workshop on the Analysis of Model Transformations
End-User support for debugging demonstration-based model transformation execution
ECMFA'13 Proceedings of the 9th European conference on Modelling Foundations and Applications
Hi-index | 0.00 |
Model-to-text (M2T) transforms are a class of software applications that translate a structured input into text output. The input models to such transforms are complex, and faults in the models that cause an M2T transform to generate an incorrect or incomplete output can be hard to debug. We present an approach based on dynamic tainting to assist transform users in debugging input models. The approach instruments the transform code to associate taint marks with the input-model elements, and propagate the marks to the output text. The taint marks identify the input-model elements that either contribute to an output string, or cause potentially incorrect paths to be executed through the transform, which results in an incorrect or a missing string in the output. We implemented our approach for XSL-based transforms and conducted empirical studies. Our results illustrate that the approach can significantly reduce the fault search space and, in many cases, precisely identify the input-model faults. The main benefit of our approach is that it automates, with a high degree of accuracy, a debugging task that can be tedious to perform manually.