Verifying Concurrent Graph Algorithms

  • Azalea Raad
  • Aquinas Hobor
  • Jules Villard
  • Philippa Gardner
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10017)

Abstract

We show how to verify four challenging concurrent fine-grained graph-manipulating algorithms, including graph copy, a speculatively parallel Dijkstra, graph marking and spanning tree. We develop a reasoning method for such algorithms that dynamically tracks the contributions and responsibilities of each thread operating on a graph, even in cases of arbitrary recursive thread creation. We demonstrate how to use a logic without abstraction ( Open image in new window ) to carry out abstract reasoning in the style of iCAP, by building the abstraction into the proof structure rather than incorporating it into the semantic model of the logic.

Notes

Acknowledgements

This research was supported by EPSRC programme grants EP/H008373/1 and EP/K008528/1, Yale-NUS College and R-607-265-045-121.

References

  1. 1.
    Bornat, R., Calcagno, C., O’Hearn, P.: Local reasoning, separation and aliasing. In: SPACE, vol. 4 (2004)Google Scholar
  2. 2.
    Dijkstra, E.W., Lamport, L., Martin, A.J., Scholten, C.S., Steffens, E.F.M.: On-the-fly darbage collection: an exercise in cooeration. In: Bauer, F.L., Dijkstra, E.W., Ershov, A., Griffiths, M., Hoare, C.A.R., Wulf, W.A., Samelson, K. (eds.) Language Hierarchies and Interfaces. LNCS, vol. 46, pp. 43–56. Springer, Heidelberg (1976). doi: 10.1007/3-540-07994-7_48 CrossRefGoogle Scholar
  3. 3.
    Dinsdale-Young, T., Birkedal, L., Gardner, P., Parkinson, M., Yang, H.: Views: compositional reasoning for concurrent programs. In: POPL, pp. 287–300 (2013)Google Scholar
  4. 4.
    Dinsdale-Young, T., Dodds, M., Gardner, P., Parkinson, M., Vafeiadis, V.: Concurrent abstract predicates. In: ECOOP, pp. 504–528 (2010)Google Scholar
  5. 5.
    Dockins, R., Hobor, A., Appel, A.: A fresh look at separation algebras and share accounting. In: APLAS (2009)Google Scholar
  6. 6.
    Feng, X.: Local rely-guarantee reasoning. In: POPL, pp. 315–327 (2009)Google Scholar
  7. 7.
    Grama, A., Anshul, G., Karypis, G., Kumar, V.: Introduction to Parallel Computing, 2nd edn. Addison Wesley, Boston (2003)MATHGoogle Scholar
  8. 8.
    Hobor, A., Villard, J.: The ramifications of sharing in data structures. In: Giacobazzi, R., Cousot, R. (eds.) POPL, pp. 523–536. ACM (2013)Google Scholar
  9. 9.
    Nanevski, A., Ley-Wild, R., Sergey, I., Delbianco, G.: Communicating state transition systems for fine-grained concurrent resources. In: ESOP, pp. 290–310 (2014)Google Scholar
  10. 10.
    Raad, A.: Ph.D. thesis, Imperial College London (2016, to appear)Google Scholar
  11. 11.
    Raad, A., Hobor, A., Villard, J., Gardner, P.: Verifying concurrent graph algorithms (extended) (2016)Google Scholar
  12. 12.
    Raad, A., Villard, J., Gardner, P.: CoLoSL: concurrent local subjective logic. In: ESOP, pp. 710–735 (2015)Google Scholar
  13. 13.
    Reynolds, J.: A short course on separation logic (2003). http://www.cs.cmu.edu/afs/cs.cmu.edu/project/fox-19/member/jcr/wwwaac2003/notes7.ps
  14. 14.
    Sergey, I., Nanevski, A., Banerjee, A.: Mechanized verification of fine-grained concurrent programs. In: PLDI (2015)Google Scholar
  15. 15.
    Svendsen, K., Birkedal, L.: Impredicative concurrent abstract predicates. In: ESOP (2014)Google Scholar
  16. 16.
    Turon, A., Dreyer, D., Birkedal, L.: Unifying refinement and Hoare-style reasoning in a logic for higher-order concurrency. In: ICFP, pp. 377–390 (2013)Google Scholar
  17. 17.
    Yang, H.: Local reasoning for stateful programs. Ph.D. thesis, University of Illinois (2001)Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Azalea Raad
    • 1
  • Aquinas Hobor
    • 2
  • Jules Villard
    • 1
  • Philippa Gardner
    • 1
  1. 1.Imperial CollegeLondonUK
  2. 2.Yale-NUS College and School of ComputingNational University of SingaporeSingaporeSingapore

Personalised recommendations