Analysis of May-Happen-in-Parallel in Concurrent Objects

This paper presents a may-happen-in-parallel (MHP) analysis for OO languages based on concurrent objects. In this concurrency model, objects are the concurrency units such that, when a method is invoked on an object o2 from a task executing on object o1, statements of the current task in o1 may run in parallel with those of the (asynchronous) call on o2, and with those of transitively invoked methods. The goal of the MHP analysis is to identify pairs of statements in the program that may run in parallel in any execution. Our MHP analysis is formalized as a method-level (local) analysis whose information can be modularly composed to obtain application-level (global) information.

[1]  Joe Armstrong,et al.  Concurrent programming in ERLANG , 1993 .

[2]  Jens Palsberg,et al.  Featherweight X10: a core calculus for async-finish parallelism , 2010, PPoPP '10.

[3]  Frank S. de Boer,et al.  A Complete Guide to the Future , 2007, ESOP.

[4]  Rajkishore Barik,et al.  Efficient Computation of May-Happen-in-Parallel Information for Concurrent Java Programs , 2005, LCPC.

[5]  Vivek Sarkar,et al.  May-happen-in-parallel analysis of X10 programs , 2007, PPoPP.

[6]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[7]  Reiner Hähnle,et al.  ABS: A Core Language for Abstract Behavioral Specification , 2010, FMCO.

[8]  Martin Odersky,et al.  Scala Actors: Unifying thread-based and event-based programming , 2009, Theor. Comput. Sci..

[9]  Alan Mycroft,et al.  Kilim: Isolation-Typed Actors for Java , 2008, ECOOP.

[10]  Elvira Albert,et al.  COSTABS: a cost and termination analyzer for ABS , 2012, PEPM '12.

[11]  George S. Avrunin,et al.  An efficient algorithm for computing MHP information for concurrent Java programs , 1999, ESEC/FSE-7.

[12]  Antonio E. Flores Montoya Analysis of May-Happen-in-Parallel in Concurrent Objects , 2012 .

[13]  Monica S. Lam,et al.  Cloning-based context-sensitive pointer alias analysis using binary decision diagrams , 2004, PLDI '04.

[14]  Jens Palsberg,et al.  Efficient May Happen in Parallel Analysis for Async-Finish Parallelism , 2012, SAS.

[15]  J. Palsberg,et al.  Complexity Results for May-Happen-in-Parallel Analysis , 2010 .

[16]  Barbara G. Ryder,et al.  Parameterized object sensitivity for points-to and side-effect analyses for Java , 2002, ISSTA '02.

[17]  Elvira Albert,et al.  MayPar: a may-happen-in-parallel analyzer for concurrent objects , 2012, SIGSOFT FSE.

[18]  Lin Li,et al.  A Practical MHP Information Analysis for Concurrent Java Programs , 2004, LCPC.

[19]  George S. Avrunin,et al.  A conservative data flow algorithm for detecting all pairs of statements that may happen in parallel , 1998, SIGSOFT '98/FSE-6.

[20]  Elvira Albert,et al.  Cost Analysis of Concurrent OO Programs , 2011, APLAS.