Standard

Finding Bugs in Program Generators by Dynamic Analysis of Syntactic Language Constraints1. / Erdweg, Sebastian; Vergu, Vlad; Mezini, Mira; Visser, Eelco.

MODULARITY'14: Proceedings of the companion publication of the 13th International Conference on Modularity. New York : Association for Computing Machinery (ACM), 2014. p. 17-20.

Research output: Chapter in Book/Report/Conference proceedingConference contributionScientificpeer-review

Harvard

Erdweg, S, Vergu, V, Mezini, M & Visser, E 2014, Finding Bugs in Program Generators by Dynamic Analysis of Syntactic Language Constraints1. in MODULARITY'14: Proceedings of the companion publication of the 13th International Conference on Modularity. Association for Computing Machinery (ACM), New York, pp. 17-20, 13th International Conference on Modularity, Lugano, Switzerland, 22/04/14. https://doi.org/10.1145/2584469.2584474

APA

Erdweg, S., Vergu, V., Mezini, M., & Visser, E. (2014). Finding Bugs in Program Generators by Dynamic Analysis of Syntactic Language Constraints1. In MODULARITY'14: Proceedings of the companion publication of the 13th International Conference on Modularity (pp. 17-20). New York: Association for Computing Machinery (ACM). https://doi.org/10.1145/2584469.2584474

Vancouver

Erdweg S, Vergu V, Mezini M, Visser E. Finding Bugs in Program Generators by Dynamic Analysis of Syntactic Language Constraints1. In MODULARITY'14: Proceedings of the companion publication of the 13th International Conference on Modularity. New York: Association for Computing Machinery (ACM). 2014. p. 17-20 https://doi.org/10.1145/2584469.2584474

Author

Erdweg, Sebastian ; Vergu, Vlad ; Mezini, Mira ; Visser, Eelco. / Finding Bugs in Program Generators by Dynamic Analysis of Syntactic Language Constraints1. MODULARITY'14: Proceedings of the companion publication of the 13th International Conference on Modularity. New York : Association for Computing Machinery (ACM), 2014. pp. 17-20

BibTeX

@inproceedings{04eb78c43d5541a68271e52692a18db1,
title = "Finding Bugs in Program Generators by Dynamic Analysis of Syntactic Language Constraints1",
abstract = "Program generators and transformations are hard to implement correctly, because the implementation needs to generically describe how to construct programs, for example, using templates or rewrite rules. We apply dynamic analysis to program generators in order to support developers in finding bugs and identifying the source of the bug. Our analysis focuses on syntactic language constraints and checks that generated programs are syntactically well-formed. To retain a language's grammar as the unique specification of the language's syntax, we devised mechanisms to derive the analysis from the grammar. Moreover, we designed a run-time system to support the modular activation/deactivation of the analysis, so that generators do not require adaption. We have implemented the analysis for the Stratego term-rewriting language and applied it in case studies based on Spoofax and SugarJ.",
keywords = "Abstract syntax tree, Dynamic analysis, Generative programming, Program transformation, Spoofax, SugarJ, Typesmart constructors, Well-formedness checks",
author = "Sebastian Erdweg and Vlad Vergu and Mira Mezini and Eelco Visser",
year = "2014",
doi = "10.1145/2584469.2584474",
language = "English",
isbn = "978-1-4503-2773-2",
pages = "17--20",
booktitle = "MODULARITY'14",
publisher = "Association for Computing Machinery (ACM)",
address = "United States",

}

RIS

TY - GEN

T1 - Finding Bugs in Program Generators by Dynamic Analysis of Syntactic Language Constraints1

AU - Erdweg, Sebastian

AU - Vergu, Vlad

AU - Mezini, Mira

AU - Visser, Eelco

PY - 2014

Y1 - 2014

N2 - Program generators and transformations are hard to implement correctly, because the implementation needs to generically describe how to construct programs, for example, using templates or rewrite rules. We apply dynamic analysis to program generators in order to support developers in finding bugs and identifying the source of the bug. Our analysis focuses on syntactic language constraints and checks that generated programs are syntactically well-formed. To retain a language's grammar as the unique specification of the language's syntax, we devised mechanisms to derive the analysis from the grammar. Moreover, we designed a run-time system to support the modular activation/deactivation of the analysis, so that generators do not require adaption. We have implemented the analysis for the Stratego term-rewriting language and applied it in case studies based on Spoofax and SugarJ.

AB - Program generators and transformations are hard to implement correctly, because the implementation needs to generically describe how to construct programs, for example, using templates or rewrite rules. We apply dynamic analysis to program generators in order to support developers in finding bugs and identifying the source of the bug. Our analysis focuses on syntactic language constraints and checks that generated programs are syntactically well-formed. To retain a language's grammar as the unique specification of the language's syntax, we devised mechanisms to derive the analysis from the grammar. Moreover, we designed a run-time system to support the modular activation/deactivation of the analysis, so that generators do not require adaption. We have implemented the analysis for the Stratego term-rewriting language and applied it in case studies based on Spoofax and SugarJ.

KW - Abstract syntax tree

KW - Dynamic analysis

KW - Generative programming

KW - Program transformation

KW - Spoofax

KW - SugarJ

KW - Typesmart constructors

KW - Well-formedness checks

UR - http://www.scopus.com/inward/record.url?scp=84900030871&partnerID=8YFLogxK

UR - http://resolver.tudelft.nl/uuid://04eb78c4-3d55-41a6-8271-e52692a18db1

U2 - 10.1145/2584469.2584474

DO - 10.1145/2584469.2584474

M3 - Conference contribution

SN - 978-1-4503-2773-2

SP - 17

EP - 20

BT - MODULARITY'14

PB - Association for Computing Machinery (ACM)

CY - New York

ER -

ID: 10179963