MOAD: Modeling observation-based approximate dependency
Paper in proceeding, 2019

While dependency analysis is foundational to many applications of program analysis, the static nature of many existing techniques presents challenges such as limited scalability and inability to cope with multi-lingual systems. We present a novel dependency analysis technique that aims to approximate program dependency from a relatively small number of perturbed executions. Our technique, called MOAD (Modeling Observation-based Approximate Dependency), reformulates program dependency as the likelihood that one program element is dependent on another, instead of a more classical Boolean relationship. MOAD generates a set of program variants by deleting parts of the source code, and executes them while observing the impacts of the deletions on various program points. From these observations, MOAD infers a model of program dependency that captures the dependency relationship between the modification and observation points. While MOAD is a purely dynamic dependency analysis technique similar to Observation Based Slicing (ORBS), it does not require iterative deletions. Rather, MOAD makes a much smaller number of multiple, independent observations in parallel and infers dependency relationships for multiple program elements simultaneously, significantly reducing the cost of dynamic dependency analysis. We evaluate MOAD by instantiating program slices from the obtained probabilistic dependency model. Compared to ORBS, MOAD's model construction requires only 18.7% of the observations used by ORBS, while its slices are only 16% larger than the corresponding ORBS slice, on average.

Model learning

Program slicing

Dependency analysis

Author

Seongmin Lee

Korea Advanced Institute of Science and Technology (KAIST)

David Binkley

Loyola University Maryland

Robert Feldt

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers)

Nicolas Gold

University College London (UCL)

Shin Yoo

Korea Advanced Institute of Science and Technology (KAIST)

Proceedings - 19th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2019

Vol. September 2019 12-22 8930847
978-172814937-0 (ISBN)

19th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2019
Cleveland, USA,

Subject Categories

Computational Mathematics

Computer Science

Computer Systems

DOI

10.1109/SCAM.2019.00011

More information

Latest update

8/19/2020