Program slicing
By Mark Harman, K. Gallagher. 2008 Frontiers of Software Maintenance, 2008
2,591 citations recorded by the source corpus.
Subfields: Information Systems, Software
View Paper: https://www.semanticscholar.org/paper/fbe737e4bfb53933c6bbf9cce7a5c808fa7c5ba4
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Information Systems
- Chanchal Kumar Roy
- James R. Cordy
- Zhendong Su
- Christian Kästner
- Sven Apel
- Mark Harman
- Gunter Saake
- Jonathan Sillito
In Software
- Chanchal Kumar Roy
- James R. Cordy
- Mark Harman
- Zhendong Su
- Lorenzo Cavallaro
- David Brumley
- Christopher Krügel
- Fabio Pierazzi
Citations in the corpus
- Learning a classifier for false positive error reports emitted by static code analysis tools (2017, background): “However, program slicing is unsolvable in general and not scalable most of the time (Weiser 1981).”
- Locating faults through automated predicate switching (2006, methodology): “Some examples of such techniques include delta debugging [16, 7, 17, 15, 2], variants of backward dynamic slicing [13, 9, 1, 18, 19, 20, 21], and failure inducing chops [3].”
- A Survey on Software Clone Detection Research (2007, methodology): “One of the leading PDG-based clone detection approach is that of Komondoor and Horwitz’s PDG-DUP [141, 144] which finds isomorphic PDG subgraphs using program slicing [218].”
- Are automated debugging techniques actually helping programmers? (2011, methodology): “Almost 30 years ago, Weiser proposed one of the first techniques for supporting automated debugging and, in particular, fault localization: program slicing [26,27].”
- Debugging Machine Learning Tasks (2016, background): “Alice’s tried-and-tested approach to debugging is to start at the point of the error and work backward and find which portions of the code led to the error [10].”
- Search Algorithms for Regression Test Case Prioritization (2007, methodology): “For example, techniques for automatically partitioning software into smaller units, such as slicing [21], tend to produce rather large (and overlapping) subprograms [3].”
- Generating Efficient MCMC Kernels from Probabilistic Programs (2014, methodology): “Our system provides a much more efficient implementation of Metropolis-Hastings-based queries for the Church probabilistic programming language [6].”
- Asking and Answering Questions during a Programming Change Task (2008, methodology): “based on slicing [71], [20], [76] or chopping [27] techniques”
- An empirical study of cryptographic misuse in android applications (2013, positive): “Static program slicing [27] is specified with respect to a slicing criterion.”
- HDD: hierarchical delta debugging (2006, background): “Rather than examining the input to a program, program slicing [15, 16] can be used to isolate relevant portions of a program that are necessary to yield some result.”
- BugFix: A learning-based tool to assist developers in fixing bugs (2009, background): “Static Slicing [31] identifies a subset of program statements that may influence the value of a variable at a program location.”
- Intriguing Properties of Adversarial ML Attacks in the Problem Space (2019, methodology): “As we intend to produce realistic examples, we use program slicing [71] to extract a functional set of statements that includes a reference to Xi.”
- Modeling and Discovering Vulnerabilities with Code Property Graphs (2014, background): “ing [41], that is, to determine all statements and predicates of a program that affect the value of a variable at a specified statement.”
- DECKARD: Scalable and Accurate Tree-Based Detection of Code Clones (2007, background): “Komondoor and Horwitz [14] suggest the use of program dependence graphs (PDGs) [8] and program slicing [22] to find isomorphic PDG subgraphs in order to identify code clones.”
- A Survey on Software Fault Localization (2016, background): “One of the important applications of static slicing [360] is to reduce the search domain while programmers locate bugs in their programs.”
- Maintaining mental models: a study of developer work habits (2006, background): “Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page.”
- Effective and Efficient Malware Detection at the End Host (2009, methodology): “…of system calls x and y that is similar to a previously-observed data flow is as follows: Using the observed data flow, we extract those parts of the program (the instructions) that are responsible for reading the input and transforming it into the corresponding output (a kind of program slice [53]).”