Matches in SemOpenAlex for { <https://semopenalex.org/work/W631074032> ?p ?o ?g. }
- W631074032 abstract "Developing automated techniques for identifying a fault candidate set (i.e., subset of executed statements that contains the faulty code responsible for the failure during a program run), can greatly reduce the effort of debugging. Over 15 years ago precise dynamic slicing was proposed to identify a fault candidate set as consisting of all executed statements that influence the computation of an incorrect value through a chain of data and/or control dependences. However, the challenge of making precise dynamic slicing practical has not been addressed. This dissertation addresses this challenge and makes precise dynamic slicing useful for debugging realistic applications. First, the cost of computing precise dynamic slices is greatly reduced. Second, innovative ways of using precise dynamic slicing are identified to produce small failure candidate sets. The key cause of high space and time cost of precise dynamic slicing is the very large size of dynamic dependence graphs that are constructed and traversed for computing dynamic slices. By developing a novel series of optimizations the size of the dynamic dependence graph is greatly reduced leading to a compact representation that can be rapidly traversed. Average space needed is reduced from 2 Gigabytes to 94 Megabytes for dynamic dependence graphs corresponding to executions with average lengths of 130 Million instructions. The precise dynamic slicing time is reduced from up to 20 minutes for a demand-driven algorithm to 16 seconds. A compression algorithm is developed to further reduce dependence graph sizes. The resulting representation achieves the space efficiency such that the dynamic execution history of executing a couple of billion instructions can be held in a Gigabyte of memory. To further scale precise dynamic slicing to longer program runs, a novel approach is proposed that uses checkpointing/logging to enable collection of dynamic history of only the relevant window of execution.Classical backward dynamic slicing can often produce fault candidate sets that contain thousands of statements making the task of identifying faulty code very time consuming for the programmer. Novel techniques are proposed to improve effectiveness of dynamic slicing for fault location. The merit of these techniques lies in identifying multiple forms of dynamic slices in a failed run and then intersecting them to produce smaller fault candidate sets. Using these techniques, the fault candidate set size corresponding to the backward dynamic slice is reduced by nearly a factor of 3. A fine-grained statistical pruning technique based on value profiles is also developed and this technique reduces the sizes of backward dynamic slices by a factor of 2.5. In conclusion, this dissertation greatly reduces the cost of precise dynamic slicing and presents techniques to improve its effectiveness for fault location." @default.
- W631074032 created "2016-06-24" @default.
- W631074032 creator A5027961969 @default.
- W631074032 creator A5038911170 @default.
- W631074032 date "2006-01-01" @default.
- W631074032 modified "2023-09-27" @default.
- W631074032 title "Fault location via precise dynamic slicing" @default.
- W631074032 cites W1480780803 @default.
- W631074032 cites W1492018576 @default.
- W631074032 cites W1525451871 @default.
- W631074032 cites W1534516911 @default.
- W631074032 cites W1535300117 @default.
- W631074032 cites W1537098769 @default.
- W631074032 cites W1561980803 @default.
- W631074032 cites W1574060188 @default.
- W631074032 cites W1589156006 @default.
- W631074032 cites W1596552075 @default.
- W631074032 cites W168089997 @default.
- W631074032 cites W1843474218 @default.
- W631074032 cites W1966982815 @default.
- W631074032 cites W1967866549 @default.
- W631074032 cites W1968847337 @default.
- W631074032 cites W1983166063 @default.
- W631074032 cites W1984248430 @default.
- W631074032 cites W1984846967 @default.
- W631074032 cites W1987238172 @default.
- W631074032 cites W1988637082 @default.
- W631074032 cites W1999097496 @default.
- W631074032 cites W2007181618 @default.
- W631074032 cites W2024205760 @default.
- W631074032 cites W2026117800 @default.
- W631074032 cites W2036196659 @default.
- W631074032 cites W2037635237 @default.
- W631074032 cites W2047652230 @default.
- W631074032 cites W2054520963 @default.
- W631074032 cites W2084974764 @default.
- W631074032 cites W2089139117 @default.
- W631074032 cites W2095063920 @default.
- W631074032 cites W2096458542 @default.
- W631074032 cites W2096522207 @default.
- W631074032 cites W2101099159 @default.
- W631074032 cites W2101134669 @default.
- W631074032 cites W2102674270 @default.
- W631074032 cites W2108112890 @default.
- W631074032 cites W2108149083 @default.
- W631074032 cites W2108278741 @default.
- W631074032 cites W2109749977 @default.
- W631074032 cites W2110066339 @default.
- W631074032 cites W2110137598 @default.
- W631074032 cites W2116409384 @default.
- W631074032 cites W2118263004 @default.
- W631074032 cites W2121081915 @default.
- W631074032 cites W2123659430 @default.
- W631074032 cites W2123896602 @default.
- W631074032 cites W2124666592 @default.
- W631074032 cites W2124796303 @default.
- W631074032 cites W2125002353 @default.
- W631074032 cites W2126915506 @default.
- W631074032 cites W2129523505 @default.
- W631074032 cites W2129663982 @default.
- W631074032 cites W2134691366 @default.
- W631074032 cites W2134936699 @default.
- W631074032 cites W2136568800 @default.
- W631074032 cites W2137204686 @default.
- W631074032 cites W2139643778 @default.
- W631074032 cites W2143563682 @default.
- W631074032 cites W2144344516 @default.
- W631074032 cites W2145377152 @default.
- W631074032 cites W2146280225 @default.
- W631074032 cites W2149222015 @default.
- W631074032 cites W2151139698 @default.
- W631074032 cites W2154693467 @default.
- W631074032 cites W2155479707 @default.
- W631074032 cites W2156268601 @default.
- W631074032 cites W2156357889 @default.
- W631074032 cites W2160510992 @default.
- W631074032 cites W2162045655 @default.
- W631074032 cites W2162773908 @default.
- W631074032 cites W2162777718 @default.
- W631074032 cites W2164392635 @default.
- W631074032 cites W2166007208 @default.
- W631074032 cites W2170224888 @default.
- W631074032 cites W2245429186 @default.
- W631074032 cites W2295303622 @default.
- W631074032 cites W2295399529 @default.
- W631074032 cites W2913256667 @default.
- W631074032 cites W3151299008 @default.
- W631074032 cites W323988595 @default.
- W631074032 cites W53653091 @default.
- W631074032 hasPublicationYear "2006" @default.
- W631074032 type Work @default.
- W631074032 sameAs 631074032 @default.
- W631074032 citedByCount "2" @default.
- W631074032 crossrefType "journal-article" @default.
- W631074032 hasAuthorship W631074032A5027961969 @default.
- W631074032 hasAuthorship W631074032A5038911170 @default.
- W631074032 hasConcept C11413529 @default.
- W631074032 hasConcept C132525143 @default.
- W631074032 hasConcept C136764020 @default.
- W631074032 hasConcept C168065819 @default.