Document Type
Article
Publication Date
8-21-2017
Publication Title
IET Software
Abstract
In modern web-based applications, an increasing amount of source code is generated dynamically at runtime. Web applications commonly execute dynamically generated code (DGC) emitted by third-party, black-box generators, run at remote sites. Web developers often need to adapt DGC before it can be executed: embedded HTML can be vulnerable to cross-site scripting attacks; an API may be incompatible with some browsers; and the program's state created by DGC may not be persisting. Lacking any systematic approaches for adapting DGC, web developers resort to ad-hoc techniques that are unsafe and error-prone. This study presents an approach for adapting DGC systematically that follows the program-transformation-byexample paradigm. The proposed approach provides predefined, domain-specific before/after examples that capture the variability of commonly used adaptations. By approving or rejecting these examples, web developers determine the required adaptation transformations, which are encoded in an adaptation script operating on the generated code's abstract syntax tree. The proposed approach is a suite of practical JavaScript program adaptations and their corresponding before/after examples. The authors have successfully applied the approach to real web applications to adapt third-party generated JavaScript code for security, browser compatibility, and persistence.
Recommended Citation
Song, Myoungkyu and Tilevich, Eli, "Systematic adaptation of dynamically generated source code via domain-specific examples" (2017). Computer Science Faculty Publications. 66.
https://digitalcommons.unomaha.edu/compscifacpub/66
Funded by the University of Nebraska at Omaha Open Access Fund
Comments
Copyright © 2017 Myoungkyu Song and Eli Tilevich.
This is an open access article published by the IET under the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0/).
doi: 10.1049/iet-sen.2016.0211