Skip to main content

Detect and Localize Faults in Alias-Free Programs Using Specification Knowledge

  • Conference paper
Next-Generation Applied Intelligence (IEA/AIE 2009)

Abstract

Locating faults is one of the most time consuming tasks in today’s fast paced economy. Testing and formal verification techniques like model-checking are usually used for detecting faults but do not attempt to locate the root-cause for the detected faulty behavior. This article makes use of an abstract dependences between program variables for detecting and locating faults in alias-free programs in cases where an abstract specification is available. The idea of using dependences for fault detection and localization is not new. But the relationship between the abstract model and the concrete evaluation of programs have not been considered so far. In particular we show that the dependence model is correct. Whenever the dependence model reveals a fault there is a test case, which also reveals a fault.

Authors are listed in alphabetical order. The research herein is partially conducted within the competence network Softnet Austria (www.soft-net.at) and funded by the Austrian Federal Ministry of Economics (bm:wa), the province of Styria, the Steirische Wirtschaftsf orderungsgesellschaft mbH. (SFG), and the city of Vienna in terms of the center for innovation and technology (ZIT).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • 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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Cousot, P., Cousot, R.: Abstract interpreation: A unified lattice model for static analysis of programs by construction of approximation of fixpoints. In: Proceedings POPL 1977, pp. 238–252. ACM, New York (1977)

    Google Scholar 

  2. de Kleer, J., Williams, B.C.: Diagnosing multiple faults. Artificial Intelligence 32(1), 97–130 (1987)

    Google Scholar 

  3. Forbus, K.D.: Qualitative process theory. Artificial Intelligence 24, 85–168 (1984)

    Google Scholar 

  4. Friedrich, G., Stumptner, M., Wotawa, F.: Model-based diagnosis of hardware designs. Artificial Intelligence 111(2), 3–39 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  5. Greiner, R., Smith, B.A., Wilkerson, R.W.: A correction to the algorithm in Reiter’s theory of diagnosis. Artificial Intelligence 41(1), 79–88 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  6. Jackson, D.: Aspect: Detecting Bugs with Abstract Dependences. ACM Transactions on Software Engineering and Methodology 4(2), 109–145 (1995)

    Article  MathSciNet  Google Scholar 

  7. Kuipers, B.: Qualitative simulation. Artificial Intelligence 29, 289–388 (1986)

    Google Scholar 

  8. Mayer, W., Stumptner, M.: Debugging program loops using approximate modeling. In: Proceedings ECAI 2004, Valencia, Spain, pp. 843–847 (2004)

    Google Scholar 

  9. Reiter, R.: A theory of diagnosis from first principles. Artificial Intelligence 32(1), 57–95 (1987)

    Google Scholar 

  10. Soomro, S.: Using abstract dependences to localize faults from procedural programs. In: Proceedings Artificial Intelligence and Applications, Innsbruck, Austria, pp. 180–185 (2007)

    Google Scholar 

  11. Weiser, M.: Programmers use slices when debugging. Communications of the ACM 25(7), 446–452 (1982)

    Google Scholar 

  12. Weiser, M.: Program slicing. IEEE Transactions on Software Engineering 10(4), 352–357 (1984)

    Article  MATH  Google Scholar 

  13. Weld, D., de Kleer, J. (eds.): Readings in Qualitative Reasoning about Physical Systems. Morgan Kaufmann, San Francisco (1989)

    Google Scholar 

  14. Wieland, D.: Model-Based Debugging of Java Programs Using Dependencies. PhD thesis, Vienna University of Technology, Computer Science Department, Institute of Information Systems, Database and Artificial Intelligence Group (2001)

    Google Scholar 

  15. Wotawa, F.: On the Relationship between Model-Based Debugging and Program Slicing. Artificial Intelligence 135(1–2), 124–143 (2002)

    MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Soomro, S., Wotawa, F. (2009). Detect and Localize Faults in Alias-Free Programs Using Specification Knowledge. In: Chien, BC., Hong, TP., Chen, SM., Ali, M. (eds) Next-Generation Applied Intelligence. IEA/AIE 2009. Lecture Notes in Computer Science(), vol 5579. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02568-6_39

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-02568-6_39

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-02567-9

  • Online ISBN: 978-3-642-02568-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics