Synchronizing shared abstract types
ACM Transactions on Computer Systems (TOCS)
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Obtaining sequential efficiency for concurrent object-oriented languages
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Synchronization transformations for parallel computing
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Promises: limited specifications for analysis and manipulation
Proceedings of the 20th international conference on Software engineering
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
ACM SIGPLAN Notices
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Escape analysis for object-oriented languages: application to Java
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Removing unnecessary synchronization in Java
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Compositional pointer and escape analysis for Java programs
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Type-based race detection for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Exclusion for composite objects
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Guava: a dialect of Java without data races
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Alias burying: unique variables without destructive reads
Software—Practice & Experience - Special issue on aliasing in object-oriented systems
The Real-Time Specification for Java
The Real-Time Specification for Java
Assuring and evolving concurrent programs: annotations and policy
Proceedings of the 24th International Conference on Software Engineering
The code of many colors: relating threads to code and shared state
Proceedings of the 2002 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Systematic Change of Data Representation: Program Manipulations and a Case Study
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
Lock Coarsening: Eliminating Lock Overhead in Automatically Parallelized Object-Based Programs
LCPC '96 Proceedings of the 9th International Workshop on Languages and Compilers for Parallel Computing
Comprehensive synchronization elimination for Java
Science of Computer Programming - Special issue on static analysis (SAS'99)
A type and effect system for atomicity
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Using Eclipse to demonstrate positive static assurance of Java program concurrency design intent
eclipse '03 Proceedings of the 2003 OOPSLA workshop on eclipse technology eXchange
A programmer-oriented approach to safe concurrency
A programmer-oriented approach to safe concurrency
ACM SIGPLAN Notices
Design fragments make using frameworks easier
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Design fragments make using frameworks easier
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Lightweight annotations for controlling sharing in concurrent data structures
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Comprehending annotations on object-oriented programs using fractional permissions
International Workshop on Aliasing, Confinement and Ownership in Object-Oriented Programming
Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Enabling the runtime assertion checking of concurrent contracts for the Java modeling language
Proceedings of the 33rd International Conference on Software Engineering
Automated semantic analysis of design models
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
A retrospective on aliasing type systems: 2012-2022
Aliasing in Object-Oriented Programming
Hi-index | 0.00 |
Evolving and refactoring concurrent Java software can be error-prone, resulting in race conditions and other concurrency difficulties. We suggest that there are two principal causes: concurrency design intent is often not explicit in code and, additionally, consistency of intent and code cannot easily be established through either testing or inspection.We explore several aspects of this issue in this paper. First, we describe a tool-assisted approach to modeling and assurance for concurrent programs. Second, we give an account of recent case study experience on larger-scale production Java systems. Third, we suggest an approach to scalable co-evolution of code and models that is designed to support working programmers without special training or incentives. Fourth, we propose some concurrency-related refactorings that, with suitable analysis and tool support, can potentially offer assurances of soundness.