May-Happen-in-Parallel Based Deadlock Analysis for Concurrent Objects

  • Antonio E. Flores-Montoya
  • Elvira Albert
  • Samir Genaim
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7892)

Abstract

We present a novel deadlock analysis for concurrent objects based on the results inferred by a points-to analysis and a may-happen-in-parallel (MHP) analysis. Similarly to other analysis, we build a dependency graph such that the absence of cycles in the graph ensures deadlock freeness. An MHP analysis provides an over-approximation of the pairs of program points that may be running in parallel. The crux of the method is that the analysis integrates the MHP information within the dependency graph in order to discard unfeasible cycles that otherwise would lead to false positives. We argue that our analysis is more precise and/or efficient than previous proposals for deadlock analysis of concurrent objects. As regards accuracy, we are able to handle cases that other analyses have pointed out as challenges. As regards efficiency, the complexity of our deadlock analysis is polynomial.

References

  1. 1.
    Agha, G.A.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)Google Scholar
  2. 2.
    Albert, E., Flores-Montoya, A.E., Genaim, S.: Analysis of May-Happen-in-Parallel in Concurrent Objects. In: Giese, H., Rosu, G. (eds.) FORTE 2012 and FMOODS 2012. LNCS, vol. 7273, pp. 35–51. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  3. 3.
    Armstrong, J., Virding, R., Wistrom, C., Williams, M.: Concurrent Programming in Erlang. Prentice Hall (1996)Google Scholar
  4. 4.
    de Boer, F.S., Bravetti, M., Grabe, I., Lee, M., Steffen, M., Zavattaro, G.: A Petri Net based Analysis of Deadlocks for Active Objects and Futures. In: Păsăreanu, C.S., Salaün, G. (eds.) FACS 2012. LNCS, vol. 7684, pp. 110–127. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  5. 5.
    de Boer, F.S., Grabe, I., Steffen, M.: Termination detection for active objects. J. Log. Algebr. Program. 81(4), 541–557 (2012)MathSciNetMATHCrossRefGoogle Scholar
  6. 6.
    de Boer, F.S., Clarke, D., Johnsen, E.B.: A complete guide to the future. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 316–330. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  7. 7.
    Giachino, E., Grazia, C.A., Laneve, C., Lienhardt, M., Wong, P.: Deadlock Analysis of Concurrent Objects – Theory and Practice (2013)Google Scholar
  8. 8.
    Giachino, E., Laneve, C.: Analysis of Deadlocks in Object Groups. In: Bruni, R., Dingel, J. (eds.) FORTE 2011 and FMOODS 2011. LNCS, vol. 6722, pp. 168–182. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  9. 9.
    Haller, P., Odersky, M.: Scala actors: Unifying thread-based and event-based programming. Theor. Comput. Sci. 410(2-3), 202–220 (2009)MathSciNetMATHCrossRefGoogle Scholar
  10. 10.
    Holt, R.C.: Some Deadlock Properties of Computer Systems. ACM Comput. Surv. 4(3), 179–196 (1972)MathSciNetCrossRefGoogle Scholar
  11. 11.
    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., de Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 142–164. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  12. 12.
    Masticola, S.P., Ryder, B.G.: A Model of Ada Programs for Static Deadlock Detection in Polynomial Time. In: Parallel and Distributed Debugging, pp. 97–107. ACM (1991)Google Scholar
  13. 13.
    Milanova, A., Rountev, A., Ryder, B.G.: Parameterized object sensitivity for points-to analysis for java. ACM Trans. Softw. Eng. Methodol. 14, 1–41 (2005)CrossRefGoogle Scholar
  14. 14.
    Naik, M., Park, C., Sen, K., Gay, D.: Effective static deadlock detection. In: Proc. of ICSE, pp. 386–396. IEEE (2009)Google Scholar
  15. 15.
    Smaragdakis, Y., Bravenboer, M., Lhoták, O.: Pick your contexts well: understanding object-sensitivity. In: POPL, pp. 17–30. ACM (2011)Google Scholar
  16. 16.
    Steensgaard, B.: Points-to analysis in almost linear time. In: Symposium on Principles of Programming Languages, pp. 32–41 (1996)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2013

Authors and Affiliations

  • Antonio E. Flores-Montoya
    • 1
  • Elvira Albert
    • 2
  • Samir Genaim
    • 2
  1. 1.Technische Universität Darmstadt (TUD)Germany
  2. 2.Complutense University of Madrid (UCM)Spain

Personalised recommendations