=. New-addr-h and . Âaê, Ènew C , (h, l)Í?NewObj Ca Èaddr a, (h ' ae a(C , init-fields FDTs), l)Í Cast

P. Castn, ÈCast C null, sÍ?Silent Ènull, sÍ Load lcl sV = ÂvÊ P, w " ÈVar V , sÍ?Silent ÈVal v, sÍ

P. Store, ÈV := Val v, (h, l)Í?Silent Èunit

. Bop-binop, ÈVal v1 ? bop ? Val v2 , sÍ?Silent ÈVal v, sÍ Read hp sa= Â(C , fs)Ê fs(F , D)=ÂvÊ P, w " Èa.F {D}, sÍ?OwnerCheck a True ÈVal v, sÍ Write ha= Â(C , fs)Ê h Õ = h

P. Condtrue, Èif (true) e1 else e2

P. Condfalse, Èif (false) e1 else e2

P. While, e; while (b) e) else unit, sÍ Try P, w " Ètry Val vs catch (CV) e, sÍ?Silent ÈVal vs, sÍ Catch hp sa= Â(D, fs)Ê P " D ? ? C P, w " Ètry Throw a catch (CV) e, sÍ?Silent È{V : Class C ; V := addr a; e}, sÍ ReThrow hp sa= Â(D, fs)ʬ P " D ? ? C P, w " Ètry Throw a catch (CV) e, sÍ?Silent ÈThrow a, sÍ Figure 2.2: Siaam Expression reduction OutOfMem new-Addr h = None P, Ènew C

P. Writebadowner, . F. Èa, . {d}, . Nullpointer, and P. Sí-thrownull, Èthrow null, sÍ?Silent ÈTHROW NullPointer, sÍ Figure 2.3: Siaam Exceptional expression reduction CastT P, w " ÈCast C throw e, sÍ?Silent Èthrow e, sÍ StoreT P, w " ÈV := throw e, sÍ?Silent Èthrow e, sÍ ReadT P, w " Èthrow e.F {D}, sÍ?Silent Èthrow e, sÍ WriteLT P, w " Èthrow e.F {D} := e2 , sÍ?Silent Èthrow e, sÍ WriteRT P, w " ÈVal v.F {D} := throw e, sÍ?Silent Èthrow e, sÍ BopLT P, w " Èthrow e ?bop? e2 , sÍ?Silent Èthrow e, sÍ BopRT P, w " ÈVal v ?bop? throw e, sÍ?Silent Èthrow e, sÍ Va r D e c l T P, w " È{V : T ; Throw a}, sÍ?Silent Throw a}, sÍ?Silent ÈThrow a, sÍ CallT P, w " Èthrow e.M (es), sÍ?Silent Èthrow e

P. Argst, M (map Val vs @( throw e · es Õ )), sÍ?Silent Èthrow e, sÍ Throw P, w Èthrow e; e2 , sÍ?Silent Èthrow e, sÍ CondT P, w " Èif (throw e) e1 else e2 , sÍ?Silent Èthrow e, sÍ ThrowT P, w " Èthrow throw e, sÍ?Silent Èthrow e, sÍ Figure 2.4: Exception propagation ANNEXE C, ABSTRACTS in a state-of-the-art Java virtual-machine and a set of custom static analyses automatically reduce the runtime overhead

G. Agha, Actors: a model of concurrent computation in distributed systems, 1986.

M. Aiken, M. Fähndrich, C. Hawblitzel, G. Hunt, and J. Larus, Deconstructing process isolation, Proceedings of the 2006 workshop on Memory system performance and correctness , MSPC '06, pp.1-10, 2006.
DOI : 10.1145/1178597.1178599

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.109.1184

P. Sérgio and A. , Balloon types: Controlling sharing of state in data types, ECOOP'97 ? Object-Oriented Programming, pp.32-59, 1997.

R. Z. Altucher and W. Landi, An extended form of must alias analysis for dynamic allocation, Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '95, pp.74-84, 1995.
DOI : 10.1145/199448.199466

