Control dependencies in interpretive systems

Babak Yadegari, Saumya K Debray

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Interpreters and just-in-time (JIT) compilers are ubiquitous in modern computer systems, making it important to have good program analyses for reasoning about such systems. Control dependence, which plays a fundamental role in a number of program analyses, is an important contender in this regard. Existing algorithms for (dynamic) control dependence analysis do not take into account some important runtime characteristics of interpretive computations, and as a result produce results that may be imprecise and/or unsound. This paper describes a new notion of control dependence and an analysis algorithm for interpretive systems. This significantly improves dynamic control dependence information, with corresponding improvements in client analyses such as dynamic program slicing and reverse engineering. To the best of our knowledge, this is the first proposal to reason about low-level dynamic control dependencies in interpretive systems in the presence of dynamic code generation and optimization.

Original languageEnglish (US)
Title of host publicationRuntime Verification - 17th International Conference, RV 2017, Proceedings
PublisherSpringer Verlag
Pages312-329
Number of pages18
Volume10548 LNCS
ISBN (Print)9783319675305
DOIs
StatePublished - 2017
Event17th International Conference on Runtime Verification, RV 2017 - Seattle, United States
Duration: Sep 13 2017Sep 16 2017

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume10548 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other17th International Conference on Runtime Verification, RV 2017
CountryUnited States
CitySeattle
Period9/13/179/16/17

Fingerprint

Dynamic Control
Program Slicing
Algorithm Analysis
Code Generation
Reverse Engineering
Compiler
Reverse engineering
Reasoning
Computer systems
Optimization

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Cite this

Yadegari, B., & Debray, S. K. (2017). Control dependencies in interpretive systems. In Runtime Verification - 17th International Conference, RV 2017, Proceedings (Vol. 10548 LNCS, pp. 312-329). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 10548 LNCS). Springer Verlag. https://doi.org/10.1007/978-3-319-67531-2_19

Control dependencies in interpretive systems. / Yadegari, Babak; Debray, Saumya K.

Runtime Verification - 17th International Conference, RV 2017, Proceedings. Vol. 10548 LNCS Springer Verlag, 2017. p. 312-329 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 10548 LNCS).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Yadegari, B & Debray, SK 2017, Control dependencies in interpretive systems. in Runtime Verification - 17th International Conference, RV 2017, Proceedings. vol. 10548 LNCS, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 10548 LNCS, Springer Verlag, pp. 312-329, 17th International Conference on Runtime Verification, RV 2017, Seattle, United States, 9/13/17. https://doi.org/10.1007/978-3-319-67531-2_19
Yadegari B, Debray SK. Control dependencies in interpretive systems. In Runtime Verification - 17th International Conference, RV 2017, Proceedings. Vol. 10548 LNCS. Springer Verlag. 2017. p. 312-329. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)). https://doi.org/10.1007/978-3-319-67531-2_19
Yadegari, Babak ; Debray, Saumya K. / Control dependencies in interpretive systems. Runtime Verification - 17th International Conference, RV 2017, Proceedings. Vol. 10548 LNCS Springer Verlag, 2017. pp. 312-329 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).
@inproceedings{b8f0ec69afb347258c0396ff05ff1adf,
title = "Control dependencies in interpretive systems",
abstract = "Interpreters and just-in-time (JIT) compilers are ubiquitous in modern computer systems, making it important to have good program analyses for reasoning about such systems. Control dependence, which plays a fundamental role in a number of program analyses, is an important contender in this regard. Existing algorithms for (dynamic) control dependence analysis do not take into account some important runtime characteristics of interpretive computations, and as a result produce results that may be imprecise and/or unsound. This paper describes a new notion of control dependence and an analysis algorithm for interpretive systems. This significantly improves dynamic control dependence information, with corresponding improvements in client analyses such as dynamic program slicing and reverse engineering. To the best of our knowledge, this is the first proposal to reason about low-level dynamic control dependencies in interpretive systems in the presence of dynamic code generation and optimization.",
author = "Babak Yadegari and Debray, {Saumya K}",
year = "2017",
doi = "10.1007/978-3-319-67531-2_19",
language = "English (US)",
isbn = "9783319675305",
volume = "10548 LNCS",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Verlag",
pages = "312--329",
booktitle = "Runtime Verification - 17th International Conference, RV 2017, Proceedings",
address = "Germany",

}

TY - GEN

T1 - Control dependencies in interpretive systems

AU - Yadegari, Babak

AU - Debray, Saumya K

PY - 2017

Y1 - 2017

N2 - Interpreters and just-in-time (JIT) compilers are ubiquitous in modern computer systems, making it important to have good program analyses for reasoning about such systems. Control dependence, which plays a fundamental role in a number of program analyses, is an important contender in this regard. Existing algorithms for (dynamic) control dependence analysis do not take into account some important runtime characteristics of interpretive computations, and as a result produce results that may be imprecise and/or unsound. This paper describes a new notion of control dependence and an analysis algorithm for interpretive systems. This significantly improves dynamic control dependence information, with corresponding improvements in client analyses such as dynamic program slicing and reverse engineering. To the best of our knowledge, this is the first proposal to reason about low-level dynamic control dependencies in interpretive systems in the presence of dynamic code generation and optimization.

AB - Interpreters and just-in-time (JIT) compilers are ubiquitous in modern computer systems, making it important to have good program analyses for reasoning about such systems. Control dependence, which plays a fundamental role in a number of program analyses, is an important contender in this regard. Existing algorithms for (dynamic) control dependence analysis do not take into account some important runtime characteristics of interpretive computations, and as a result produce results that may be imprecise and/or unsound. This paper describes a new notion of control dependence and an analysis algorithm for interpretive systems. This significantly improves dynamic control dependence information, with corresponding improvements in client analyses such as dynamic program slicing and reverse engineering. To the best of our knowledge, this is the first proposal to reason about low-level dynamic control dependencies in interpretive systems in the presence of dynamic code generation and optimization.

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

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

U2 - 10.1007/978-3-319-67531-2_19

DO - 10.1007/978-3-319-67531-2_19

M3 - Conference contribution

AN - SCOPUS:85029583718

SN - 9783319675305

VL - 10548 LNCS

T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

SP - 312

EP - 329

BT - Runtime Verification - 17th International Conference, RV 2017, Proceedings

PB - Springer Verlag

ER -