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

A comparison of tree- and line-oriented observational slicing

Binkley, D; Gold, NE; Islam, S; Krinke, J; Yoo, S; (2019) A comparison of tree- and line-oriented observational slicing. Empirical Software Engineering , 24 (5) pp. 3077-3113. 10.1007/s10664-018-9675-9. Green open access

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

Download (1MB) | Preview

Abstract

Observation-based slicing and its generalization observational slicing are recently-introduced, language-independent dynamic slicing techniques. They both construct slices based on the dependencies observed during program execution, rather than static or dynamic dependence analysis. The original implementation of the observation-based slicing algorithm used lines of source code as its program representation. A recent variation, developed to slice modelling languages (such as Simulink), used an XML representation of an executable model. We ported the XML slicer to source code by constructing a tree representation of traditional source code through the use of srcML. This work compares the tree- and line-based slicers using four experiments involving twenty different programs, ranging from classic benchmarks to million-line production systems. The resulting slices are essentially the same size for the majority of the programs and are often identical. However, structural constraints imposed by the tree representation sometimes force the slicer to retain enclosing control structures. It can also “bog down” trying to delete single-token subtrees. This occasionally makes the tree-based slices larger and the tree-based slicer slower than a parallelised version of the line-based slicer. In addition, a Java versus C comparison finds that the two languages lead to similar slices, but Java code takes noticeably longer to slice. The initial experiments suggest two improvements to the tree-based slicer: the addition of a size threshold, for ignoring small subtrees, and subtree replacement. The former enables the slicer to run 3.4 times faster while producing slices that are only about 9% larger. At the same time the subtree replacement reduces size by about 8–12% and allows the tree-based slicer to produce more natural slices.

Type: Article
Title: A comparison of tree- and line-oriented observational slicing
Open access status: An open access version is available from UCL Discovery
DOI: 10.1007/s10664-018-9675-9
Publisher version: https://doi.org/10.1007/s10664-018-9675-9
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: Program slicing, Observational slicing, ORBS, XML
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/10063458
Downloads since deposit
0Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item