A. W. Appel, Modern compiler implementation in Java, 1998.
DOI : 10.1017/CBO9780511811432

J. Armstrong, A history of Erlang, Proceedings of the third ACM SIGPLAN conference on History of programming languages , HOPL III, pp.6-7, 2007.
DOI : 10.1145/1238844.1238850

J. Armstrong, R. Virding, and M. Williams, Concurrent programming in, 1996.

M. Arnold, S. Fink, D. Grove, M. Hind, and P. F. Sweeney, Adaptive optimization in the Jalape??o JVM, ACM SIGPLAN Notices, vol.35, issue.10, pp.47-65, 2000.
DOI : 10.1145/354222.353175

M. Arnold, S. J. Fink, D. Grove, M. Hind, and P. F. Sweeney, A Survey of Adaptive Optimization in Virtual Machines, Proceedings of the IEEE, vol.93, issue.2, 2004.
DOI : 10.1109/JPROC.2004.840305

G. Back, W. C. Hsieh, and J. Lepreau, Processes in kaffeos: isolation, resource management, and sharing in java, Proceedings of the 4th conference on Symposium on Operating System Design & Implementation, pp.23-23, 2000.

G. Henry and . Baker, use-once " variables and linear objects: storage management, reflection and multi-threading, SIGPLAN Not, vol.30, issue.1, pp.45-52, 1995.

C. Ballarin, Interpretation of Locales in Isabelle: Theories and Proof Contexts, LNAI 4108, pp.31-43, 2006.
DOI : 10.1007/11812289_4

M. Blackburn, R. Garner, C. Hoffman, A. M. Khan, K. S. Mckinley et al., The DaCapo benchmarks: Java benchmarking development and analysis, OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-Oriented Programing, Systems, Languages, and Applications, pp.169-190, 2006.

M. Stephen, K. S. Blackburn, and . Mckinley, Immix: a mark-region garbage collector with space efficiency, fast collection, and mutator performance, SIGPLAN Not, vol.43, issue.6, pp.22-32, 2008.

B. Blanchet, Escape analysis for object-oriented languages, ACM SIGPLAN Notices, vol.34, issue.10, pp.20-34, 1999.
DOI : 10.1145/320385.320387

E. Bodden, P. Lam, and L. Hendren, Instance keys: A technique for sharpening whole-program pointer analyses with intraprocedural information, 2007.

E. Bodden, A. S. Sinschek, H. Oueslati, and M. Mezini, Taming reflection, Proceeding of the 33rd international conference on Software engineering, ICSE '11, pp.241-250, 2011.
DOI : 10.1145/1985793.1985827

J. Bogda and U. Hölzle, Removing unnecessary synchronization in Java, ACM SIGPLAN Notices, vol.34, issue.10, pp.35-46, 1999.
DOI : 10.1145/320385.320388

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.124.9139

M. Bond, Static cloning of library methods for application and vm contexts (patch) http://sourceforge, 2013.

G. Booch, Object-oriented analysis and design with applications, 1994.

C. Boyapati and M. Rinard, A parameterized type system for race-free Java programs, ACM SIGPLAN Notices, vol.36, issue.11, pp.56-69, 2001.
DOI : 10.1145/504311.504287

J. Boyland, Alias killing: Unique variables without destructive reads, Lecture Notes in Computer Science, vol.1743, pp.148-149, 1999.
DOI : 10.1002/spe.370

J. Tang, B. , and W. Retert, Connecting effects and uniqueness with adoption, SIGPLAN Not, vol.40, issue.1, pp.283-295, 2005.

E. Bruneton, R. Lenglet, and T. Coupaye, Asm: A code manipulation tool to implement adaptable systems, Adaptable and extensible component systems, 2002.

C. Bryce and C. Razafimahefa, An approach to safe object sharing, ACM SIGPLAN Notices, vol.35, issue.10, pp.367-381, 2000.
DOI : 10.1145/354222.353196

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.32.7703

S. Burris and H. P. Sankappanavar, A Course in Universal Algebra, Graduate Texts in Mathematics, vol.78, 1981.
DOI : 10.1007/978-1-4613-8130-3

R. Carlsson, K. Sagonas, and J. Wilhelmsson, Message analysis for concurrent programs using message passing, ACM Transactions on Programming Languages and Systems, vol.28, issue.4, pp.715-746, 2006.
DOI : 10.1145/1146809.1146813

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.102.3240

B. Chang, J. Jo, K. Yi, and K. Choe, Interprocedural exception analysis for Java, Proceedings of the 2001 ACM symposium on Applied computing , SAC '01, pp.620-625, 2001.
DOI : 10.1145/372202.372786

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.32.1087

J. Choi, M. Gupta, M. Serrano, C. Vugranam, S. Sreedhar et al., Escape analysis for java, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, OOPSLA '99, pp.1-19, 1999.
DOI : 10.1145/320385.320386

J. Choi, M. Gupta, M. J. Serrano, C. Vugranam, S. P. Sreedhar et al., Stack allocation and synchronization optimizations for Java using escape analysis, ACM Transactions on Programming Languages and Systems, vol.25, issue.6, pp.876-910, 2003.
DOI : 10.1145/945885.945892

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.73.4799

D. Clarke and T. Wrigstad, External Uniqueness Is Unique Enough, European Conference for Object-Oriented Programming (ECOOP), pp.176-200, 2003.
DOI : 10.1007/978-3-540-45070-2_9

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.109.1645

D. Clarke, T. Wrigstad, J. Östlund, and E. Johnsen, Minimal Ownership for Active Objects, Proceedings of the 6th Asian Symposium on Programming Languages and Systems, APLAS '08, pp.139-154, 2008.
DOI : 10.1145/960112.28722

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.369.3189

D. G. Clarke, J. M. Potter, and J. Noble, Ownership types for flexible alias protection, Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), pp.48-64, 1998.
DOI : 10.1145/286942.286947

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.2115

B. Claudel, F. Boyer, N. De-palma, and O. Gruber, Message Passing: A Case for Mixing Deep-Copy and Migration, 2012.
URL : https://hal.archives-ouvertes.fr/hal-01472110

D. William and . Clinger, Foundations of actor semantics, 1981.

P. Cousot and R. Cousot, Systematic design of program analysis frameworks, Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages , POPL '79, pp.269-282, 1979.
DOI : 10.1145/567752.567778

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.207.2895

G. Czajkowski and L. Daynàs, Multitasking without compromise, ACM SIGPLAN Notices, vol.47, issue.4a, pp.60-73, 2012.
DOI : 10.1145/2442776.2442785

G. Czajkowski and L. Daynés, Multitasking without comprimise, ACM SIGPLAN Notices, vol.36, issue.11, pp.125-138, 2001.
DOI : 10.1145/504311.504292

B. A. Davey and H. A. Priestley, Introduction to Lattices and Order. Cambridge mathematical text books, 2002.
DOI : 10.1017/cbo9780511809088

T. Domani, G. Goldshtein, E. K. Kolodner, E. Lewis, E. Petrank et al., Thread-local heaps for Java, ACM SIGPLAN Notices, vol.38, issue.2 supplement, pp.76-87, 2002.
DOI : 10.1145/773039.512439

M. Fähndrich, M. Aiken, C. Hawblitzel, O. Hodson, G. Hunt et al., Language support for fast and reliable message-based communication in singularity OS, ACM SIGOPS Operating Systems Review, vol.40, issue.4, pp.177-190, 2006.
DOI : 10.1145/1218063.1217953

C. Flanagan and S. N. Freund, RedCard: Redundant Check Elimination for Dynamic Race Detectors, Lecture Notes in Computer Science, vol.7920, pp.255-280, 2013.
DOI : 10.1007/978-3-642-39038-8_11

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.298.1212

R. J. Garner, S. M. Blackburn, and D. Frampton, A comprehensive evaluation of object scanning techniques, ACM SIGPLAN Notices, vol.46, issue.11, pp.33-42, 2011.
DOI : 10.1145/2076022.1993484

