Filters








24,093 Hits in 6.3 sec

Exposing Non-Atomic Methods of Concurrent Objects [article]

Michael Emmi, Constantin Enea
2017 arXiv   pre-print
In this work we expose atomicity violations in concurrent object implementations from the most widely-used software development kit: The Java Development Kit (JDK).  ...  We witness atomicity violations via simple test harnesses containing few concurrent method invocations.  ...  Input : A concurrent object with atomic core Core, and a method m of this object Result: NON-ATOMIC i m is non-atomic.  ... 
arXiv:1706.09305v1 fatcat:kspgdmoa7ra7ndriu36od764oa

An efficient method for detecting concurrency errors in object-oriented programs

YanXiang He, Wei Wu, Yong Chen
2012 Science China Information Sciences  
Acknowledgements The work presented in this paper was supported in part by National Natural Science Foundation of China (Grant Nos. 90818018, 9111800).  ...  Because the execution of a non-atomic function can be interrupted by another thread, the existence of a non-atomic function is a necessary condition for the occurrence of Second, we analyze how the class  ...  Even so, the concept of atomicity is a good foundation for deciding whether an abnormal execution exposes a concurrency error.  ... 
doi:10.1007/s11432-012-4751-z fatcat:2zcbgvaflbcvbcanbdrjsqbbbi

Violat: Generating Tests of Observational Refinement for Concurrent Objects [chapter]

Michael Emmi, Constantin Enea
2019 Lecture Notes in Computer Science  
High-performance multithreaded software often relies on optimized implementations of common abstract data types (ADTs) like counters, key-value stores, and queues, i.e., concurrent objects.  ...  depend on specific combinations of method invocations and argument values, as well as rarely-occurring thread interleavings.  ...  .}||{...} of method-invocation sequences. Intuitively, schemas capture parallel threads invoking sequences of methods of a given concurrent object.  ... 
doi:10.1007/978-3-030-25543-5_30 fatcat:4apmejjvmbhxlpv6ok4j24xczy

Checking Concurrent Data Structures Under the C/C++11 Memory Model

Peizhao Ou, Brian Demsky
2017 Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming - PPoPP '17  
While low-level atomic operations can significantly improve the performance of concurrent data structures, they introduce non-intuitive behaviors that can increase the difficulty of developing code.  ...  In this paper, we develop a correctness model for concurrent data structures that make use of atomic operations.  ...  Definition 7 (Non-deterministic Linearizability for a Concurrent Object O c ).  ... 
doi:10.1145/3018743.3018749 fatcat:aouass7o2ngkdeddfpmxyjwxtm

Checking Concurrent Data Structures Under the C/C++11 Memory Model

Peizhao Ou, Brian Demsky
2017 SIGPLAN notices  
While low-level atomic operations can significantly improve the performance of concurrent data structures, they introduce non-intuitive behaviors that can increase the difficulty of developing code.  ...  In this paper, we develop a correctness model for concurrent data structures that make use of atomic operations.  ...  Definition 7 (Non-deterministic Linearizability for a Concurrent Object O c ).  ... 
doi:10.1145/3155284.3018749 fatcat:nc3k7p4nszhsrizpesbcidooza

2ndStrike

Qi Gao, Wenbin Zhang, Zhezhe Chen, Mai Zheng, Feng Qin
2012 SIGPLAN notices  
This paper presents 2ndStrike, a method to manifest hidden concurrency typestate bugs in software testing.  ...  techniques that are based on data race/atomicity violation.  ...  Unlike this tool, our work attempts to manifest the non-exposed concurrency typestate bug candidates via system methods, therefore all false positives are automatically pruned.  ... 
doi:10.1145/2248487.1950394 fatcat:ex47ee45wjehfpno3gctuvroui

2ndStrike

Qi Gao, Wenbin Zhang, Zhezhe Chen, Mai Zheng, Feng Qin
2011 SIGPLAN notices  
This paper presents 2ndStrike, a method to manifest hidden concurrency typestate bugs in software testing.  ...  techniques that are based on data race/atomicity violation.  ...  Unlike this tool, our work attempts to manifest the non-exposed concurrency typestate bug candidates via system methods, therefore all false positives are automatically pruned.  ... 
doi:10.1145/1961296.1950394 fatcat:if66yqsbcrez3n3553cfyaztr4

2ndStrike

Qi Gao, Wenbin Zhang, Zhezhe Chen, Mai Zheng, Feng Qin
2011 Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems - ASPLOS '11  
This paper presents 2ndStrike, a method to manifest hidden concurrency typestate bugs in software testing.  ...  techniques that are based on data race/atomicity violation.  ...  Unlike this tool, our work attempts to manifest the non-exposed concurrency typestate bug candidates via system methods, therefore all false positives are automatically pruned.  ... 
doi:10.1145/1950365.1950394 dblp:conf/asplos/GaoZCZQ11 fatcat:wp2pizumabgzto4ifqu24clnlu

2ndStrike

Qi Gao, Wenbin Zhang, Zhezhe Chen, Mai Zheng, Feng Qin
2011 SIGARCH Computer Architecture News  
This paper presents 2ndStrike, a method to manifest hidden concurrency typestate bugs in software testing.  ...  techniques that are based on data race/atomicity violation.  ...  Unlike this tool, our work attempts to manifest the non-exposed concurrency typestate bug candidates via system methods, therefore all false positives are automatically pruned.  ... 
doi:10.1145/1961295.1950394 fatcat:mfilqs7denc7nkyrtwyd62luca

Synthesizing tests for detecting atomicity violations

Malavika Samak, Murali Krishna Ramanathan
2015 Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering - ESEC/FSE 2015  
Subsequently, we identify pairs of method invocations that correspond to these accesses and invoke them concurrently from distinct threads with appropriate objects to help expose atomicity violations.  ...  Detecting and eliminating atomicity violations when methods in the libraries are invoked concurrently is vital in building reliable client applications that use the libraries.  ...  This work is partially supported by the Ministry of Human Resources and Development, Government of India.  ... 
doi:10.1145/2786805.2786874 dblp:conf/sigsoft/SamakR15 fatcat:43lac7q3pbf7tcciofwyxparxa

Weak-consistency specification via visibility relaxation

Michael Emmi, Constantin Enea
2019 Proceedings of the ACM on Programming Languages (PACMPL)  
of programs that invoke non-atomic operations.  ...  Empirically, we demonstrate the efficacy of our approach by deriving and validating relaxed-visibility specifications for Java concurrent objects.  ...  Weak-Consistency Specification via Visibility Relaxation 60:17 Non-Atomicity of Java Concurrent Object Methods Our initial finding is that Java's concurrent object methods are not generally atomic.  ... 
doi:10.1145/3290373 fatcat:ysdtou3iczhfbcomeecy6wfbfy

Testing atomicity of composed concurrent operations

Ohad Shacham, Nathan Bronson, Alex Aiken, Mooly Sagiv, Martin Vechev, Eran Yahav
2011 Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications - OOPSLA '11  
We address the problem of testing atomicity of composed concurrent operations.  ...  We present a novel technique for testing the atomicity of client code composing scalable concurrent operations.  ...  Acknowledgments We thank Karen Yorav for reading a preliminary version of this paper and making valuable remarks.  ... 
doi:10.1145/2048066.2048073 dblp:conf/oopsla/ShachamBASVY11 fatcat:j4npwnunmzg3pn2qrj463dt7vu

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  
Our implementation of the analysis allowed us to derive the atomic sets for large code bases such as the Java collections framework in a matter of minutes.  ...  Atomic sets are a synchronization mechanism in which the programmer specifies the groups of data that must be accessed as a unit.  ...  Acknowledgments This publication was made possible in part by sponsorships from the Army Research Office under award W911NF-09-1-0273, as well as the Air Force Research Laboratory and the Air Force Office of  ... 
doi:10.1145/2642937.2642951 dblp:conf/kbse/DingesA14 fatcat:nutrd5u6tfeszof2xjtjmp7oqu

Fully automatic and precise detection of thread safety violations

Michael Pradel, Thomas R. Gross
2012 Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation - PLDI '12  
Concurrent, object-oriented programs often use thread-safe library classes.  ...  The key idea is to generate tests in which multiple threads call methods on a shared instance of the tested class.  ...  A single test can have multiple distinguishable executions because of the non-determinism of concurrent executions.  ... 
doi:10.1145/2254064.2254126 dblp:conf/pldi/PradelG12 fatcat:zvmew54ctneh7bhqwtw2gvxdvy

Fully automatic and precise detection of thread safety violations

Michael Pradel, Thomas R. Gross
2012 SIGPLAN notices  
Concurrent, object-oriented programs often use thread-safe library classes.  ...  The key idea is to generate tests in which multiple threads call methods on a shared instance of the tested class.  ...  A single test can have multiple distinguishable executions because of the non-determinism of concurrent executions.  ... 
doi:10.1145/2345156.2254126 fatcat:xjmhmnvdkzepjpj462jo4jvnq4
« Previous Showing results 1 — 15 out of 24,093 results