Matches in SemOpenAlex for { <https://semopenalex.org/work/W1566907965> ?p ?o ?g. }
- W1566907965 abstract "Assuring and evolving concurrent programs requires understanding the concurrency-related design decisions used in their implementation. In Java-style shared-memory programs, these decisions include which state is shared, how access to it is regulated, and the policy that distinguishes desired concurrency from race conditions. Source code often does not reveal these design decisions because they rarely have purely local manifestations in the code, or because they cannot be inferred from code. Many programmers believe it is too difficult to explicate the models in ordinary practice. As a result, this design intent is usually not expressed, and it is therefore generally infeasible to assure that concurrent programs are free of race conditions. This thesis is about a practicable approach to capturing and expressing design intent, and, through the use of annotations and composable static analyses, assuring consistency of code and intent as both evolve. We use case studies from production Java code and a prototype analysis tool to explore the costs and benefits of a new annotation-based approach for expressing design intent. Our annotations express “mechanical” properties that programmers must already be considering, such as lock-state associations, uniqueness of references, and conceptual aggregations of state. Our analyses reveal race conditions in a variety of case study samples which were drawn from library code and production open source projects. We developed a prototype tool that embodies static analysis techniques for assuring consistency between code and models (expressed as code annotations). Our experience with the tool provides some preliminary evidence of the practicability of our approach for ordinary programmers on deadlines. The dominant design consideration for the tool was adherence to the principle of “early gratification”—some assurance can be obtained with minimal or no annotation effort, and additional increments of annotation are rewarded with additional increments of assurance. The novel technical features of this approach include (1) regions as flexible aggregations of state that can cross object boundaries, (2) a region-based object-oriented effects system, (3) analysis to track the association of locks with regions, (4) policy descriptions for allowable method interleavings, and (5) an incremental process for inserting, validating, and exploiting annotations." @default.
- W1566907965 created "2016-06-24" @default.
- W1566907965 creator A5006616301 @default.
- W1566907965 creator A5018254610 @default.
- W1566907965 creator A5026061564 @default.
- W1566907965 date "2003-01-01" @default.
- W1566907965 modified "2023-09-23" @default.
- W1566907965 title "A programmer-oriented approach to safe concurrency" @default.
- W1566907965 cites W102035798 @default.
- W1566907965 cites W1482207865 @default.
- W1566907965 cites W1486694616 @default.
- W1566907965 cites W1498946538 @default.
- W1566907965 cites W1500418543 @default.
- W1566907965 cites W1503478887 @default.
- W1566907965 cites W1507924933 @default.
- W1566907965 cites W1526771983 @default.
- W1566907965 cites W1527654363 @default.
- W1566907965 cites W1533109738 @default.
- W1566907965 cites W1546981056 @default.
- W1566907965 cites W1547134031 @default.
- W1566907965 cites W1549891226 @default.
- W1566907965 cites W1552895988 @default.
- W1566907965 cites W1580876082 @default.
- W1566907965 cites W1583826417 @default.
- W1566907965 cites W1595593557 @default.
- W1566907965 cites W1644882639 @default.
- W1566907965 cites W168248273 @default.
- W1566907965 cites W169401469 @default.
- W1566907965 cites W1698939026 @default.
- W1566907965 cites W172429337 @default.
- W1566907965 cites W1742468713 @default.
- W1566907965 cites W1780658657 @default.
- W1566907965 cites W1861989620 @default.
- W1566907965 cites W1870721492 @default.
- W1566907965 cites W1964727056 @default.
- W1566907965 cites W1976247299 @default.
- W1566907965 cites W1978280181 @default.
- W1566907965 cites W1980487816 @default.
- W1566907965 cites W1983409972 @default.
- W1566907965 cites W1993836075 @default.
- W1566907965 cites W1994518570 @default.
- W1566907965 cites W1998070736 @default.
- W1566907965 cites W1999637392 @default.
- W1566907965 cites W2003040530 @default.
- W1566907965 cites W2003243289 @default.
- W1566907965 cites W2003539206 @default.
- W1566907965 cites W2011958337 @default.
- W1566907965 cites W2012464402 @default.
- W1566907965 cites W2014530617 @default.
- W1566907965 cites W2017381819 @default.
- W1566907965 cites W2021920955 @default.
- W1566907965 cites W2036489278 @default.
- W1566907965 cites W2036719919 @default.
- W1566907965 cites W2040070287 @default.
- W1566907965 cites W2042392670 @default.
- W1566907965 cites W2042751794 @default.
- W1566907965 cites W2042790299 @default.
- W1566907965 cites W2046079722 @default.
- W1566907965 cites W2046137117 @default.
- W1566907965 cites W2046317364 @default.
- W1566907965 cites W2052087935 @default.
- W1566907965 cites W2052349306 @default.
- W1566907965 cites W2059881462 @default.
- W1566907965 cites W2066318564 @default.
- W1566907965 cites W2067686439 @default.
- W1566907965 cites W2070869623 @default.
- W1566907965 cites W2072062729 @default.
- W1566907965 cites W2073407646 @default.
- W1566907965 cites W2077288840 @default.
- W1566907965 cites W2077850509 @default.
- W1566907965 cites W2080648611 @default.
- W1566907965 cites W2084321526 @default.
- W1566907965 cites W2084363500 @default.
- W1566907965 cites W2091089602 @default.
- W1566907965 cites W2091547234 @default.
- W1566907965 cites W2093370559 @default.
- W1566907965 cites W2098055163 @default.
- W1566907965 cites W2103957752 @default.
- W1566907965 cites W2106288115 @default.
- W1566907965 cites W2107995193 @default.
- W1566907965 cites W2109875364 @default.
- W1566907965 cites W2117963862 @default.
- W1566907965 cites W2124876916 @default.
- W1566907965 cites W2129133667 @default.
- W1566907965 cites W2131135493 @default.
- W1566907965 cites W2132500556 @default.
- W1566907965 cites W2135274583 @default.
- W1566907965 cites W2138338745 @default.
- W1566907965 cites W2144118030 @default.
- W1566907965 cites W2146455667 @default.
- W1566907965 cites W2147092814 @default.
- W1566907965 cites W2147349382 @default.
- W1566907965 cites W2149843953 @default.
- W1566907965 cites W2158096453 @default.
- W1566907965 cites W2159765281 @default.
- W1566907965 cites W2161825580 @default.
- W1566907965 cites W2166780994 @default.
- W1566907965 cites W2166944884 @default.
- W1566907965 cites W2172255864 @default.
- W1566907965 cites W2173720051 @default.