N. Geoffray, G. Thomas, J. Lawall, G. Muller, and B. Folliot, VMKit, Proceedings of the 6th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, VEE '10, pp.51-62, 2010.
DOI : 10.1145/1735997.1736006

URL : https://hal.archives-ouvertes.fr/inria-00354577

B. Goetz, Java theory and practice: Safe construction techniques, 2002.

J. Gosling, B. Joy, and G. L. Steele, The Java Language Specification, 1996.

D. Grove, G. Defouw, J. Dean, and C. Chambers, Call graph construction in object-oriented languages, ACM SIGPLAN Notices, vol.32, issue.10, pp.108-124, 1997.
DOI : 10.1145/263700.264352

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.621

O. Gruber and F. Boyer, Ownership-Based Isolation for Concurrent Actors on Multi-core Machines, pp.281-301, 2013.
DOI : 10.1007/978-3-642-39038-8_12

URL : https://hal.archives-ouvertes.fr/hal-00944012

N. Gustafsson, Isolation in Maestro, 2009.

P. Haller and M. Odersky, Capabilities for Uniqueness and Borrowing, Proceedings of the 24th European conference on Object-oriented programming, pp.354-378, 2010.
DOI : 10.1007/978-3-642-14107-2_17

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.164.2524

C. Hawblitzel, C. Chang, G. Czajkowski, D. Hu, and T. Von-eicken, Implementing multiple protection domains in java, Proceedings of the annual conference on USENIX Annual Technical Conference, ATEC '98, pp.22-22, 1998.

K. Hazelwood and D. Grove, Adaptive online context-sensitive inlining, International Symposium on Code Generation and Optimization, 2003. CGO 2003., pp.253-264, 2003.
DOI : 10.1109/CGO.2003.1191550

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.7404

C. Hewitt, P. Bishop, and R. Steiger, A universal modular actor formalism for artificial intelligence, Proceedings of the 3rd international joint conference on Artificial intelligence, IJCAI'73, pp.235-245, 1973.

M. Hind, Pointer analysis, Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering , PASTE '01, pp.54-61, 2001.
DOI : 10.1145/379605.379665

J. Hogg, Islands, ACM SIGPLAN Notices, vol.26, issue.11, pp.271-285, 1991.
DOI : 10.1145/118014.117975

C. Galen, J. R. Hunt, and . Larus, Singularity: rethinking the software stack, SIGOPS Oper. Syst. Rev, vol.41, issue.2, pp.37-49, 2007.

K. Rajesh, A. Karmani, G. Shali, and . Agha, Actor frameworks for the jvm platform: a comparative analysis, Proceedings of the 7th International Conference on Principles and Practice of Programming in Java, PPPJ '09, pp.11-20, 2009.

G. Klein and T. Nipkow, Jinja is not java Archive of Formal Proofs, 2005.

G. Klein and T. Nipkow, A machine-checked model for a Java-like language, virtual machine, and compiler, ACM Transactions on Programming Languages and Systems, vol.28, issue.4, pp.619-695, 2006.
DOI : 10.1145/1146809.1146811

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.113.4649

P. Lam, E. Bodden, L. Hendren, and T. Darmstadt, The soot framework for java program analysis: a retrospective

C. Lapkowski and L. J. Hendren, Extended ssa numbering: introducing ssa properties to languages with multi-level pointers, Proceedings of the 1996 conference of the Centre for Advanced Studies on Collaborative research, CASCON '96, p.23, 1996.
DOI : 10.1007/bfb0026427

E. A. Lee, The Problem with Threads, Computer, vol.39, issue.5, pp.33-42, 2006.
DOI : 10.1109/MC.2006.180

K. R. Leino, P. Müller, and A. Wallenburg, Flexible Immutability with Frozen Objects, Proceedings of the 2nd international conference on Verified Software: Theories, Tools, Experiments, VSTTE '08, pp.192-208, 2008.
DOI : 10.1007/978-3-540-87873-5_17

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.146.3898

