On the Completeness of Selective Unification in Concolic Testing of Logic Programs | SpringerLink
Skip to main content

On the Completeness of Selective Unification in Concolic Testing of Logic Programs

  • Conference paper
  • First Online:
Logic-Based Program Synthesis and Transformation (LOPSTR 2016)

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

  • 386 Accesses

Abstract

Concolic testing is a popular dynamic validation technique that can be used for both model checking and automatic test case generation. We have recently introduced concolic testing in the context of logic programming. In contrast to previous approaches, the key ingredient in this setting is a technique to generate appropriate run-time goals by considering all possible ways an atom can unify with the heads of some program clauses. This is called “selective” unification. In this paper, we show that the existing algorithm is not complete and explore different alternatives in order to have a sound and complete algorithm for selective unification.

This work has been partially supported by the EU (FEDER) and the Spanish Ministerio de Economía y Competitividad under grants TIN2013-44742-C4-1-R and TIN2016-76843-C4-1-R, and by the Generalitat Valenciana under grant PROMETEO-II/2015/013 (SmartLogic).

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

Access this chapter

Subscribe and save

Springer+ Basic
¥17,985 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
JPY 3498
Price includes VAT (Japan)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
JPY 5719
Price includes VAT (Japan)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
JPY 7149
Price includes VAT (Japan)
  • 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

Similar content being viewed by others

Notes

  1. 1.

    Following the linear semantics of [12], we consider sequences of goals to represent the leaves of the SLD tree built so far.

References

  1. Anand, S., Pasareanu, C.S., Visser, W.: Symbolic execution with abstraction. STTT 11(1), 53–67 (2009)

    Article  Google Scholar 

  2. Apt, K.R.: From Logic Programming to Prolog. Prentice Hall, Englewood Cliffs (1997)

    Google Scholar 

  3. Clarke, L.A.: A program testing system. In: Proceedings of the 1976 Annual Conference (ACM 1976), pp. 488–491 (1976)

    Google Scholar 

  4. Godefroid, P., Klarlund, N., Sen, K.: DART: directed automated random testing. In: Proceedings of PLDI 2005, pp. 213–223. ACM (2005)

    Google Scholar 

  5. Godefroid, P., Levin, M.Y., Molnar, D.A.: Sage: whitebox fuzzing for security testing. CACM 55(3), 40–44 (2012)

    Article  Google Scholar 

  6. King, J.C.: Symbolic execution and program testing. CACM 19(7), 385–394 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  7. Mesnard, F., Payet, É., Vidal, G.: Concolic testing in logic programming. TPLP 15(4–5), 711–725 (2015)

    MathSciNet  Google Scholar 

  8. Mesnard, F., Payet, É., Vidal, G.: Concolic testing in logic programming (extended version). CoRR abs/1507.05454 (2015). http://arxiv.org/abs/1507.05454

  9. Palamidessi, C.: Algebraic properties of idempotent substitutions. In: Paterson, M.S. (ed.) ICALP 1990. LNCS, vol. 443, pp. 386–399. Springer, Heidelberg (1990). doi:10.1007/BFb0032046

    Chapter  Google Scholar 

  10. Pasareanu, C.S., Rungta, N., PathFinder, S.: symbolic execution of Java bytecode. In: Pecheur, C., Andrews, J., Nitto, E.D. (eds.) ASE, pp. 179–180. ACM (2010)

    Google Scholar 

  11. Sen, K., Marinov, D., Agha, G.: CUTE: a concolic unit testing engine for C. In: Proceedings of ESEC/SIGSOFT FSE 2005, pp. 263–272. ACM (2005)

    Google Scholar 

  12. Ströder, T., Emmes, F., Schneider-Kamp, P., Giesl, J., Fuhs, C.: A linear operational semantics for termination and complexity analysis of ISO Prolog. In: Vidal, G. (ed.) LOPSTR 2011. LNCS, vol. 7225, pp. 237–252. Springer, Heidelberg (2012). doi:10.1007/978-3-642-32211-2_16

    Chapter  Google Scholar 

Download references

Acknowledgements

We would like to thank the anonymous reviewers and the participants of LOPSTR 2016 for their suggestions to improve this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Germán Vidal .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Mesnard, F., Payet, É., Vidal, G. (2017). On the Completeness of Selective Unification in Concolic Testing of Logic Programs. In: Hermenegildo, M., Lopez-Garcia, P. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 2016. Lecture Notes in Computer Science(), vol 10184. Springer, Cham. https://doi.org/10.1007/978-3-319-63139-4_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-63139-4_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-63138-7

  • Online ISBN: 978-3-319-63139-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics