Skip to main content

On Faults and Faulty Programs

  • Conference paper
Relational and Algebraic Methods in Computer Science (RAMICS 2014)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8428))

Abstract

A fault is an attribute of a program that precludes it from satisfying its specification; while this definition may sound clear-cut, it leaves many details unspecified. An incorrect program may be corrected in many different ways, involving different numbers of modifications. Hence neither the location nor the number of of faults may be defined in a unique manner; this, in turn, sheds a cloud of uncertainty on such concepts as fault density, and fault forecasting. In this paper, we present a more precise definition of a program fault, that has the following properties: it recognizes that the same incorrect behavior may be remedied in more than one way; it recognizes that removing a fault does not necessarily make the program correct, but may make it less incorrect (in a sense to be defined); it characterizes fault removals that make the program less incorrect, as opposed to fault removals that may remedy one aspect of program behavior at the expense of others; it recognizes that isolating a fault in a program is based on implicit assumptions about the remaining program parts; it identifies instances when a fault may be localized in a program with absolute certainty.

Acknowledgement: This publication was made possible by a grant from the Qatar National Research Fund, NPRP04-1109-1-174. Its contents are solely the responsibility of the authors and do not necessarily represent the official views of the QNRF.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Avizienis, A., Laprie, J.C., Randell, B., Landwehr, C.E.: Basic Concepts and Taxonomy of Dependable and Secure Computing. IEEE Transactions on Dependable and Secure Computing 1, 11–33 (2004)

    Article  Google Scholar 

  2. Boudriga, N., Elloumi, F., Mili, A.: The Lattice of Specifications: Applications to a Specification Methodology. Formal Aspects of Computing 4, 544–571 (1992)

    Article  MATH  Google Scholar 

  3. Debroy, V., Wong, W.E.: Using Mutations to Automatically Suggest Fixes for Faulty Programs. In: Proceedings, ICST, pp. 65–74 (2010)

    Google Scholar 

  4. Dennis, G., Yessenov, K., Jackson, D.: Bounded Verification of Voting Software. In: Shankar, N., Woodcock, J. (eds.) VSTTE 2008. LNCS, vol. 5295, pp. 130–145. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  5. Desharnais, J., Jaoua, A., Mili, F., Boudriga, N., Mili, A.: A Relational Division Operator: The Conjugate Kernel. Theoretical Computer Science 114, 247–272 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  6. Frappier, M., Desharnais, J., Mili, A.: A Calculus of Program Construction by Parts. Science of Computer Programming 6, 237–254 (1996)

    Article  MathSciNet  Google Scholar 

  7. Gonzalez-Sanchez, A., Abreu, R., Gross, H.-G., van Gemund, A.: Prioritizing Tests for Fault Localization through Ambiguity Group Reduction. In: Proceedings, Automated Software Engineering, Lawrence, KS (2011)

    Google Scholar 

  8. Gopinath, D., Malik, M.Z., Khurshid, S.: Specification Based Program Repair Using SAT. In: Abdulla, P.A., Leino, K.R.M. (eds.) TACAS 2011. LNCS, vol. 6605, pp. 173–188. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  9. Jose, M., Majumdar, R.: Cause Clue Clauses: Error Localization Using Maximum Satisfiability. In: Procedings, PLDI (2011)

    Google Scholar 

  10. Laprie, J.C.: Dependability —Its Attributes, Impairments and Means. In: Predictably Dependable Computing Systems, pp. 1–19. Springer (1995)

    Google Scholar 

  11. Laprie, J.C.: Dependability: Basic Concepts and Terminology: in English, French, German, Italian and Japanese. Springer, Heidelberg (1991)

    Google Scholar 

  12. Laprie, J.C.: Dependable Computing: Concepts, Challenges, Directions. In: Proceedings, COMPSAC (2004)

    Google Scholar 

  13. Ma, Y.S., Offutt, J., Kwon, Y.R.: Mu Java: An Automated Class Mutation System. Software Testing, Verification and Reliability 15, 97–133 (2005)

    Article  Google Scholar 

  14. Mili, A., Desharnais, J., Mili, F.: Computer Program Construction. Oxford University Press, New York (1994)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Mili, A., Frias, M.F., Jaoua, A. (2014). On Faults and Faulty Programs. In: Höfner, P., Jipsen, P., Kahl, W., Müller, M.E. (eds) Relational and Algebraic Methods in Computer Science. RAMICS 2014. Lecture Notes in Computer Science, vol 8428. Springer, Cham. https://doi.org/10.1007/978-3-319-06251-8_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-06251-8_12

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-06250-1

  • Online ISBN: 978-3-319-06251-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics