13,897 Hits in 4.1 sec

A Calculus for Compiling and Linking Classes [chapter]

Kathleen Fisher, John Reppy, Jon G. Riecke
2000 Lecture Notes in Computer Science  
We describe a low-level calculus, called λinkς (pronounced "links"), designed to serve as an intermediate representation in compilers for class-based objectoriented languages.  ...  Second, it allows the compiler to specify class linking directly in λinkς.  ...  The proof uses a strong-normalization theorem for a fragment of the calculus with linking labels L.  ... 
doi:10.1007/3-540-46425-5_9 fatcat:ysqrx7enxzhcrlo4z332pmbnfm

A Calculus for Link-Time Compilation [chapter]

Elena Machkasova, Franklyn A. Turbak
2000 Lecture Notes in Computer Science  
We present a module calculus for studying a simple model of link-time compilation. The calculus is stratified into a term calculus, a core module calculus, and a linking calculus.  ...  We also introduce the weak distributivity property for a transformation T operating on modules D1 and D2 linked by ⊕: T (D1 ⊕ D2) = T (T (D1) ⊕ T (D2)).  ...  These have intriguing properties for modular analysis and link-time compilation [Jim96, Ban97, KW99] .  ... 
doi:10.1007/3-540-46425-5_17 fatcat:c3hzc3h7lzfp3k7kocxqsytab4

Implementing the π-Calculus in Java

Liwu Li
2005 Journal of Object Technology  
Here, we present a language named π-language for programming π-calculus processes and a compiler named pi2j for translating the π-programs to Java code, which can be compiled with the Java compiler to  ...  processes and a process can use a received link to interact with another process.  ...  For example, in the implementation of the compiler pi2j, we represent a sequence of dot-separated actions with an object of class Sequence.  ... 
doi:10.5381/jot.2005.4.2.a5 fatcat:k4mpsvtnnjc3xj5h4tgfxvz6y4

Java bytecode specification and verification

Lilian Burdy, Mariela Pavlova
2006 Proceedings of the 2006 ACM symposium on Applied computing - SAC '06  
To this end, we define a bytecode specification language (BCSL) and a weakest precondition calculus for sequential Java bytecode.  ...  BCSL and the calculus are expressive enough for verifying non-trivial properties of programs, and cover most of sequential Java bytecode, including exceptions, subroutines, references, object creation  ...  The runtime constant pool serves for loading, linking and resolution of references used in the class. The JVM allows to add to the class file user specific information( [9] , ch.4.7.1).  ... 
doi:10.1145/1141277.1141708 dblp:conf/sac/BurdyP06 fatcat:3it4kc2fcngsfawkcck466nfmq

Robust Hyperproperty Preservation for Secure Compilation (Extended Abstract) [article]

Deepak Garg, Catalin Hritcu, Marco Patrignani, Marco Stronati, David Swasey
2017 arXiv   pre-print
For this, we study the preservation of several classes of hyperproperties and for each class we propose an equivalent "property-free" characterization of secure compilation that is generally better tailored  ...  developed for showing fully abstract compilation.  ...  One class of low-level vulnerabilities arises when code written in a safe language is compiled and interacts with unsafe code written in a lower-level language, e.g., when linking with libraries.  ... 
arXiv:1710.07309v4 fatcat:pygg3vfohzb4pkqygbcojy22gu

Type-safe linking and modular assembly language

Neal Glew, Greg Morrisett
1999 Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '99  
However, the security of web browsers and other extensible systems depends crucially upon a set of checks that must be performed at link time.  ...  Building upon the simple, but elegant ideas of Cardelli, and module constructs from high-level languages, we present a formal model of typed object files and a set of inference rules that are sufficient  ...  Recently, Cardelli proposed a calculus of compilation units for the simply-typed lambda-calculus and presented a set of rules for determining link compatibility [Car97] .  ... 
doi:10.1145/292540.292563 dblp:conf/popl/GlewM99 fatcat:ymz6d4ymqrbgdjuxvxtd7ti2gy

KERIS: evolving software with extensible modules

Matthias Zenger
2005 Journal of Software Maintenance and Evolution Research and Practice  
The concept of sealed packages exploits this mechanism to restrict class loading for classes of such a package only to a particular Jar file. 2 Regarding the open nature of packages it is surprising to  ...  Extensibility is type-safe and non-invasive; i.e. the extension of a module preserves the original version and does not require access to source code. 1 In Java class loaders can be used at runtime to  ...  Acknowledgments I would like to thank the reviewers of the First International Workshop on Unanticipated Software Extensibility for their detailed and constructive comments.  ... 
doi:10.1002/smr.320 fatcat:kikaaj7covf5fc4ie63ifq5bkm

Typed Compilation Against Non-manifest Base Classes [chapter]

Christopher League, Stefan Monnier
2006 Lecture Notes in Computer Science  
Fisher, Reppy, and Riecke designed Links, an untyped intermediate representation with abstractions suitable for compiling and optimizing a wide variety of object-oriented languages.  ...  Some advanced object-oriented languages (such as Loom, Moby, and OCaml) support compiling a derived class without complete information about its base class.  ...  To support such optimizations, Fisher, Reppy, and Riecke designed Links, a calculus for compiling and linking classes, based on the untyped λ-calculus.  ... 
doi:10.1007/11741060_5 fatcat:xiopjn2y5fecrejoa5y2psfake

