Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/1987389.1987394guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Compositionality entails sequentializability

Published: 26 March 2011 Publication History

Abstract

We show that any concurrent program that is amenable to compositional reasoning can be effectively translated to a sequential program. More precisely, we give a reduction from the verification problem for concurrent programs against safety specifications to the verification of sequential programs against safety specifications, where the reduction is parameterized by a set of auxiliary variables A, such that the concurrent program compositionally satisfies its specification using auxiliary variables A iff the sequentialization satisfies its specification. Existing sequentializations for concurrent programs work only for underapproximations like bounded context-switching, while our sequentialization has the salient feature that it can prove concurrent programs entirely correct, as long as it has a compositional proof. The sequentialization allows us to use sequential verification tools (including deductive verification tools and predicate abstraction tools) to analyze and prove concurrent programs correct. We also report on our experience in the deductive verification of concurrent programs by proving their sequential counterparts using the program verifier BOOGIE.

References

[1]
Alur, R., Madhusudan, P., Nam, W.: Symbolic compositional verification by learning assumptions. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 548-562. Springer, Heidelberg (2005)
[2]
Ball, T., Rajamani, S.K.: The SLAM project: debugging system software via static analysis. In: POPL, pp. 1-3. ACM, New York (2002)
[3]
Cobleigh, J.M., Giannakopoulou, D., Păsăreanu, C.S.: Learning assumptions for compositional verification. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 331-346. Springer, Heidelberg (2003)
[4]
Cohen, A., Namjoshi, K.S.: Local proofs for global safety properties. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 55-67. Springer, Heidelberg (2007)
[5]
Feng, X.: Local rely-guarantee reasoning. In: POPL, pp. 315-327. ACM, New York (2009)
[6]
Flanagan, C., Freund, S.N., Qadeer, S.: Thread-modular verification for sharedmemory programs. In: Le Métayer, D. (ed.) ESOP 2002. LNCS, vol. 2305, pp. 262-277. Springer, Heidelberg (2002)
[7]
Flanagan, C., Qadeer, S.: Thread-modular model checking. In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 213-224. Springer, Heidelberg (2003)
[8]
Ghafari, N., Hu, A.J., Rakamarić, Z.: Context-bounded translations for concurrent software: An empirical evaluation. In: van de Pol, J., Weber, M. (eds.) SPIN 2010. LNCS, vol. 6349, pp. 227-244. Springer, Heidelberg (2010)
[9]
Jones, C.B.: Tentative steps toward a development method for interfering programs. ACM Trans. Program. Lang. Syst. 5(4), 596-619 (1983)
[10]
La Torre, S., Madhusudan, P., Parlato, G.: Reducing context-bounded concurrent reachability to sequential reachability. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 477-492. Springer, Heidelberg (2009)
[11]
La Torre, S., Madhusudan, P., Parlato, G.: Sequentializing parameterized programs (2010), http://www.cs.uiuc.edu/~madhu/seqparam.pdf
[12]
Lahiri, S.K., Qadeer, S., Rakamarić, Z.: Static and precise detection of concurrency errors in systems code using SMT solvers. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 509-524. Springer, Heidelberg (2009)
[13]
Lal, A., Reps, T.W.: Reducing concurrent analysis under a context bound to sequential analysis. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 37-51. Springer, Heidelberg (2008)
[14]
Lubachevsky, B.D.: An approach to automating the verification of compact parallel coordination programs. Acta Inf. 21, 125-169 (1984)
[15]
Owicki, S.S., Gries, D.: An axiomatic proof technique for parallel programs. Acta Inf. 6, 319-340 (1976)
[16]
Xu, Q., de Roever, W.P., He, J.: The rely-guarantee method for verifying shared variable concurrent programs. Formal Asp. Comput. 9(2), 149-174 (1997)

Cited By

View all
  • (2014)Exploiting synchronization in the analysis of shared-memory asynchronous programsProceedings of the 2014 International SPIN Symposium on Model Checking of Software10.1145/2632362.2632370(20-29)Online publication date: 21-Jul-2014
  • (2012)Detecting fair non-termination in multithreaded programsProceedings of the 24th international conference on Computer Aided Verification10.1007/978-3-642-31424-7_19(210-226)Online publication date: 7-Jul-2012
  • (2011)On sequentializing concurrent programsProceedings of the 18th international conference on Static analysis10.5555/2041552.2041565(129-145)Online publication date: 14-Sep-2011

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
TACAS'11/ETAPS'11: Proceedings of the 17th international conference on Tools and algorithms for the construction and analysis of systems: part of the joint European conferences on theory and practice of software
March 2011
392 pages
ISBN:9783642198342

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 26 March 2011

Author Tags

  1. compositional verification
  2. concurrent programs
  3. sequentialization

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2014)Exploiting synchronization in the analysis of shared-memory asynchronous programsProceedings of the 2014 International SPIN Symposium on Model Checking of Software10.1145/2632362.2632370(20-29)Online publication date: 21-Jul-2014
  • (2012)Detecting fair non-termination in multithreaded programsProceedings of the 24th international conference on Computer Aided Verification10.1007/978-3-642-31424-7_19(210-226)Online publication date: 7-Jul-2012
  • (2011)On sequentializing concurrent programsProceedings of the 18th international conference on Static analysis10.5555/2041552.2041565(129-145)Online publication date: 14-Sep-2011

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media