10.1109/ICSE-Companion.2019.00136acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedings
research-article

Wok: statistical program slicing in production

ABSTRACT

Dynamic program slicing can significantly reduce the amount of code developers need to inspect by focusing only on program statements relevant to their investigation. However, this technique is still not ready for production-level use either in terms of runtime or storage efficiency.

We propose statistical program slicing, a novel hybrid dynamic-static slicing approach which explores the tradeoffs between runtime overhead, accuracy, and storage costs. Our technique relies on modern hardware support for control-flow tracing and selective heap memory instrumentation distributed across multiple executions, combined with static program analysis for data-flow tracking.

References

  1. M. Sridharan, S. J. Fink, and R. Bodik, "Thin slicing," in Proc. of PLDI'07, (NY, USA), pp. 112--122, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Weiser, "Program slicing," in Proc. of ICSE'81, (Piscataway, NJ, USA), pp. 439--449, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. X. Zhang, R. Gupta, and Y. Zhang, "Cost and precision tradeoffs of dynamic data slicing algorithms," ACM Trans. Prog. Lang. Sys., vol. 27, pp. 631--661, July 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. H. Agrawal and J. R. Horgan, "Dynamic program slicing," in Proc. of PLDI'90, (NY, USA), pp. 246--256, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. K. Sahoo, J. Criswell, C. Geigle, and V. Adve, "Using likely invariants for automated software fault localization," in Proc. of ASPLOS '13, pp. 139--152. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. B. Kasikci, B. Schubert, C. Pereira, G. Pokam, and G. Candea, "Failure sketching: A technique for automated root cause diagnosis of in-production failures," in Proc. of SOSP'15, (NY, USA), pp. 344--360, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Intel, "Software developer's manual (vol. 3b, ch. 36)," 2017.Google ScholarGoogle Scholar
  8. ARM, "Technical reference manual (ch. 15)," 2016.Google ScholarGoogle Scholar
  9. B. Liblit, M. Naik, A. X. Zheng, A. Aiken, and M. I. Jordan, "Scalable statistical bug isolation," in Proc. of PLDI'05, (NY, USA), pp. 15--26, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Kumar, P. Goodman, A. Goel, and A. D. Brown, "Behave or be watched: Debugging with behavioral watchpoints," in Proc. of HotDep'13, (NY, USA), pp. 111--116. Google ScholarGoogle ScholarDigital LibraryDigital Library

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Article Metrics

    • Downloads (Last 12 months)25
    • Downloads (Last 6 weeks)1

    Other Metrics

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader
About Cookies On This Site

We use cookies to ensure that we give you the best experience on our website.

Learn more

Got it!