MoonBox: Debugging with online slicing and dryrun

Cheng Zhang, Longwen Lu, Hucheng Zhou, Jianjun Zhao, Zheng Zhang

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Citations (Scopus)

Abstract

Efficient tools are indispensable in the battle against software bugs. In this short paper, we introduce two techniques that target different phases of an interactive and iterative debugging session. To make slice-assisted log analysis practical to help fault diagnosis, slicing itself must be done instantaneously. We split the costly slicing computation into online and offline, and employ incremental updates after program edits. The result is a vast reduction of slicing cost. For the benchmarks we tested, slices can be computed in the range of seconds, which is 0.02%-6.5% of the unmodified slicing algorithm. The possibility of running slicing in situ and with instant response time gives rise to the possibility of editing-time validation, which we call dryrun. The idea is that a pair of slices, one forward from root cause and one backward from the bug site, defines the scope to validate a fix. This localization makes it possible to invoke symbolic execution and constraint solving that are otherwise too expensive to use in an interactive debugging environment.

Original languageEnglish
Title of host publicationProceedings of the Asia-Pacific Workshop on Systems, APSYS'12
DOIs
Publication statusPublished - Oct 8 2012
Externally publishedYes
EventAsia-Pacific Workshop on Systems, APSYS 2012 - Seoul, Korea, Republic of
Duration: Jul 23 2012Jul 24 2012

Publication series

NameProceedings of the Asia-Pacific Workshop on Systems, APSYS'12

Other

OtherAsia-Pacific Workshop on Systems, APSYS 2012
CountryKorea, Republic of
CitySeoul
Period7/23/127/24/12

    Fingerprint

All Science Journal Classification (ASJC) codes

  • Control and Systems Engineering

Cite this

Zhang, C., Lu, L., Zhou, H., Zhao, J., & Zhang, Z. (2012). MoonBox: Debugging with online slicing and dryrun. In Proceedings of the Asia-Pacific Workshop on Systems, APSYS'12 (Proceedings of the Asia-Pacific Workshop on Systems, APSYS'12). https://doi.org/10.1145/2349896.2349908