UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

Observation-based approximate dependency modeling and its use for program slicing

Lee, S; Binkley, D; Feldt, R; Gold, N; Yoo, S; (2021) Observation-based approximate dependency modeling and its use for program slicing. Journal of Systems and Software , 179 , Article 110988. 10.1016/j.jss.2021.110988. Green open access

[thumbnail of paper.pdf]
Preview
Text
paper.pdf - Accepted Version

Download (972kB) | Preview

Abstract

While dependency analysis is foundational to much program analysis, many techniques have limited scalability and handle only monolingual systems. We present a novel dependency analysis technique that aims to approximate program dependency from a relatively small number of perturbed executions. Our technique, MOAD (Modeling Observation-based Approximate Dependency), reformulates program dependency as the likelihood that one program element is dependent on another (instead of a Boolean relationship). MOAD generates program variants by deleting parts of the source code and executing them while observing the impact. MOAD thus infers a model of program dependency that captures the relationship between the modification and observation points. We evaluate MOAD using program slices obtained from the resulting probabilistic dependency models. Compared to the existing observation-based backward slicing technique, ORBS, MOAD requires only 18.6% of the observations, while the resulting slices are only 12% larger on average. Furthermore, we introduce the notion of the observation-based forward slices. Unlike ORBS, which inherently computes backward slices, MOAD’s model’s dependences can be traversed in either direction allowing us to easily compute forward slices. In comparison to the static forward slice, MOAD only misses deleting 0–6 lines (median 0), while excessively deleting 0–37 lines (median 8) from the slice.

Type: Article
Title: Observation-based approximate dependency modeling and its use for program slicing
Open access status: An open access version is available from UCL Discovery
DOI: 10.1016/j.jss.2021.110988
Publisher version: https://doi.org/10.1016/j.jss.2021.110988
Language: English
Additional information: This version is the author accepted manuscript. For information on re-use, please refer to the publisher's terms and conditions.
Keywords: Dependency analysis, Program slicing, Model learning, MOAD
UCL classification: UCL
UCL > Provost and Vice Provost Offices > UCL BEAMS
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science
URI: https://discovery.ucl.ac.uk/id/eprint/10127858
Downloads since deposit
49Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item