Skip to main content

Modifying Test Suite Composition to Enable Effective Predicate-Level Statistical Debugging

  • Conference paper

Part of the Lecture Notes in Computer Science book series (LNPSE,volume 7226)

Abstract

In order to effectively deal with increased complexity and production pressures for the development of safety-critical systems, organizations need automated assistance in program analysis and testing. This need is intensified for systems that make heavy use of floating-point computations. Challenges related to the use of floating-point computations exist in the fields of testing, formal verification and debugging. While testing and formal verification provide mechanisms to identify possible failures within safety-critical systems, debugging techniques are employed to automatically isolate the cause of the failure. Recent advances in predicate-level statistical debugging have addressed localizing faults due to floating-point computations. Here, we present a methodology to modify the composition of a test suite to enable predicate-level statistical debuggers to more effectively isolate the causes of failures in safety-critical systems. Our methodology makes test suites significantly more effective for a class of debuggers, including those built to address faults due to floating-point computations.

Keywords

  • causal model
  • matching
  • debugging
  • safety-critical systems

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (Canada)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (Canada)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (Canada)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Swenson, H., Barhydt, R., Landis, M.: Next Generation Air Transportation System Air Traffic Management, Technical report, NASA Ames Research Center (2006)

    Google Scholar 

  2. Stanton, N.A., Marsden, P.: From Fly-by-Wire to Drive-by-Wire: Safety Implications of Automation in Vehicles. Safety Sci. 24(1), 35–49 (1996)

    CrossRef  Google Scholar 

  3. Monniaux, D.: The Pitfalls of Verifying Floating-point Computations. ACM Trans. Program. Lang. Syst. 30(3), 1–41 (2008)

    CrossRef  Google Scholar 

  4. Hallam, P.: What do programmers really do anyway? In: Microsoft Developer Network (MSDN) C# Compiler (2006)

    Google Scholar 

  5. Pigoski, T.M.: Practical Software Maintenance: Best Practices for Managing Your Software Investments. John Wiley & Sons, New York (1996)

    Google Scholar 

  6. Liblit, B., Naik, M., Zheng, A.X., Aiken, A., Jordan, M.I.: Scalable Statistical Bug Isolation. In: Conf. on Programming Language Design and Implementation, pp. 15–26. ACM Press, New York (2005)

    Google Scholar 

  7. Baah, G.K., Podgurski, A., Harrold, M.J.: Mitigating the Confounding Effects of Program Dependences for Effective Fault Localization. In: Symp. on Foundations of Software Engineering, pp. 146–156. ACM Press, New York (2011)

    Google Scholar 

  8. Gore, R., Reynolds, P.F., Kamensky, D.: Statistical Debugging with Elastic Predicates. In: Conf. on Automated Software Engineering, pp. 492–495. ACM Press, New York (2011)

    Google Scholar 

  9. Gore, R., Reynolds, P.F.: Reducing Confounding Bias in Predicate-level Statistical Debuggers. Submitted to: Conf. on Software Engineering. ACM Press, New York (2012)

    Google Scholar 

  10. Renieris, M., Reiss, S.: Fault Localization with Nearest Neighbor Queries. In: Conf. on Automated Software Engineering, pp. 30–39. ACM Press, New York (2003)

    Google Scholar 

  11. Jeffery, D., Gupta, N., Gupta, R.: Fault Localization using Value Replacement. In: Symp. on Software Testing and Analysis, pp. 167–177. ACM Press, New York (2008)

    Google Scholar 

  12. Pearl, J.: Causality: Models, Reasoning, and Inference. Cambridge University Press, San Francisco (2000)

    MATH  Google Scholar 

  13. Pearl, J., Verma, T.: A Theory of Inferred Causation. In: Conf. on Principles of Knowledge Representation and Reasoning, pp. 441–452. AAAI Press, Palo Alto (1991)

    Google Scholar 

  14. Morgan, S.L., Winship, C.: Counterfactuals and Causal Inference: Methods and Principles of Social Research. Cambridge University Press, Cambridge (2007)

    Google Scholar 

  15. Ferrante, J., Ottenstein, K.J., Warren, J.D.: The Program dependence graph and its use in optimization. ACM Trans. on Program Lang. Sys. 9(30), 319–349 (1987)

    CrossRef  MATH  Google Scholar 

  16. Harman, W.H.: TCAS: A System for Preventing Midair Collisions. Lincoln Laboratory Journal 2, 437–458 (1989)

    Google Scholar 

  17. SIR: Software-artifact Infrastructure Repository, http://sir.unl.edu/portal/index.html

  18. Diamond, A., Sekhon, J.S.: Genetic Matching for Estimating Causal Effects: A General Multivariate Matching Method for Achieving Balance in Observational Studies. Technical report (2006)

    Google Scholar 

  19. Bate, I., Burns, A.: An Integrated Approach to Scheduling in Safety-critical Embedded Control Systems. Real-Time Syst. 25(1), 5–37 (2003)

    CrossRef  MATH  Google Scholar 

  20. R Development Core Team. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria (2008)

    Google Scholar 

  21. Sekhon, J.S.: Multivariate and Propensity Score Matching Software with Automated Balance Optimization: The Matching package for R. J. Stats. Soft. 42(7), 1–52 (2011)

    Google Scholar 

  22. D’Silva, V., Kroening, D., Weissenbacher, G.: A Survey of Automated Techniques for Formal Software Verification. IEEE Trans. Comp. Aided Design 27(7), 1165–1178 (2008)

    CrossRef  Google Scholar 

  23. Cleve, H., Zeller, A.: Locating Causes of Program Failures. In: Conf. on Software Engineering, pp. 342–351. ACM Press, New York (2005)

    Google Scholar 

  24. Gupta, N., He, H., Zhang, X., Gupta, R.: Locating Faulty Code Using Failure-inducing Chops. In: Conf. on Automated Software Engineering, pp. 263–272. ACM Press, New York (2005)

    Google Scholar 

  25. Tip, F.: A Survey of Program Slicing Techniques. J. Program. Lang. 3, 121–189 (1995)

    Google Scholar 

  26. Weiser, M.: Program Slicing. In: Conf. on Software Engineering, pp. 439–449. ACM Press, New York (1981)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gore, R., Reynolds, P.F. (2012). Modifying Test Suite Composition to Enable Effective Predicate-Level Statistical Debugging. In: Goodloe, A.E., Person, S. (eds) NASA Formal Methods. NFM 2012. Lecture Notes in Computer Science, vol 7226. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-28891-3_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-28891-3_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-28890-6

  • Online ISBN: 978-3-642-28891-3

  • eBook Packages: Computer ScienceComputer Science (R0)