Representing and Reasoning about Dynamic Code

1Citations
Citations of this article
15Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Dynamic code, i.e., code that is created or modified at runtime, is ubiquitous in today's world. The behavior of dynamic code can depend on the logic of the dynamic code generator in subtle and nonobvious ways, e.g., JIT compiler bugs can lead to exploitable vulnerabilities in the resulting JIT-compiled code. Existing approaches to program analysis do not provide adequate support for reasoning about such behavioral relationships. This paper takes a first step in addressing this problem by describing a program representation and a new notion of dependency that allows us to reason about dependency and information flow relationships between the dynamic code generator and the generated dynamic code. Experimental results show that analyses based on these concepts are able to capture properties of dynamic code that cannot be identified using traditional program analyses.

Cite

CITATION STYLE

APA

Bartels, J., Stephens, J., & Debray, S. (2020). Representing and Reasoning about Dynamic Code. In Proceedings - 2020 35th IEEE/ACM International Conference on Automated Software Engineering, ASE 2020 (pp. 312–323). Institute of Electrical and Electronics Engineers Inc. https://doi.org/10.1145/3324884.3416542

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free