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)


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
Publication statusPublished - 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


OtherAsia-Pacific Workshop on Systems, APSYS 2012
Country/TerritoryKorea, Republic of

All Science Journal Classification (ASJC) codes

  • Control and Systems Engineering


Dive into the research topics of 'MoonBox: Debugging with online slicing and dryrun'. Together they form a unique fingerprint.

Cite this