Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/978-3-642-00768-2_13guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Inferring Synchronization under Limited Observability

Published: 27 March 2009 Publication History

Abstract

This paper addresses the problem of automatically inferring synchronization for concurrent programs. Given a program and a specification, we infer synchronization that avoids all interleavings violating the specification, but permits as many valid interleavings as possible. We let the user specify an upper bound on the cost of synchronization, which may limit the <em>observability</em> -- what observations on program state can be made by the synchronization code. We present an algorithm that infers, under certain conditions, the <em>maximally permissive</em> synchronization for a given cost. We implemented a prototype of our approach and applied it to infer synchronization in a number of small programs.

References

[1]
Attie, P.C., Emerson, E.A.: Synthesis of concurrent systems for an atomic read/atomic write model of computation. In: PODC 1996, pp. 111-120. ACM Press, New York (1996).
[2]
Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching-time temporal logic. In: Logic of Programs, Workshop, pp. 52-71 (1982).
[3]
Clarke Jr., E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (1999).
[4]
Dams, D.: Abstract Interpretation and Partition Refinement for Model Checking. PhD thesis, Eindhoven University of Technology, The Netherlands (December 1996).
[5]
Hansen, B.: Edison - a multiprocessor language. Software - Practice and Experience 11(4), 325-361 (1981).
[6]
Harris, T., Fraser, K.: Language support for lightweight transactions. In: OOPSLA 2003, pp. 388-402. ACM Press, New York (2003).
[7]
Hoare, C.A.R.: Towards a theory of parallel programming. In: The origin of concurrent programming: from semaphores to remote procedure calls, pp. 231-244 (2002).
[8]
Holzmann, G.J.: The Spin Model Checker, Primer and Reference Manual. Addison-Wesley, Reading (2003).
[9]
Jobstmann, B., Griesmayer, A., Bloem, R.: Program repair as a game. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 226-238. Springer, Heidelberg (2005).
[10]
Joshi, R., Misra, J.: Toward a theory of maximally concurrent programs (shortened version). In: PODC 2000, pp. 319-328. ACM Press, New York (2000).
[11]
Manna, Z., Wolper, P.: Synthesis of communicating processes from temporal logic specifications. ACM Trans. Program. Lang. Syst. 6(1), 68-93 (1984).
[12]
Pnueli, A., Rosner, R.: On the synthesis of a reactive module. In: POPL 1989, pp. 179-190. ACM Press, New York (1989).
[13]
Ramadge, P.J., Wonham, W.M.: Supervisory control of a class of discrete event processes. SIAM J. Control Optim. 25(1), 206-230 (1987).
[14]
Saraswat, V.A., Sarkar, V., von Praun, C.: X10: concurrent programming for modern architectures. In: PPoPP 2007, pp. 271-271. ACM Press, New York (2007).
[15]
Sutter, H., Larus, J.: Software and the concurrency revolution. Queue 3(7), 54-62 (2005).
[16]
Vechev, M., Yahav, E., Yorsh, G.: Inferring synchronization under limited observability. Technical report, IBM (2008), http://www.research.ibm.com/paraglide/

Cited By

View all
  • (2022)Automated Synthesis of AsynchronizationsStatic Analysis10.1007/978-3-031-22308-2_7(135-159)Online publication date: 5-Dec-2022
  • (2015)Succinct Representation of Concurrent Trace SetsACM SIGPLAN Notices10.1145/2775051.267700850:1(433-444)Online publication date: 14-Jan-2015
  • (2015)Succinct Representation of Concurrent Trace SetsProceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages10.1145/2676726.2677008(433-444)Online publication date: 14-Jan-2015
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
TACAS '09: Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
March 2009
453 pages
ISBN:9783642007675
  • Editors:
  • Stefan Kowalewski,
  • Anna Philippou

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 27 March 2009

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 18 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Automated Synthesis of AsynchronizationsStatic Analysis10.1007/978-3-031-22308-2_7(135-159)Online publication date: 5-Dec-2022
  • (2015)Succinct Representation of Concurrent Trace SetsACM SIGPLAN Notices10.1145/2775051.267700850:1(433-444)Online publication date: 14-Jan-2015
  • (2015)Succinct Representation of Concurrent Trace SetsProceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages10.1145/2676726.2677008(433-444)Online publication date: 14-Jan-2015
  • (2014)Grail: context-aware fixing of concurrency bugsProceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering10.1145/2635868.2635881(318-329)Online publication date: 11-Nov-2014
  • (2014)Runtime prevention of concurrency related type-state violations in multithreaded applicationsProceedings of the 2014 International Symposium on Software Testing and Analysis10.1145/2610384.2610405(1-12)Online publication date: 21-Jul-2014
  • (2013)Program Repair without RegretProceedings of the 25th International Conference on Computer Aided Verification - Volume 804410.5555/2958031.2958066(896-911)Online publication date: 13-Jul-2013
  • (2013)Synthesis modulo recursive functionsACM SIGPLAN Notices10.1145/2544173.250955548:10(407-426)Online publication date: 29-Oct-2013
  • (2013)Refactoring with synthesisACM SIGPLAN Notices10.1145/2544173.250954448:10(339-354)Online publication date: 29-Oct-2013
  • (2013)Synthesis modulo recursive functionsProceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications10.1145/2509136.2509555(407-426)Online publication date: 29-Oct-2013
  • (2013)Refactoring with synthesisProceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications10.1145/2509136.2509544(339-354)Online publication date: 29-Oct-2013
  • Show More Cited By

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media