Title
Observations on the assured evolution of concurrent Java programs
Abstract
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.
Year
DOI
Venue
2005
10.1016/j.scico.2005.03.002
Sci. Comput. Program.
Keywords
Field
DocType
program evolution,concurrency design intent,concurrent java software,concurrent java program,refactoring,java,static analysis,concurrency difficulty,principal cause,program transformation,concurrent program,program assurance,tool-assisted approach,concurrency,concurrency-related refactorings,tool support,larger-scale production java system,assured evolution,race condition
Programming language,Java annotation,Concurrency,Computer science,Java concurrency,Real time Java,Concurrent object-oriented programming,Java Modeling Language,Code refactoring,Java
Journal
Volume
Issue
ISSN
58
3
Science of Computer Programming
Citations 
PageRank 
References 
9
0.68
18
Authors
3
Name
Order
Citations
PageRank
Aaron Greenhouse1776.41
T. J. Halloran2121.13
William L. Scherlis334063.64