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).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
de Kleer, J., Williams, B.C.: Diagnosing multiple faults. Artificial Intelligence 32(1), 97–130 (1987)
Forbus, K.D.: Qualitative process theory. Artificial Intelligence 24, 85–168 (1984)
Friedrich, G., Stumptner, M., Wotawa, F.: Model-based diagnosis of hardware designs. Artificial Intelligence 111(2), 3–39 (1999)
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)
Jackson, D.: Aspect: Detecting Bugs with Abstract Dependences. ACM Transactions on Software Engineering and Methodology 4(2), 109–145 (1995)
Kuipers, B.: Qualitative simulation. Artificial Intelligence 29, 289–388 (1986)
Mayer, W., Stumptner, M.: Debugging program loops using approximate modeling. In: Proceedings ECAI 2004, Valencia, Spain, pp. 843–847 (2004)
Reiter, R.: A theory of diagnosis from first principles. Artificial Intelligence 32(1), 57–95 (1987)
Soomro, S.: Using abstract dependences to localize faults from procedural programs. In: Proceedings Artificial Intelligence and Applications, Innsbruck, Austria, pp. 180–185 (2007)
Weiser, M.: Programmers use slices when debugging. Communications of the ACM 25(7), 446–452 (1982)
Weiser, M.: Program slicing. IEEE Transactions on Software Engineering 10(4), 352–357 (1984)
Weld, D., de Kleer, J. (eds.): Readings in Qualitative Reasoning about Physical Systems. Morgan Kaufmann, San Francisco (1989)
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)
Wotawa, F.: On the Relationship between Model-Based Debugging and Program Slicing. Artificial Intelligence 135(1–2), 124–143 (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)