Equational Reasoning for Linking with First-Class Primitive Modules [chapter]

J. B. Wells, René Vestergaard
2000 Lecture Notes in Computer Science  
In contrast, we introduce the m-calculus, a calculus where the primitive constructs are modules, linking, and the selection and hiding of module components.  ...  Modules and linking are usually formalized by encodings which use the λ-calculus, records (possibly dependent), and possibly some construct for recursion.  ...  The m-calculus is the first calculus of linking for first-class primitive modules which has been proved confluent.  ... 
doi:10.1007/3-540-46425-5_27 fatcat:qguozekpybahzgcc7sy2htkc74

A Calculus for Dynamic Linking [chapter]

Davide Ancona, Sonia Fagorzi, Elena Zucca
2003 Lecture Notes in Computer Science  
We define a calculus for modeling dynamic linking independently of the details of a particular programming environment.  ...  The type system of the calculus, which is proved to be sound, relies on an accurate dependency analysis for ensuring type safety without losing the advantages offered by dynamic linking.  ...  Acknowledgements We warmly thank Sophia Drossopoulou, Eugenio Moggi, and the anonymous referees for their useful suggestions and feedback.  ... 
doi:10.1007/978-3-540-45208-9_23 fatcat:rwlagxexczhtbfsp4hegv2mxry

Formal Techniques for Java Programs [chapter]

Gary T. Leavens, Sophia Drossopoulou, Susan Eisenbach, Arnd Poetzsch-Heffter, Erik Poll
2002 Lecture Notes in Computer Science  
This report gives an overview of the third ECOOP Workshop on Formal Techniques for Java Programs. It explains the motivation for such a workshop and summarizes the presentations and discussions.  ...  They defined a small subset of Java and conjecture that within their framework, type errors would be caught at compilation rather than linking time.  ...  They believe that these errors should have been caught earlier, in the compilation process. Ancona, Lagorio, and Zucca went on to propose a formal framework for expressing separate compilation.  ... 
doi:10.1007/3-540-47853-1_3 fatcat:rbitilj3dbfgxohlt3lenzkcze

Clausal Proofs and Discontinuity

1995 Logic Journal of the IGPL  
A suitable uni cation strategy is obtained for calculi of discontinuity by normalisation of the ground goal term followed by recursive descent and redex pattern matching on the head term.  ...  The demand of this application is not just for e cient processing of some or other speci c calculus, but for methods that will be generally applicable to categorial logics.  ...  Acknowledgements I thank Michael Moortgat and Dick Oehrle for comments on this work.  ... 
doi:10.1093/jigpal/3.2-3.403 fatcat:dd2uscjnobhgjajrwi4otegciy

Foundations of object-oriented languages

Andrew Black, Jens Palsberg
1994 SIGPLAN notices  
Acknowledgements The authors thank Kim Bruce, Guiseppe Longo, and Mitchell Wand for helpful comments on drafts of the report.  ...  comparison method. • Generic sort, in which < is part of the argument list. • A class for nodes in a singly linked list, and a subclass for nodes in a doubly linked list.  ...  Roberto di Cosmo: Which types for the objects? di Cosmo presented and criticized the idea of using a type as the search key for finding methods in a class library.  ... 
doi:10.1145/181587.181588 fatcat:7ve6wclekvhunalmgiwzfllszm

Dynamic Memory De-allocation in Fortran 95/2003 Derived Type Calculus

Damian W.I. Rouson, Karla Morris, Xiaofeng Xu
2005 Scientific Programming  
When the dimension of each object's state space is not specified at compile-time, the programmer becomes responsible for dynamically allocating and de-allocating memory for each instantiation.  ...  This paper proposes a set of rules for de-allocating memory that has been dynamically allocated for intermediate results in derived type calculus, while distinguishing that memory from more persistent  ...  Derived type calculus We can now specify the requirements for an ADT calculus using Fortran 95/2003 derived types.  ... 
doi:10.1155/2005/702048 fatcat:n3r4uc2h2raghpvk4au67og2mi

A Mobile Agent Service-Oriented Scripting Language Encoded on a Process Calculus [chapter]

Hervé Paulino, Luís Lopes
2006 Lecture Notes in Computer Science  
The encoding provides a specification for the front-end of the language compiler and allows us to use, for the back-end and for the run-time system, a compiler and a virtual machine previously developed  ...  The LSDπcalculus is, in turn, a form of the π-calculus extended with support for distributed execution and mobility of resources and, with a well-studied semantics.  ...  The abstract machine for Mob was encoded onto a process calculus and this allowed us to use this encoding as a specification for the front-end of the Mob compiler and, also, to use the run-time system  ... 
doi:10.1007/11860990_24 fatcat:ykoag5lntfc6bdgu6w2hseujym
« Previous Showing results 1 — 15 out of 13,897 results