Advertisement

Context-Sensitive Dynamic Partial Order Reduction

  • Elvira Albert
  • Puri Arenas
  • María García de la Banda
  • Miguel Gómez-Zamalloa
  • Peter J. Stuckey
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10426)

Abstract

Dynamic Partial Order Reduction (DPOR) is a powerful technique used in verification and testing to reduce the number of equivalent executions explored. Two executions are equivalent if they can be obtained from each other by swapping adjacent, non-conflicting (independent) execution steps. Existing DPOR algorithms rely on a notion of independence that is context-insensitive, i.e., the execution steps must be independent in all contexts. In practice, independence is often proved by just checking no execution step writes on a shared variable. We present context-sensitive DPOR, an extension of DPOR that uses context-sensitive independence, where two steps might be independent only in the particular context explored. We show theoretically and experimentally how context-sensitive DPOR can achieve exponential gains.

Notes

Acknowledgments

This work was funded partially by the Spanish MINECO projects TIN2012-38137 and TIN2015-69175-C4-2-R and by the CM project S2013/ICE-3006.

References

  1. 1.
    Abdulla, P.A., Aronis, S., Jonsson, B., Sagonas, K.F.: Optimal dynamic partial order reduction. In: Proceedings of POPL 2014, pp. 373–384. ACM (2014)Google Scholar
  2. 2.
    Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)Google Scholar
  3. 3.
    Albert, E., Gómez-Zamalloa, M., Miguel Isabel, S.: A systematic testing tool for concurrent objects. In: Proceedings of CC 2016, pp. 269–270. ACM (2016)Google Scholar
  4. 4.
    Clarke, E.M., Grumberg, O., Minea, M., Peled, D.A.: State space reduction using partial order techniques. STTT 2(3), 279–287 (1999)CrossRefzbMATHGoogle Scholar
  5. 5.
    Flanagan, C., Godefroid, P.: Dynamic partial-order reduction for model checking software. In: Proceedings of POPL 2005, pp. 110–121. ACM (2005)Google Scholar
  6. 6.
    Godefroid, P.: Using partial orders to improve automatic verification methods. In: Clarke, E.M., Kurshan, R.P. (eds.) CAV 1990. LNCS, vol. 531, pp. 176–185. Springer, Heidelberg (1991). doi: 10.1007/BFb0023731 CrossRefGoogle Scholar
  7. 7.
    Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems - An Approach to the State-Explosion Problem. LNCS, vol. 1032. Springer, Heidelberg (1996)CrossRefzbMATHGoogle Scholar
  8. 8.
    Godefroid, P., Pirottin, D.: Refining dependencies improves partial-order verification methods (extended abstract). In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 438–449. Springer, Heidelberg (1993). doi: 10.1007/3-540-56922-7_36 CrossRefGoogle Scholar
  9. 9.
    Haller, P., Odersky, M.: Scala actors: unifying thread-based and event-based programming. Theoret. Comput. Sci. 410(2–3), 202–220 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Johnsen, E.B., Hähnle, R., Schäfer, J., Schlatte, R., Steffen, M.: ABS: a core language for abstract behavioral specification. In: Aichernig, B.K., Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 142–164. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-25271-6_8 CrossRefGoogle Scholar
  11. 11.
    Katz, S., Peled, D.A.: Defining conditional independence using collapses. Theoret. Comput. Sci. 101(2), 337–359 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Mazurkiewicz, A.: Trace theory. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) ACPN 1986. LNCS, vol. 255, pp. 278–324. Springer, Heidelberg (1987). doi: 10.1007/3-540-17906-2_30 CrossRefGoogle Scholar
  13. 13.
    Nielson, F., Nielson, F., Nielson, H.R., Hankin, C.: Principles of Program Analysis. Springer, Heidelberg (1999). doi: 10.1007/978-3-662-03811-6 CrossRefzbMATHGoogle Scholar
  14. 14.
    Tasharofi, S., Karmani, R.K., Lauterburg, S., Legay, A., Marinov, D., Agha, G.: TransDPOR: a novel dynamic partial-order reduction technique for testing actor programs. In: Giese, H., Rosu, G. (eds.) FMOODS/FORTE -2012. LNCS, vol. 7273, pp. 219–234. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-30793-5_14 CrossRefGoogle Scholar
  15. 15.
    Valmari, A.: On-the-fly verification with stubborn sets. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 397–408. Springer, Heidelberg (1993). doi: 10.1007/3-540-56922-7_33 CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Elvira Albert
    • 1
  • Puri Arenas
    • 1
  • María García de la Banda
    • 2
    • 4
  • Miguel Gómez-Zamalloa
    • 1
  • Peter J. Stuckey
    • 3
    • 4
  1. 1.DSICComplutense University of MadridMadridSpain
  2. 2.DCISUniversity of MelbourneMelbourneAustralia
  3. 3.Faculty of ITMonash UniversityMelbourneAustralia
  4. 4.IMDEA Software InstituteMadridSpain

Personalised recommendations