T. Lindholm and W. Pugh, Java(tm) memory model and thread specification revision, 2013.

B. Livshits, J. Whaley, and M. S. Lam, Reflection Analysis for Java, Proceedings of the Third Asian conference on Programming Languages and Systems, APLAS'05, pp.139-160, 2005.
DOI : 10.1007/11575467_11

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.143.1457

A. Lochbihler, A Machine-Checked, Type-Safe Model of Java Concurrency : Language , Virtual Machine, Memory Model, and Verified Compiler, 2012.

J. Martin, M. Hicks, and M. Costa, Dynamically checking ownership policies in concurrent c/c++ programs, ACM SIGPLAN Notices, vol.45, issue.1, pp.457-470, 2010.
DOI : 10.1145/1707801.1706351

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.187.8718

P. Java-community, JSR 121: Application Isolation API Specification

H. Naftaly and . Minsky, Towards alias-free pointers, Proceedings of the 10th European Conference on Object-Oriented Programming, ECCOP '96, pp.189-209, 1996.

M. Naik, A. Aiken, and J. Whaley, Effective static race detection for Java, ACM SIGPLAN Notices, vol.41, issue.6, pp.308-319, 2006.
DOI : 10.1145/1133255.1134018

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.81.585

S. Negara, R. K. Karmani, and G. Agha, Inferring ownership transfer for efficient message passing, ACM SIGPLAN Notices, vol.46, issue.8, pp.81-90, 2011.
DOI : 10.1145/2038037.1941566

F. Nielson, H. R. Nielson, and C. Hankin, Principles of Program Analysis, 1999.
DOI : 10.1007/978-3-662-03811-6

J. Noble, J. Vitek, and J. Potter, Flexible alias protection, Proceedings of the 12th European Conference on Object-Oriented Programming, ECCOP '98, pp.158-185, 1998.
DOI : 10.1007/BFb0054091

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.4971

K. Palacz, J. Vitek, G. Czajkowski, and L. Daynas, Incommunicado, ACM SIGPLAN Notices, vol.37, issue.11, pp.262-274, 2002.
DOI : 10.1145/583854.582444

D. L. Parnas, On the criteria to be used in decomposing systems into modules, Communications of the ACM, vol.15, issue.12, pp.1053-1058, 1972.
DOI : 10.1145/361598.361623

P. Parrend and S. Frénot, Java components vulnerabilities -an experimental classification targeted at the osgi platform. CoRR, abs/0706, 2007.
URL : https://hal.archives-ouvertes.fr/inria-00157341

A. Salcianu and M. Rinard, Pointer and escape analysis for multithreaded programs, ACM SIGPLAN Notices, vol.36, issue.7, pp.12-23, 2001.
DOI : 10.1145/568014.379553

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.2.4042

Y. Smaragdakis, M. Bravenboer, and O. Lhoták, Pick your contexts well, ACM SIGPLAN Notices, vol.46, issue.1, pp.17-30, 2011.
DOI : 10.1145/1925844.1926390

A. L. Souter and L. L. Pollock, Incremental call graph reanalysis for object-oriented software maintenance, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001, p.682, 2001.
DOI : 10.1109/ICSM.2001.972787

S. Srinivasan and A. Mycroft, Kilim: Isolation-Typed Actors for Java, Proceedings of the 22nd European conference on Object-Oriented Programming, pp.104-128, 2008.
DOI : 10.1007/978-3-540-70592-5_6

B. Steensgaard, Points-to analysis in almost linear time, Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '96, pp.32-41, 1996.
DOI : 10.1145/237721.237727

J. Whaley and M. Rinard, Compositional pointer and escape analysis for Java programs, ACM SIGPLAN Notices, vol.34, issue.10, pp.187-206, 1999.
DOI : 10.1145/320385.320400

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.12.2189

X. Yang, S. M. Blackburn, D. Frampton, and A. L. Hosking, Barriers reconsidered, friendlier still! SIGPLAN Not, pp.37-48, 2012.
DOI : 10.1145/2258996.2259004

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.231.3040