alors R k (o) = r k?1 . Or par transitivité de ? on a également v 2 ? v ret Par la propriété 7, on a également R k?1 (V k?1 (v 2 )) = r k?1 . Donc R k (V k (v 1 )) = R k (V k (v 2 )), et la propriété ,
est une variable v ? valable pour choose_region, et donc R k (o) = R k?1 (V k?1 (v 2 )) = R k (V k (v 2 )). Il faut noter que, par hypothèse d'induction, toutes les variables de la famille de v pointent sur des objets de la même région ,
est pas le cadre de sommet de pile de S k , alors soit i ? N tel que SF k = S k (i) ,
Or par hypothèse d'induction la propriété 7.9 (3) est vraie en ? k?1 Elle est donc également vraie en ? k . Sinon, c'est que SF k est le cadre de sommet de pile de S k , celui qui est modifié par l'allocation v = new C. Soit SF k?1 = (V k?1 , lb k?1 , r k?1 ) le cadre de sommet de pile de S k?1 Si v 3 n'est pas la variable v, alors sa valeur n'est pas modifiée et la propriété reste vraie par hypothèse d'induction. Par contre, si v 3 est v, alors après l'allocation, v 3 pointe sur un nouvel objet o dont la région R k (o), p.1 ,
est pas le cadre de sommet de pile de S k , alors soit i ? N tel que SF k = S k (i) ,
) est vraie en ? k?1 Elle est donc également vraie en ? k . Sinon, c'est que SF k est le cadre de sommet de pile de S k , celui qui est modifié par l'affectation v = v ? .f . Soit SF k?1 = (V k?1 , lb k?1 , r k?1 ) le cadre de sommet de pile de S k?1 Si v / ? {v 1 , v 2 }, alors V k | {v 1 ,v 2 } = V k?1 | {v 1 ,v 2 } , et la propriété reste vraie par hypothèse d'induction. Par contre, si v = v 1 (ou v 2 , par symétrie), alors après l'affectation, on a V k (v 1 ) = H k?1 (V k?1 (v ? ))(f ). Par hypothèse d'induction (propriété 7, les deux objets sont dans la même région, c'est à dire R k (V k (v 1 )) = R k?1 (V k?1 On a donc bien R k (V k (v 1 )) = R k?1 (V k?1 (v 2 )), pp.1-1 ,
est pas le cadre de sommet de pile de S k , alors soit i ? N tel que SF k = S k (i) ,
Or par hypothèse d'induction la propriété 7.9 (3) est vraie en ? k?1 Elle est donc également vraie en ? k . Sinon, c'est que SF k est le cadre de sommet de pile de S k , celui qui est modifié par l'affectation v = v ? .f . Soit SF k?1 = (V k?1 , lb k?1 , r k?1 ) le cadre de sommet de pile de S k?1 Si v 3 n'est pas la variable v, alors sa valeur n'est pas modifiée et la propriété reste vraie par hypothèse d'induction. Par contre, si v 3 est v, alors après l'affectation, on a V k (v 3 ) = H k?1 (V k?1 (v ? ))(f ). Par hypothèse d'induction (propriété 7, les deux objets sont dans la même région, c'est à dire R(V k (v 3 )) = R k?1 (V k?1 )) = r k?1, p.1 ,
est que l'instruction I est responsable de la création de cette arête, avec V k (v) = o 1 et V k ,
interférence de pointeurs (cf page 98) nous assure que v ? v ? . En effet, une instruction de la forme v.f = v ? implique la présence d'une arête entre v et v' dans le graphe de forme locale de la méthode (cf la règle associée à putfield page 90). Par hypothèse d'induction (propriété 7, pp.1-1 ,
V k (v 1 )) = R k (V k (v 2 )), soit,R k (o 1 ) = R k, et la propriété ,
est pas le cadre de sommet de pile de S k , alors soit i ? N tel que SF k = S k (i) ,
et les seules variables à avoir une valeur dans V k sont les paramètres formels de la méthode m appelée Soient donc a 1 et a 2 les arguments correspondants dans la méthode appelante m ? . La règle inter-procédurale de l'analyse d'interférence de pointeurs (cf page 99) nous indique qu'ils vérifient également a 1 ? m ? a 2 . Par hypothèse d'induction, les objets correspondants sont donc dans la même région en ? k?1, Les variables v 1 et v 2 sont donc des paramètres p 1 et p 2 et le sont toujours en ? k . On a donc R k (V k (v 1 )) = R k (V k (v 2 )), et la propriété ,
est pas le cadre de sommet de pile de S k , alors soit i ? N tel que SF k = S k (i) ,
Or par hypothèse d'induction la propriété 7.9 (3) est vraie en ? k?1 Elle est donc également vraie en ? k . Sinon, c'est que SF k est le cadre de sommet de pile de S k , et les seules variables à avoir une valeur dans V k sont les paramètres formels de la méthode m appelée. La variable v 3 est donc un certain p, et on a p ? m v ret . Soit a l'argument correspondant dans la méthode m ? appelante. De même que ci-dessus, on sait que dans cette dernière on a a ? m ? v r . Soit SF k?1 = (V k?1 , lb k?1 , r k?1 ) le cadre de sommet de pile de S k?1 ? Si on a également a ? m ? v ret , alors par hypothèse d'induction R k?1 (V k?1 (a)) = r k?1 . Par transitivité de la relation ?, on aura également v r ? m ? v ret, )) = R k?1 (V k?1 (a)) = r k?1 = r k, p.1 ,
a est en tous cas une variable v ? valable pour choose_region, et donc au moment de la création de SF k , on a bien r k = R k?1 (V k?1 (a)) = R k (V k (p)) ,
on a R k (V k (v 3 )) = r k , et la propriété 7 ,
est pas le cadre de sommet de pile de S k , alors soit i ? N tel que SF k = S k (i) ,
Or par hypothèse d'induction la propriété 7.9 (2) est vraie en ? k?1 Elle est donc également vraie en ? k . Sinon, c'est que SF k est le cadre de sommet de pile de S k , celui qui est modifié par l'instruction return. Soit SF k?1 = (V k?1 , lb k?1 , r k?1 ) le cadre de sommet de pile de S k?1 Si v r / ? {v 1 , v 2 }, alors leur valeur n'est pas modifiée par le return et la propriété reste vraie par hypothèse d'induction. Par contre, si v r = v 1 (ou v 2 par symétrie), montrons que R k (V k (v r )) = R k (V k (v 2 )). Par hypothèse d'induction, on sait que R k?1 (V k?1 (v ret )) = r k?1, il reste donc à montrer que r k?1 = R(V k (v 2 )). Au moment de l'appel correspondant, r k?1 a été fixée par un r k?1 = choose_region(v r , · · · , r k ), p.1 ,
v 2 est en tous cas une variable v ? valable pour choose_region, qui a donc choisi r k?1 = R(V k (v 2 )) ,
est pas le cadre de sommet de pile de S k , alors soit i ? N tel que SF k = S k (i) ,
Efficient Region- Based Memory Management for Resource-limited Real-Time Embedded Systems, Proceedings of the 1st Workshop on Implementation, Compilation, Optimization of Object- Oriented Languages, Programs and Systems (ICOOOLPS'06), workshop associé à la conférence ECOOP'06, 2006. ,
Fast Escape Analysis for Region- Based Memory Management, Proceedings of the 1st Workshop on Abstract Interpretation of Object-Oriented Languages (AIOOL'05), workshop associé à la conférence VMCAI'05, 2005. ,
Automatic Region-Based Memory Management for Real-time Embedded Systems, ACM Conference on Languages, Compilers, and Tools for Embedded Systems LCTES'06, Poster Session, 2006. ,
Gestion automatique de la mémoire dynamique pour des programmes Java temps-réel embarqués, 2004. ,
Static analyses for eliminating unnecessary synchronization from Java programs, Proceedings of the 6th Static Analysis Symposium (SAS'99, p.70, 1999. ,
Real-time concurrent collection on stock multiprocessors, Proceedings of the SIGPLAN 1988 Conference on Programming Language Design and Implementation (PLDI'88), pp.11-20, 1988. ,
DOI : 10.1145/989393.989417
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.2417
Control flow analysis, Proceedings of a Symposium on Compiler Optimization (PLDI'70), pp.1-19, 1970. ,
Program Analysis and Specialization for the C Programming Language, DIKU Research Report, vol.94, p.69, 1994. ,
Fast, effective code generation in a just-in-time Java compiler, Proceedings of the SIGPLAN 1998 Conference on Programming Language Design and Implementation (PLDI'98), pp.280-290, 1998. ,
Detecting equality of variables in programs, Proceedings of the 15th ACM Symposium on Principles of Programming Languages (POPL'88), pp.296-306, 1988. ,
The Treadmill, real-time garbage collection without motion sickness, Proceedings of the OOPSLA'91 Workshop on Garbage Collection in Object-Oriented Systems, pp.66-70, 1991. ,
Mostly-Copying garbage collection picks up generations and C++, p.48, 1989. ,
The real-time specification for Java, Computer, vol.33, issue.6, pp.10-29, 2000. ,
DOI : 10.1109/2.846318
The Real-Time Specification For Java, Version 1.0.1, p.30, 2004. ,
The Real-Time Specification For Java, Version 1.0.2, p.30, 2006. ,
A static analyzer for large safetycritical software, Proceedings of the SIGPLAN 2003 Conference on Programming Languages Design and Implementation (PLDI'03), pp.196-207, 2003. ,
URL : https://hal.archives-ouvertes.fr/hal-00128135
Timber: A programming language for real-time embedded systems, Oregon Graduate Institute School of Science & Engineering, p.20, 2002. ,
A real-time garbage collector with low overhead and consistent utilization, Proceedings of the 30th ACM Symposium on Principles of Programming Languages (POPL'03), pp.285-298, 2003. ,
DOI : 10.1145/640128.604155
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.13.6486
A unified theory of garbage collection, Proceedings of the 19th ACM Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'04, p.39, 2004. ,
Recursive and dynamic software composition with sharing, Proceedings of the 7th ECOOP Workshop on Component-Oriented Programming (WCOP'02), p.18, 2002. ,
Gestion hybride de la mémoire dynamique dans les systèmes Java temps-réel, pp.115-143, 2007. ,
A static analysis for synthesizing parametric specifications of dynamic memory consumption, Journal of Object Technology, vol.5, issue.5, pp.31-58, 2006. ,
Removing unnecessary synchronization in Java, Proceedings of the 14th ACM Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'99), pp.35-46, 1999. ,
Trading data space for reduced time and code space in real-time garbage collection on stock hardware, Proceedings of the 1984 ACM Symposium on Lisp and Functional Programming, pp.256-262, 1984. ,
Fast static analysis of C++ virtual function calls, Proceedings of the 11th ACM Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'96), pp.324-358, 1996. ,
Ownership types for safe region-based memory management in Real-Time Java, Proceedings of the SIGPLAN 2003 Conference on Programming Language Design and Implementation (PLDI'03, p.53, 2003. ,
Garbage collection in an uncooperative environment. Software Practice and Experience, pp.807-820, 1988. ,
Reconsidering custom memory allocation, Proceedings of the 17th ACM Conference on Object- Oriented Programming Systems, Languages and Applications (OOPSLA'02, pp.38-54, 2002. ,
Abstract intrepretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints, Proceedings of the 4th ACM Symposium on Principles of Programming Languages (POPL'77), pp.238-252, 1977. ,
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
Speedup prediction for selective compilation of embedded Java programs, Proceedings of the 2nd International Conference on Embedded Software (EMSOFT'02), pp.227-239, 2002. ,
Region inference for an object-oriented language, Proceedings of the SIGPLAN, 2004. ,
An efficient method of computing static single assignment form, Proceedings of the 16th ACM Symposium on Principles of Programming Languages (POPL'89), pp.25-35, 1989. ,
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
Application-Driven Customization of an Embedded Java Virtual Machine, Proceedings of the 2nd Symposium on Ubiquitous Intelligence and Smart Worlds (UISW'05), pp.81-90, 2005. ,
DOI : 10.1007/11596042_9
URL : https://hal.archives-ouvertes.fr/inria-00113691
A network-centric approach to embedded software for tiny devices, Proceedings of the First International Workshop on Embedded Software (EMSOFT'01), pp.114-130, 2001. ,
Tempo: specializing systems applications and beyond, ACM Computing Surveys, vol.30, issue.3es, p.20, 1998. ,
DOI : 10.1145/289121.289140
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.1067
A tour of Tempo: a program specializer for the C??language, Science of Computer Programming, vol.52, issue.1-3, pp.341-370, 2004. ,
DOI : 10.1016/j.scico.2004.03.011
URL : https://hal.archives-ouvertes.fr/inria-00475667
Data flow analysis for software prefetching linked data structures in Java, Proceedings 2001 International Conference on Parallel Architectures and Compilation Techniques, pp.280-291 ,
DOI : 10.1109/PACT.2001.953309
A method for overlapping and erasure of lists, Communications of the ACM, vol.3, issue.12, pp.655-657, 1960. ,
DOI : 10.1145/367487.367501
Spécialisation tardive de systèmes Java embarqués pour petits objets portables et sécurisés, Thèse de doctorat, p.25, 2006. ,
Lustre: A declarative language for programming synchronous systems, Proceedings of the 14th ACM Symposium on Principles of Programming Languages (POPL'87), pp.178-188, 1987. ,
Calcul de majorants de pire temps d'ex??cution : ??tat de l'art, Techniques et sciences informatiques, vol.22, issue.5, pp.651-677, 2003. ,
DOI : 10.3166/tsi.22.651-677
Software caching and computation migration in Olden, Proceedings of the 5th ACM Symposium on Principles and Practice of Parallel Programming (PPOPP'95), pp.29-38, 1995. ,
Region analysis and transformation for Java programs, Proceedings of the 4th international symposium on Memory management , ISMM '04, pp.85-96, 2004. ,
DOI : 10.1145/1029873.1029884
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.115.5735
Compile-time deallocation of individual objects, Proceedings of the 2006 international symposium on Memory management , ISMM '06, pp.138-149, 2006. ,
DOI : 10.1145/1133956.1133975
Introduction and overview of the multics system, Proceedings of the AFIPS Fall Joint Computer Conference, pp.185-196, 1965. ,
Analysis of pointers and structures, Proceedings of the SIGPLAN 90 Conference on Programming Language Design and Implementation (PLDI'90), pp.296-310, 1990. ,
Validating Java(tm) for Safety-Critical Applications, Space 2005, pp.30-53, 2005. ,
DOI : 10.2514/6.2005-6812
The Ravenscar tasking profile for high integrity realtime programs, Proceedings of the 1998 ACM SIGAda international conference on Ada (SIGAda '98), pp.1-6, 1998. ,
Automated discovery of scoped memory regions for real-time Java, Proceedings of the 3rd International Symposium on Memory Management (ISMM'02), pp.25-35, 2002. ,
A hard look at hard real-time garbage collection, Seventh IEEE International Symposium onObject-Oriented Real-Time Distributed Computing, 2004. Proceedings., pp.23-32, 2004. ,
DOI : 10.1109/ISORC.2004.1300325
Optimization of Object-Oriented Programs Using Static Class Hierarchy Analysis, Proceedings of the 9th European Conference on Object-Oriented Programming (ECOOP'95), pp.77-101, 1995. ,
DOI : 10.1007/3-540-49538-X_5
On-the-fly garbage collection: An exercise in cooperation, Communications of the ACM, vol.21, issue.11, pp.965-975, 1978. ,
Efficient implementation of the smalltalk-80 system, Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages , POPL '84, pp.297-302, 1984. ,
DOI : 10.1145/800017.800542
Taming heterogeneity - the Ptolemy approach, Proceedings of the IEEE, pp.127-144, 2003. ,
DOI : 10.1109/JPROC.2002.805829
Exokernel: an operating system architecture for application-level resource management, Proceedings of the 15th ACM Symposium on Operating Systems Principles (SOSP'95, p.18, 1995. ,
Think : vers une architecture de systèmes flexibles, Thèse de doctorat, École Nationale Supérieure des Télécommunications, p.18, 2001. ,
The flux OSKit: A substrate for Kernel and language research, Proceedings of the 16th ACM Symposium on Operating Systems Principles (SOSP'97), pp.38-51 ,
Think: A software framework for component-based operating system kernels, Proceedings of the 2002 USENIX Annual Technical Conference (USENIX'02), pp.73-86, 2002. ,
A Lisp garbage collector for virtual memory computer systems, Communications of the ACM, vol.12, issue.11, pp.611-612, 1969. ,
Memory management with explicit regions, Proceedings of the SIGPLAN 1998 Conference on Programming Language Design and Implementation (PLDI'98), pp.313-323, 1998. ,
DOI : 10.1145/277652.277748
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.32.6278
Language support for regions, Proceedings of the SIGPLAN 2001 Conference on Programming Language Design and Implementation (PLDI'01, p.49, 2001. ,
DOI : 10.1145/381694.378815
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.25.1751
Can small and open embedded systems benefit from escape analysis ?, Proceedings of the 1st ECOOP Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages , Programs and Systems (ICOOOLPS'2006), p.142, 2006. ,
URL : https://hal.archives-ouvertes.fr/inria-00546662
The nesC language: A holistic approach to networked embedded systems, Proceedings of the SIGPLAN 2003 Conference on Programming Languages Design and Implementation (PLDI'03), pp.1-11, 2003. ,
A Complexity Study of Garbage Collection for Small Devices, 2007 International Conference on Sensor Technologies and Applications (SENSORCOMM 2007), pp.127-133, 2007. ,
DOI : 10.1109/SENSORCOMM.2007.4394909
Free-Me: A static analysis for automatic individual object reclamation, Proceedings of the SIGPLAN 2006 Conference on Programming Language Design and Implementation (PLDI'06), pp.364-375, 2006. ,
Region-based memory management in Cyclone, Proceedings of the SIGPLAN 2002 Conference on Programming Language Design and Implementation (PLDI'02), pp.282-293, 2002. ,
DOI : 10.1145/543552.512563
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.10.8871
Program Instrumentation and Run-Time Analysis of Scoped Memory in Java, Proceedings of the 4th ETAPS Workshop on Runtime Verification, p.50, 2004. ,
DOI : 10.1016/j.entcs.2004.01.031
Camille : un système d'exploitation ouvert pour carte à microprocesseur, Thèse de doctorat, p.19, 2000. ,
Fast Escape Analysis and Stack Allocation for Object-Based Programs, Proceedings of the 9th International Conference on Compiler Construction, p.70, 2000. ,
DOI : 10.1007/3-540-46423-9_6
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.6944
Interprocedural compatibility analysis for static object preallocation, Proceedings of the 30th ACM Symposium on Principles of Programming Languages (POPL'03, p.94, 2003. ,
DOI : 10.1145/640128.604154
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.13.4030
Hume: a concurrent language with bounded time and space behaviour, Proceedings of the 7th IEEE International Conference on Electronic Control Systems, pp.407-411, 2000. ,
Safer language subsets: an overview and a case history, MISRA C. Information & Software Technology, pp.465-472, 2004. ,
Quantifying the performance of garbage collection vs. explicit memory management, Proceedings of the 20th ACM Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'05) ,
Understanding the connectivity of heap objects, Proceedings of the 3rd International Symposium on Memory Management (ISMM'02), pp.36-49, 2002. ,
Pointer analysis, Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering , PASTE '01, p.69, 2001. ,
DOI : 10.1145/379605.379665
An operational semantics for stateflow, Proceedings of the 7th International Conference on Fundamental Approaches to Software Engineering, pp.229-243, 2004. ,
DOI : 10.1007/s10009-007-0049-7
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.11.1234
A foundation of escape analysis, Proceedings of the 9th Conference on Algebraic Methodology and Software Technology (AMAST'02), pp.380-395, 2002. ,
System architecture directions for networked sensors, Proceedings of the 9th International Conference on Architectural Support for Programming Languages and Operating Systems, pp.93-104, 2000. ,
DOI : 10.1145/356989.356998
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.697
Flow analysis and optimization of LISP-like structures, Program Flow Analysis: Theory and Applications, pp.102-131 ,
A flexible approach to interprocedural data flow analysis and programs with recursive data structures, Proceedings of the 9th ACM Symposium on Principles of Programming Languages (POPL'82), pp.66-74, 1982. ,
Cyclone: A safe dialect of C, Proceedings of the 2002 USENIX Annual Technical Conference, pp.275-288, 2002. ,
Garbage Collection: Algorithms for Automatic Dynamic Memory Management, pp.35-40, 1996. ,
What really happened on mars rover pathfinder, ACM Forum on Risks to the Public in Computers and Related Systems, vol.19, issue.49, p.28, 1997. ,
Garbage collection should be lifetime aware, Proceedings of the first ECOOP Workshop in Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS'2006), p.46, 2006. ,
Ravenscar-Java, Proceedings of the 2002 joint ACM-ISCOPE conference on Java Grande , JGI '02, pp.681-714, 2002. ,
DOI : 10.1145/583810.583825
Detecting conflicts between structure accesses, Proceedings of the SIGPLAN 1988 Conference on Programming Language Design and Implementation (PLDI'88), pp.21-34, 1988. ,
Scaling Java Points-to Analysis Using Spark, Proceedings of the 12th International Conference on Compiler Construction (CC'2003), pp.153-169, 2003. ,
DOI : 10.1007/3-540-36579-6_12
Scheduling algorithms for multiprogramming in a hard real-time environment, Journal of the ACM, vol.20, issue.1, pp.46-61, 1973. ,
A memory-efficient real-time non-copying garbage collector, Proceedings of the First International Symposium on Memory Management (ISMM'98), pp.118-129, 1998. ,
Embedded software development with eCos, p.19, 2003. ,
On the reference counter method, Communications of the ACM, vol.6, issue.9, pp.575-616, 1963. ,
Recursive functions symbolic expressions and their computation by machine, Part I, Communications of the ACM, vol.3, issue.4, pp.184-195, 1960. ,
DOI : 10.1145/367177.367199
Ahead of Time Deployment in ROM of a Java-OS, Proceedings of the 2nd International Conference on Embedded Software and Systems (ICESS'05), pp.63-70, 2005. ,
DOI : 10.1007/11599555_9
URL : https://hal.archives-ouvertes.fr/inria-00113693
Static determination of allocation rates to support real-time garbage collection, Proceedings of the 2005 ACM Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES'05), pp.193-202, 2005. ,
Abstract models of memory management, Proceedings of the seventh international conference on Functional programming languages and computer architecture , FPCA '95, pp.66-77, 1995. ,
DOI : 10.1145/224164.224182
A DSL approach for object memory management of small devices, Proceedings of the 5th Symposium on Principles and Practice of Programming in Java (PPPJ'07), pp.155-164, 2007. ,
A Few Graph-Based Relational Numerical Abstract Domains, Proceedings of the 9th Static Analysis Symposium (SAS'02), pp.117-132, 2002. ,
DOI : 10.1007/3-540-45789-5_11
Dealing with hardware in embedded software: A general framework based on the Devil language, Proceedings of the 2001 ACM Workshop on Languages, Compilers, and Tools for Embedded Systems (LCTES'01), pp.121-127, 2001. ,
Harissa: A flexible and efficient Java environment mixing bytecode and compiled code, Proceedings of the the 3rd USENIX Conference on Object-Oriented Technologies and Systems (COOTS'97), pp.1-20, 1997. ,
Parameterized object sensitivity for points-to analysis for Java, ACM Transactions on Software Engineering and Methodology, vol.14, issue.1, pp.1-41, 2005. ,
DOI : 10.1145/1044834.1044835
Bottom-Up and Top-Down Context-Sensitive Summary-Based Pointer Analysis, Proceedings of the 11th Static Analysis Symposium (SAS'04) Hanne Riis Nielson, and Christopher L. Hankin. Principles of Program Analysis, pp.165-180, 1999. ,
DOI : 10.1007/978-3-540-27864-1_14
Real-time Java scoped memory: Design patterns and semantics An adaptive, region-based allocator for Java, Proceedings of the 7th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing Proceedings of the 3rd International Symposium on Memory Management (ISMM'02), pp.101-110, 2002. ,
DOI : 10.1109/isorc.2004.1300335
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.89.5517
Mach: A foundation for open systems, Proceedings of the 2nd IEEE Workshop on Workstation Operating Systems, pp.109-113, 1989. ,
On-the-fly metadata stripping for embedded Java operating systems Decreasing memory overhead in hard real-time garbage collection, Proceedings of the 6th IFIP International Conference on Smart Card Research and Advanced Applications (CARDIS'04) Proceedings of the 2nd International Conference on Embedded Software (EMSOFT'02 Memory Efficient Hard Real-Time Garbage Collection, pp.17-32, 2002. ,
Effective synchronization removal for Java, Proceedings of the SIGPLAN 2000 Conference on Programming Language Design and Implementation (PLDI'00), pp.208-218, 2000. ,
DOI : 10.1145/358438.349327
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.461.5883
Pointer Analysis for Java Programs ; Novel Techniques and Applications Control flow analysis in Scheme, Proceedings of the the SIGPLAN 88 Conference on Programming Language Design and Implementation (PLDI'88), pp.164-174, 1988. ,
Safe manual memory management in Cyclone, Science of Computer Programming, vol.62, issue.2, pp.122-144, 2006. ,
DOI : 10.1016/j.scico.2006.02.003
Practical virtual method call resolution for Java] [Sie98] Fridtjof Siebert. Guaranteeing non-disruptiveness and real-time deadlines in an incremental garbage collector, Proceedings of the 15th ACM Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'00) Proceedings of the First International Symposium on Memory Management (ISMM'98), pp.264-280, 1998. ,
Hard real-time garbage collection in the Jamaica virtual machine, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306), pp.47-141, 1999. ,
DOI : 10.1109/RTCSA.1999.811198
Eliminating external fragmentation in a non-moving garbage collector for Java Architectures and Synthesis for Embedded Systems MC 2 : Highperformance garbage collection for memory-constrained environments, Proceedings of the 3rd Conference on Compilers Proceedings of the 19th ACM Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'04, pp.47-93, 2000. ,
Two approaches to interprocedural data flow analysis, pp.189-234, 1981. ,
Pointer and escape analysis for multithreaded programs, Proceedings of the 8th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP'01), pp.12-23, 2001. ,
DOI : 10.1145/568014.379553
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.2.4042
Purity and Side Effect Analysis for Java Programs, Proceedings of the 6th International Conference on Verification, Model Checking and Abstract Interpretation (VMCAI'05), pp.199-215, 2005. ,
DOI : 10.1007/978-3-540-30579-8_14
Priority inheritance protocols: an approach to real-time synchronization, IEEE Transactions on Computers, vol.39, issue.9, pp.1175-1185, 1990. ,
DOI : 10.1109/12.57058
Parametric shape analysis via 3-valued logic, ACM Transactions on Programming Languages and Systems, vol.24, issue.3, pp.217-298, 2002. ,
DOI : 10.1145/514188.514190
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.3161
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
A lattice for abstract interpretation of dynamic (LISP-like) structures. Information and Computation, pp.70-102, 1992. ,
A UNIX clone with source code for operating systems courses, ACM SIGOPS Operating Systems Review, vol.21, issue.1, p.18, 1987. ,
DOI : 10.1145/24592.24596
A Retrospective on Region-Based Memory Management, Higher-Order and Symbolic Computation, pp.245-265, 2004. ,
DOI : 10.1023/B:LISP.0000029446.78563.a4
A brief introduction to Regions, Proceedings of the First International Symposium on Memory Management (ISMM'98), pp.186-195, 1998. ,
DOI : 10.1145/301589.286882
Implementation of the typed call-by-value ??-calculus using a stack of regions, Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '94, pp.188-201, 1994. ,
DOI : 10.1145/174675.177855
Region-Based Memory Management, Information and Computation, vol.132, issue.2, pp.109-176, 1997. ,
DOI : 10.1006/inco.1996.2613
URL : http://doi.org/10.1006/inco.1996.2613
Shimple: An investigation of static single assignment form, p.95, 2006. ,
Energy adaptation for multimedia information kiosks, Proceedings of the 6th ACM & IEEE International conference on Embedded software , EMSOFT '06, pp.223-232, 2006. ,
DOI : 10.1145/1176887.1176920
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.119.4112
Generation scavenging: A non-disruptive high-performance storage reclamation algorithm, Proceedings of the 1984 ACM Software Engineering Symposium on Practical Software Development Environments (SDE'84), pp.157-167, 1984. ,
Soot -a Java bytecode optimization framework, Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative Research (CASCON'99), page 13. IBM, p.83, 1999. ,
Jimple: Simplifying Java bytecode for analyses and transformations, p.83, 1998. ,
Turbo- J, a Java bytecode-to-native compiler, Proceedings of the 1998 ACM Workshop on Languages, Compilers, and Tools for Embedded Systems (LCTES'98), pp.119-130, 1998. ,
Symmetric list processor, Communications of the ACM, vol.6, issue.9, pp.524-544, 1963. ,
DOI : 10.1145/367593.367617
Concurrent and real-time programming in Java, pp.30-52, 2004. ,
Uniprocessor garbage collection techniques, Proceedings of the 1992 International Workshop on Memory Management (IWMM'92), pp.1-42 ,
Dynamic storage allocation: A survey and critical review, Proceedings of the 1995 International Workshop on Memory Management (IWMM'95), pp.1-116, 1995. ,
Compositional pointer and escape analysis for Java programs, Proceedings of the 14th ACM Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'99), pp.187-206 ,
DOI : 10.1145/320385.320400
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.12.2189
Scoped Types for Real-Time Java, 25th IEEE International Real-Time Systems Symposium, pp.241-251, 2004. ,
DOI : 10.1109/REAL.2004.51
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.105.180