10,031 Hits in 5.9 sec

Safe concurrency for aggregate objects with invariants

B. Jacobs, K.R.M. Leino, F. Piessens, W. Schulte
2005 Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05)  
It is based on a recent methodology for single-threaded programs where developers define aggregate object structures using an ownership system and declare invariants over them.  ...  Developing safe multithreaded software systems is difficult due to the potential unwanted interference among concurrent threads.  ...  We thank Manuel Fähndrich, Tony Hoare, and the members of the Boogie team for insightful remarks and suggestions.  ... 
doi:10.1109/sefm.2005.39 dblp:conf/sefm/JacobsPLS05 fatcat:vnq6tfbewjelrbhknq57r62nua

Assuring and evolving concurrent programs

Aaron Greenhouse, William L. Scherlis
2002 Proceedings of the 24th international conference on Software engineering - ICSE '02  
The novel technical features of this approach include (1) flexible encapsulation via aggregations of state that can cross object boundaries~ (2) the association of locks with state aggregations, (3) policy  ...  Our intent is both to assist in establishing "thread safety" attributes in code and to support tools that safely restructure code-for example, shifting critical section boundaries or splitting locks.  ...  is "safe with" various mutator methods, but the resulting enumeration object is not "safe with" those methods.  ... 
doi:10.1145/581339.581395 dblp:conf/icse/GreenhouseS02 fatcat:vvqmqaicnvfsrffs6faea2yh5y

Proving the Safety of Highly-Available Distributed Objects [chapter]

Sreeja S. Nair, Gustavo Petri, Marc Shapiro
2020 Lecture Notes in Computer Science  
For the subclass of state-based distributed systems, we propose a proof methodology for establishing that a given object maintains a given invariant, taking into account any concurrency control.  ...  To provide high availability in distributed systems, object replicas allow concurrent updates.  ...  This is the concurrent invariant (Inv conc ) for this object.  ... 
doi:10.1007/978-3-030-44914-8_20 fatcat:psh2aqrnx5fppgqy4l4idevtqa

Observations on the assured evolution of concurrent Java programs

Aaron Greenhouse, T.J. Halloran, William L. Scherlis
2005 Science of Computer Programming  
of shared state that participate in some notional representation invariant are associated with each other into "regions" [18, 16] .  ...  The hypothesis underlying this approach is that modeling at this more abstract level can provide concrete value in establishing safe concurrency.  ...  We would like to thank the anonymous reviewers for their comments.  ... 
doi:10.1016/j.scico.2005.03.002 fatcat:dtnbnbspsvhlxe3kndt7whi2qa

Minimal Ownership for Active Objects [chapter]

Dave Clarke, Tobias Wrigstad, Johan Östlund, Einar Broch Johnsen
2008 Lecture Notes in Computer Science  
Our alias control mechanisms uphold the invariant that no two 'threads' concurrently change or observe changes to an object, which is the invariant obtained by the deep copying of message arguments in  ...  Such active object proposals aim to hide much of the complexity of concurrent and distributed programming by using object-internal threads and single-thread-per-object invariants.  ... 
doi:10.1007/978-3-540-89330-1_11 fatcat:upvfmkm5evgxtjxl4jtxvldv7i

Invariant Safety for Distributed Applications

Sreeja S. Nair, Gustavo Petri, Marc Shapiro
2019 Proceedings of the 6th Workshop on Principles and Practice of Consistency for Distributed Data - PaPoC '19  
We study a proof methodology for verifying the safety of data invariants of highlyavailable distributed applications that replicate state.  ...  We automate the methodology and illustrate the use of the tool with a representative example.  ...  ACKNOWLEDGMENTS The authors would like to thank the anonymous reviewers for their comments which helped in improving this paper.  ... 
doi:10.1145/3301419.3323970 dblp:conf/eurosys/NairP019 fatcat:gqsuyqlmwngxlhvbesfdipydqy

Invariant Safety for Distributed Applications [article]

Sreeja Nair
2019 arXiv   pre-print
We study a proof methodology for verifying the safety of data invariants of highly-available distributed applications that replicate state.  ...  We automate the methodology and illustrate the use of the tool with a representative example.  ...  ACKNOWLEDGMENTS The authors would like to thank the anonymous reviewers for their comments which helped in improving this paper.  ... 
arXiv:1903.02759v1 fatcat:ajc2fq3tw5bcpjjxzcpoen7hca

Concurrent Object-Oriented Programming: The MP-Eiffel Approach

