Ènew C , (h, l)Í?NewObj Ca Èaddr a, (h ' ae a(C , init-fields FDTs), l)Í Cast ,
ÈCast C null, sÍ?Silent Ènull, sÍ Load lcl sV = ÂvÊ P, w " ÈVar V , sÍ?Silent ÈVal v, sÍ ,
ÈV := Val v, (h, l)Í?Silent Èunit ,
È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 ,
Èif (true) e1 else e2 ,
Èif (false) e1 else e2 ,
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 ,
È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 ,
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 ,
Actors: a model of concurrent computation in distributed systems, 1986. ,
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
Balloon types: Controlling sharing of state in data types, ECOOP'97 ? Object-Oriented Programming, pp.32-59, 1997. ,
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
Modern compiler implementation in Java, 1998. ,
DOI : 10.1017/CBO9780511811432
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
Concurrent programming in, 1996. ,
Adaptive optimization in the Jalape??o JVM, ACM SIGPLAN Notices, vol.35, issue.10, pp.47-65, 2000. ,
DOI : 10.1145/354222.353175
A Survey of Adaptive Optimization in Virtual Machines, Proceedings of the IEEE, vol.93, issue.2, 2004. ,
DOI : 10.1109/JPROC.2004.840305
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. ,
use-once " variables and linear objects: storage management, reflection and multi-threading, SIGPLAN Not, vol.30, issue.1, pp.45-52, 1995. ,
Interpretation of Locales in Isabelle: Theories and Proof Contexts, LNAI 4108, pp.31-43, 2006. ,
DOI : 10.1007/11812289_4
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. ,
Immix: a mark-region garbage collector with space efficiency, fast collection, and mutator performance, SIGPLAN Not, vol.43, issue.6, pp.22-32, 2008. ,
Escape analysis for object-oriented languages, ACM SIGPLAN Notices, vol.34, issue.10, pp.20-34, 1999. ,
DOI : 10.1145/320385.320387
Instance keys: A technique for sharpening whole-program pointer analyses with intraprocedural information, 2007. ,
Taming reflection, Proceeding of the 33rd international conference on Software engineering, ICSE '11, pp.241-250, 2011. ,
DOI : 10.1145/1985793.1985827
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
Static cloning of library methods for application and vm contexts (patch) http://sourceforge, 2013. ,
Object-oriented analysis and design with applications, 1994. ,
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
Alias killing: Unique variables without destructive reads, Lecture Notes in Computer Science, vol.1743, pp.148-149, 1999. ,
DOI : 10.1002/spe.370
Connecting effects and uniqueness with adoption, SIGPLAN Not, vol.40, issue.1, pp.283-295, 2005. ,
Asm: A code manipulation tool to implement adaptable systems, Adaptable and extensible component systems, 2002. ,
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
A Course in Universal Algebra, Graduate Texts in Mathematics, vol.78, 1981. ,
DOI : 10.1007/978-1-4613-8130-3
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
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
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
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
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
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
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
Message Passing: A Case for Mixing Deep-Copy and Migration, 2012. ,
URL : https://hal.archives-ouvertes.fr/hal-01472110
Foundations of actor semantics, 1981. ,
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
Multitasking without compromise, ACM SIGPLAN Notices, vol.47, issue.4a, pp.60-73, 2012. ,
DOI : 10.1145/2442776.2442785
Multitasking without comprimise, ACM SIGPLAN Notices, vol.36, issue.11, pp.125-138, 2001. ,
DOI : 10.1145/504311.504292
Introduction to Lattices and Order. Cambridge mathematical text books, 2002. ,
DOI : 10.1017/cbo9780511809088
Thread-local heaps for Java, ACM SIGPLAN Notices, vol.38, issue.2 supplement, pp.76-87, 2002. ,
DOI : 10.1145/773039.512439
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
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
A comprehensive evaluation of object scanning techniques, ACM SIGPLAN Notices, vol.46, issue.11, pp.33-42, 2011. ,
DOI : 10.1145/2076022.1993484
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
Java theory and practice: Safe construction techniques, 2002. ,
The Java Language Specification, 1996. ,
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
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
Isolation in Maestro, 2009. ,
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
Implementing multiple protection domains in java, Proceedings of the annual conference on USENIX Annual Technical Conference, ATEC '98, pp.22-22, 1998. ,
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
A universal modular actor formalism for artificial intelligence, Proceedings of the 3rd international joint conference on Artificial intelligence, IJCAI'73, pp.235-245, 1973. ,
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
Islands, ACM SIGPLAN Notices, vol.26, issue.11, pp.271-285, 1991. ,
DOI : 10.1145/118014.117975
Singularity: rethinking the software stack, SIGOPS Oper. Syst. Rev, vol.41, issue.2, pp.37-49, 2007. ,
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. ,
Jinja is not java Archive of Formal Proofs, 2005. ,
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
The soot framework for java program analysis: a retrospective ,
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
The Problem with Threads, Computer, vol.39, issue.5, pp.33-42, 2006. ,
DOI : 10.1109/MC.2006.180
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
Java(tm) memory model and thread specification revision, 2013. ,
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 Machine-Checked, Type-Safe Model of Java Concurrency : Language , Virtual Machine, Memory Model, and Verified Compiler, 2012. ,
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
JSR 121: Application Isolation API Specification ,
Towards alias-free pointers, Proceedings of the 10th European Conference on Object-Oriented Programming, ECCOP '96, pp.189-209, 1996. ,
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
Inferring ownership transfer for efficient message passing, ACM SIGPLAN Notices, vol.46, issue.8, pp.81-90, 2011. ,
DOI : 10.1145/2038037.1941566
Principles of Program Analysis, 1999. ,
DOI : 10.1007/978-3-662-03811-6
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
Incommunicado, ACM SIGPLAN Notices, vol.37, issue.11, pp.262-274, 2002. ,
DOI : 10.1145/583854.582444
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
Java components vulnerabilities -an experimental classification targeted at the osgi platform. CoRR, abs/0706, 2007. ,
URL : https://hal.archives-ouvertes.fr/inria-00157341
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
Pick your contexts well, ACM SIGPLAN Notices, vol.46, issue.1, pp.17-30, 2011. ,
DOI : 10.1145/1925844.1926390
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
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
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
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
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