Miguel Oliveira e Silva
2004 Journal of Object Technology  
The type system is used to safely control the access to shared objects, with the introduction of two type modifiers: shared and remote.  ...  CONCURRENT OBJECT-ORIENTED PROGRAMMING: THE MP-EIFFEL APPROACH MP-Eiffel aims to be a safe concurrent language, where unsynchronized accesses to shared resources are statically prevented (unlike, for example  ...  To ensure a safe usage of objects the Eiffel's type system was augmented with two new concurrent type modifiers: shared and remote.  ... 
doi:10.5381/jot.2004.3.4.a6 fatcat:upk5hbpkqbblpcx52qy5a7ibba

Verification of Concurrent Systems with VerCors [chapter]

Afshin Amighi, Stefan Blom, Saeed Darabi, Marieke Huisman, Wojciech Mostowski, Marina Zaharieva-Stojanovski
2014 Lecture Notes in Computer Science  
We discuss in particular how we use the logic to use different implementations of synchronisers in verification, and how we reason about class invariance properties in a concurrent setting.  ...  This paper presents the VerCors approach to verification of concurrent software. It first discusses why verification of concurrent software is important, but also challenging.  ...  Acknowledgments This work was supported by ERC grant 258405 for the Ver-Cors project (Amighi, Blom, Huisman, Mostowski, and Zaharieva-Stojanovski), and EU STREP project 287767 CARP (Blom, Darabi, and Huisman  ... 
doi:10.1007/978-3-319-07317-0_5 fatcat:pv4mhuu2brgw7cuxaeir2vxyza

IPA: Invariant-preserving Applications for Weakly-consistent Replicated Databases [article]

Valter Balegas, Nuno Preguiça, Sérgio Duarte, Carla Ferreira, Rodrigo Rodrigues
2018 arXiv   pre-print
The modified application runs with small overhead when compared with its Weak Consistency counterpart, which cannot preserve application correctness.  ...  This analysis allows the programmer to choose the preferred semantics for each problematic execution, while preserving the original semantics of operations when no conflicts occur.  ...  We use Indigo 2 for implementing this configuration. In Indigo, a conflicting operation needs to possess or acquire the reservations needed for safe execution under concurrency.  ... 
arXiv:1802.08474v2 fatcat:ralfwgikhjdglegyfnfgbgvu5m

Targeted test input generation using symbolic-concrete backward execution

Peter Dinges, Gul Agha
2014 Proceedings of the 29th ACM/IEEE international conference on Automated software engineering - ASE '14  
The analysis is based on execution traces; assuming all traces reflect intended behavior, our analysis enables safe concurrency by preventing unobserved interleavings which may harbor latent Heisenbugs  ...  However, manually converting programs from lock-based synchronization to atomic sets requires reasoning about the program's concurrency structure, which can be a challenge even for small programs.  ...  Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright notation thereon.  ... 
doi:10.1145/2642937.2642951 dblp:conf/kbse/DingesA14 fatcat:nutrd5u6tfeszof2xjtjmp7oqu

Flexible alias protection [chapter]

James Noble, Jan Vitek, John Potter
1998 Lecture Notes in Computer Science  
Aliasing is endemic in object oriented programming. Because an object can be modified via any alias, object oriented programs are hard to understand, maintain, and analyse.  ...  Using flexible alias protection, programs can incorporate mutable objects, immutable values, and updatable collections of shared objects, in a natural object oriented programming style, while avoiding  ...  comments on aliasing and concurrent object systems, David Clarke for his perspectives from the evolving formal theory and implementation, John Boyland for his discussions about modes and promises, and  ... 
doi:10.1007/bfb0054091 fatcat:wwrci2lsajdirhjh4ovsmynftu

Verification of Concurrent Programs with Chalice [chapter]

K. Rustan M. Leino, Peter Müller, Jan Smans
2009 Lecture Notes in Computer Science  
These lecture notes describe a verifier for concurrent programs called Chalice. Chalice's verification methodology centers around permissions and permission transfer.  ...  Proper use of permissions allows Chalice to deduce upper bounds on the set of locations modifiable by a method and guarantees the absence of data races for concurrent programs.  ...  Acknowledgments Jan Smans is a research assistant of the Fund for Scientific Research -Flanders (FWO).  ... 
doi:10.1007/978-3-642-03829-7_7 fatcat:3tomishqkvbmzbiiftkpcqnz6u

Putting consistency back into eventual consistency

Valter Balegas, Sérgio Duarte, Carla Ferreira, Rodrigo Rodrigues, Nuno Preguiça, Mahsa Najafzadeh, Marc Shapiro
2015 Proceedings of the Tenth European Conference on Computer Systems - EuroSys '15  
We propose an alternative consistency model, Explicit Consistency, that strengthens eventual consistency with a guarantee to preserve specific invariants defined by the applications.  ...  Given these application-specific invariants, a system that supports Explicit Consistency identifies which operations would be unsafe under concurrent execution, and allows programmers to select either  ...  Acknowledgments We would like to thank our shepherd Gustavo Alonso, the anonymous reviewers and Alexey Gotsman for their helpful comments on a previous version of this work.  ... 
doi:10.1145/2741948.2741972 dblp:conf/eurosys/BalegasDFRPNS15 fatcat:kp5ntq4ubrerlegame6io4fbiq


Valter Balegas, Sérgio Duarte, Carla Ferreira, Rodrigo Rodrigues, Nuno Preguiça
2018 Proceedings of the VLDB Endowment  
Our evaluation reveals that the offline static analysis runs fast enough for being used with large applications.  ...  In this setting, concurrent updates may lead to states where application invariants do not hold.  ...  Acknowledgments We thank the anonymous reviewers for their comments that helped improving the paper. This work was partially supported by EU H2020 LightKone project (732505)  ... 
doi:10.14778/3297753.3297760 fatcat:mpx6fbfl4ve6xkrqccxmgcni3i
« Previous Showing results 1 — 15 out of 10,031 results