Michael Franz

Mostly-Static Program Partitioning of Binary Executables (2009)

Efe Yardimci, Michael Franz

We have built a run-time compilation system that takes unmodified sequential binaries and improves their performance on off-the-shelf multiprocessors using dynamic vectorization and looplevel...

Multi-Variant Program Execution: Using Multi-Core Systems to Defuse Buffer-Overflow Vulnerabilities (2009)

Babak Salamat, Andreas Gal, Todd Jackson, Karthikeyan Manivannan, Gregor Wagner, Michael Franz

While memory-safe and type-safe languages have been available for many years, the vast majority of software is still implemented in type-unsafe languages such as C/C++. Despite massive concerted...

Dynamic Parallelization and Vectorization of Binary Executables on Hierarchical Platforms (2009)

Efe Yardımcı, Michael Franz

As performance improvements are being increasingly sought via coarse-grained parallelism, established expectations of continued sequential performance increases are not being met. Current trends in...

Orchestra: A User Space Multi-Variant Execution Environment (2009)

Babak Salamat, Todd Jackson, Andreas Gal, Michael Franz

In a Multi-Variant Execution Environment (MVEE), several slightly different versions of the same program are executed in lockstep. While this is done, the environment compares the behavior of each...

CellVM: A Homogeneous Virtual Machine Runtime System for a Heterogeneous Single-Chip Multiprocessor (2009)

Albert Noll, Andreas Gal, Michael Franz

The Cell Broadband Engine Architecture (Cell) is a hardware platform for high performance parallel computing. Due to its architectural features and programming model, efficiently programming the Cell...

Abstract Code Generation At The Proxy: An Infrastructure-Based Approach To Ubiquitous Mobile Code (2009)

Deepak Ch, Christian Fensch, Won-kee Hong, Lei Wang, Efe Yardımcı, Michael Franz

Current approaches to mobile code are ill-suited for resource-constrained devices such as mobile phones and personal digital appliances — yet it is exactly these devices that are the most...

SSA-based Mobile Code: Implementation and Empirical Evaluation WOLFRAM AMME (2009)

Jeffery Von Ronne, Michael Franz

Although one might expect transportation formats based on static single assignment form (SSA) to yield faster just-in-time compilation times than those based on stack-based virtual machines, this...

Practical, Dynamic Information-flow for Virtual Machines (2009)

Vivek Haldar, Deepak Chandra, Michael Franz

For decades, secure operating systems have incorporated mandatory access control (MAC) techniques. Surprisingly, mobile-code platforms such as the Java Virtual Machine (JVM) and the.NET Common...

08441 Final Report -- Emerging Uses and Paradigms for Dynamic Binary Translation (2009)

Altman, Erik, Childers, Bruce R., Cohn, Robert, Davidson, Jack, De Brosschere, Koen, De Sutter, Bjorn, ...

Software designers and developers face many problems in designing, building, deploying, and maintaining cutting-edge software applications–reliability,security,performance,power,legacy code,use of...

Automatic Generation of Machine Emulators: Efficient Synthesis of Robust Virtual Machines for Legacy Software Migration (2008)

Michael Franz, Andreas Gal, Christian W. Probst

Abstract: As older mainframe architectures become obsolete, the corresponding legacy software is increasingly executed via platform emulators running on top of more modern commodity hardware. These...

One Method At A Time Is Quite A Waste Of Time (2008)

Andreas Gal, Michael Bebenita, Michael Franz

Abstract. Most just-in-time compilers for object-oriented languages operate at the granularity of methods. Unfortunately, even “hot ” methods often contain “cold” code paths. As a...

Optimizer (2008)

Wolfram Amme, Jeffery Von Ronne, Michael Franz, Presentation Andreas Gampe, Ssa Safetsa, Source Code (limited

“The term mobile code describes any program that can be shipped unchanged to a heterogenous collection of processors and executed with identical semantics on each processor.” Producer-Side...

Abstract (2008)

Wolfram Amme, Niall Dalton, Michael Franz, Jeffery Von Ronne

We introduce SafeTSA, a type-safe mobile code representation based on static single assignment form. We are developing SafeTSA as an alternative to the Java Virtual Machine, over which it has several...

Mostly-Static Program Partitioning for Dynamic Parallelization of Binary (2008)

Efe Yardımcı, Michael Franz

Azure is a run-time monitoring and dynamic compilation system that takes unmodified sequential binaries and improves their performance when running on off-the-shelf microprocessors. Among the...

Abstract (2008)

Wolfram Amme, Peter S. Housel, Niall Dalton, Jeffery Von Ronne, Michael Franz, Peter H. Fröhlich, ...

Project TRANSPROSE is a comprehensive research project investigating techniques for transporting programs securely over potentially insecure channels. The central focus of this project is the...

Automatic Partitioning of Object-Oriented Programs with Multiple Distribution Objectives (2008)

Lei Wang, Michael Franz

There are many domains in which it would be very useful if we could take a monolithic program and automatically convert it into a distributed program according to some partitioning objective, such as...

Chapter 1 A Fresh Look At Low-Power Mobile Computing (2008)

Michael Franz

Abstract: We challenge the apparent consensus that next-generation mobile devices must necessarily provide resource-intensive capabilities such as on-device Java implementations to support advanced...

Continuous Program Optimization: A Case (2008)

Thomas Kistler, Michael Franz

Much of the software in everyday operation is not making optimal use of the hardware on which it actually runs. Among the reasons for this discrepancy are hardware/software mismatches, modularization...

Towards Language-Agnostic Mobile Code Abstract (2008)

Christian H. Stork, Peter S. Housel, Vivek Haldar, Niall Dalton, Michael Franz

The Java Virtual Machine is primarily designed for transporting Java programs. As a consequence, when JVM bytecodes are used to transport programs in other languages, the result becomes less...

Oberon – The Overlooked Jewel 1 Oberon – The Overlooked Jewel (2008)

Michael Franz

Niklaus Wirth has received much deserved fame for the creation of Pascal, but in many ways, he subsequently became a victim of Pascal's success. In an age of rising specialization, in which most...

Producer-Side Platform-Independent Optimizations and Their Effects on Mobile-Code Performance (2008)

Philipp Adler, Wolfram Amme, Jeffery Von Ronne, Michael Franz, Andreas Gampe

“The term mobile code describes any program that can be shipped unchanged to a heterogenous collection of processors and executed with identical semantics on each processor.” Producer-Side...

Continuous Program Optimization: A Case (2008)

Thomas Kistler, Michael Franz

Much of the software in everyday operation is not making optimal use of the hardware on which it actually runs. Among the reasons for this discrepancy are hardware/software mismatches, modularization...

Abstract (2008)

Jeffery Von Ronne, Michael Franz

Conventional mobile-code representations, e.g. Java bytecode, provide machine-independence and type-safety, but do so at the expense of performance. This performance hit can be taken in the form of...

Abstract COCV 2005 Preliminary Version Quantifying the Benefits of SSA-Based Mobile Code 1 (2008)

Wolfram Amme, Jeffery Ronne, Michael Franz

High-performance just-in-time compilers for Java need to invest considerable effort before actual code generation can commence. This is in part due to the very nature of the Java Virtual Machine,...

Eliminating Trust From Application Programs By Way Of Software Architecture (2008)

Michael Franz

In many of today’s application programs, security functionality is inseparably intertwined with the actual mission-purpose logic. As a result, the trusted code base is unnecessarily large and audit...

Making the Compilation “Pipeline ” Explicit: Dynamic Compilation Using Trace Tree Serialization (2008)

Andreas Gal, Michael Bebenita, Mason Chang, Michael Franz

Abstract. Trace-based compilers operate by dynamically discovering loop headers and then recording and compiling all paths through a loop that are executed with sufficient frequency. The different...

Mandatory Access Control at the Object Level in the Java Virtual Machine (2008)

Vivek Haldar, Michael Franz

For decades, secure operating systems have incorporated mandatory access control (MAC) techniques. Surprisingly, mobile-code platforms such as the Java Virtual Machine (JVM) and the.NET Common...

Java Bytecode Verification via Static Single Assignment Form (2008)

Andreas Gal, Michael Franz, Christian W. Probst

Java Virtual Machines (JVMs) traditionally perform bytecode verification by way of an iterative data-flow analysis. This is necessary to ensure type safety because temporary variables in the JVM are...

Code Generation At The Proxy: An Infrastructure-Based Approach To Ubiquitous Mobile Code (2008)

Deepak Ch, Christian Fensch, Won-kee Hong, Lei Wang, Efe Yardımcı, Michael Franz

Current approaches to mobile code are ill-suited for resource-constrained devices such as mobile phones and personal digital appliances — yet it is exactly these devices that are the most...

Efficient Just-In-Time Execution of Dynamically Typed Languages Via Code Specialization Using Precise Runtime Type Inference (2008)

Mason Chang, Michael Bebenita, Alexander Yermolovich, Andreas Gal, Michael Franz

Dynamically typed languages such as JavaScript present a challenge to just-in-time compilers. In contrast to statically typed languages such as JVML, in which there are specific opcodes for common...

Practical, Dynamic Information-flow for Virtual Machines (2008)

Vivek Haldar, Deepak Ch, Michael Franz

Abstract. For decades, secure operating systems have incorporated mandatory access control (MAC) techniques. Surprisingly, mobile-code platforms such as the Java Virtual Machine (JVM) and the.NET...

Abstract COCV 2005 Preliminary Version Structural Encoding of Static Single Assignment Form (2008)

Andreas Gal, Christian W. Probst, Michael Franz

Static Single Assignment (SSA) form is often used as an intermediate representation during code optimization in Java Virtual Machines. Recently, SSA has successfully been used for bytecode...

Oberon – The Overlooked Jewel 1 Oberon – The Overlooked Jewel (2008)

Michael Franz

Niklaus Wirth has received much deserved fame for the creation of Pascal, but in many ways, he subsequently became a victim of Pascal's success. In an age of rising specialization, in which most...

Abstract AIOOL 2005 Preliminary Version Integrated Java Bytecode Verification (2008)

Andreas Gal, Christian W. Probst, Michael Franz

Existing Java verifiers perform an iterative data-flow analysis to discover the unambiguous interpretation to obtain definition/use information for each register and stack location in the program,...

M.: Efficiently verifiable escape analysis (2008)

Matthew Q. Beers, Christian H. Stork, Michael Franz

Abstract. Escape analysis facilitates better optimization of programs in object-oriented programming languages such as Java, significantly reducing memory management and synchronization overhead....

Abstract (2008)

Wolfram Amme, Peter S. Housel, Niall Dalton, Jeffery Von Ronne, Michael Franz, Peter H. Fröhlich, ...

Project TRANSPROSE is a comprehensive research project investigating techniques for transporting programs securely over potentially insecure channels. The central focus of this project is the...

Tamper-Proof Annotations, by Construction (2008)

Michael Franz, Chandra Krintz, Vivek Haldar, Christian H. Stork

Current mobile-code formats require veri cation by the code recipient to guard against potentially malicious actions of an incoming mobile program. Suchveri cation is needed even when a mobile...

Computing in the Network (2008)

Christian W. Probst, Andreas Gal, Michael Franz

Inexpensive wireless networks have transformed once autonomous mobile devices like Personal Digital Assistants and mobile sensors into nodes of large distributed systems. Existing approaches to...

Safe Code - It's Not Just For Applets Anymore (2008)

Michael Franz

Despite numerous "trusted systems" initiatives, current systems software continues to be riddled with errors. The recent "Slammer Worm" incident shows that an adversary exploiting...

Measures Travis N. Ridout of Campaign and Michael Tone Franz Evaluating Measures of Campaign Tone (2008)

Publisher Routledge, Travis N. Ridout, Michael Franz

This article may be used for research, teaching and private study purposes. Any substantial or systematic reproduction, re-distribution, re-selling, loan or sub-licensing, systematic supply or...

Compiler Optimizations Should Pay for Themselves - Applying the Spirit of Oberon to Code Optimization by Compiler (2007)

Michael Franz

Optimizing compilers tend to be much larger and much slower than their straightforward counterparts. Their designers usually do not follow Oberon's maxim of making things "as simple as...

Making Mobile Code Both Safe And Efficient ∗ (2007)

Michael Franz, Wolfram Amme, Matthew Beers, Niall Dalton, Peter H. Fröhlich, Vivek Haldar, ...

Mobile programs can potentially be malicious. To protect itself, a host that receives such mobile programs from an untrusted party or via an untrusted network connection will want some kind of...

Reconciling Mobile-Code Security With Execution Efficiency (2007)

Wolfram Amme, Wolfram Amme, Niall Dalton, Niall Dalton, Peter H. Frohlich, Peter H. Frohlich, ...

transPROSE is a comprehensive research project investigating techniques for transporting programs securely over potentially insecure channels. The central focus of this project is the development of...

Towards Language-Agnostic Mobile Code (2007)

Christian H. Stork, Peter S. Housel, Vivek Haldar, Niall Dalton, Michael Franz

The Java Virtual Machine is primarily designed for transporting Java programs. As a consequence, when JVM bytecodes are used to transport programs in other languages, the result becomes less...

Abstract (2007)

Wolfram Amme, Peter S. Housel, Niall Dalton, Jeffery Von Ronne, Michael Franz, Peter H. Fröhlich, ...

Project TRANSPROSE is a comprehensive research project investigating techniques for transporting programs securely over potentially insecure channels. The central focus of this project is the...

Abstract (2007)

Jeffery Von Ronne, Michael Franz

Conventional mobile-code representations, e.g. Java bytecode, provide machine-independence and type-safety, but do so at the expense of performance. This performance hit can be taken in the form of...

Abstract Code Annotation for Safe and Efficient Dynamic Object Resolution (2007)

Andreas Hartmann, Wolfram Amme, Jeffery Von Ronne, Michael Franz

The execution time of object oriented programs can be drastically reduced by transforming ”non escaping ” objects into a collection of its component scalar data fields. But for languages that...

Position Paper (2007)

Andreas Gal, Peter H. Fröhlich, Michael Franz

Traditional, statically composed software can be globally optimized for execution speed at compile-time. For dynamically composed component software, a different execution model has to be employed to...

Online Verication of Oine Escape Analysis (2007)

Michael Franz, Vivek Haldar, Chandra Krintz, Christian Stork

Dynamic compilation often comes at the price of reduced code quality since there is not enough time available to perform expensive optimizations. One solution to this problem has been the addition of...

Abstract (2007)

Peter H. Fröhlich, Jeffery Ronne, Christian H. Stork, Michael Franz, Vivek Haldar, Sergiy Zhenochin, ...

transPROSE is a comprehensive research project investigating techniques for transporting programs securely over potentially insecure channels. The central focus of this project is the development of...

A Practical Mobile-Code Format with Linear Verification Effort (2007)

Ning Wang, Michael Franz

We present an abstract machine that encodes both type safety and control safety in an efficient manner and that is suitable as a mobile-code format. At the code consumer, a single linear-complexity...

2.2 Choosing Φ-function Operands................... 4 (2007)

Jeffery Ronne, Ning Wang, Alexander Apel, Michael Franz

Optimizing compilers, including those in virtual machines, commonly utilize Static Single Assignment Form as their intermediate representation, but interpreters typically implement stack-oriented...

Position Paper (2007)

Andreas Gal, Peter H. Fröhlich, Michael Franz

Traditional, statically composed software can be globally optimized for execution speed at compile-time. For dynamically composed component software, a different execution model has to be employed to...

Making Mobile Code Both Safe And Efficient ∗ (2007)

Michael Franz, Wolfram Amme, Matthew Beers, Niall Dalton, Peter H. Fröhlich, Vivek Haldar, ...

Mobile programs can potentially be malicious. To protect itself, a host that receives such mobile programs from an untrusted party or via an untrusted network connection will want some kind of...

Abstract (2007)

Michael Franz, Peter H. Fröhlich

Component-oriented programming promises to finally make the vision of pervasive software components a reality. In the area of dependable real-time systems, the benefits of increased reuse,...

Stopping Buffer Overflow Attacks at Run-Time: Simultaneous Multi- Variant Program Execution on a Multicore Processor (2007)

Babak Salamat, Andreas Gal, Todd Jackson, Karthik Manivannan, Gregor Wagner, Michael Franz

Many large software projects contain residual buffer-overrun vulnerabilities that somehow have managed to escape static analysis and source code reviews. We present an automated software-only...

Reverse Stack Execution (2007)

Andreas Gal, Karthik Manivannan, Michael Franz, Alexander Yermolovich

Introducing variability during program execution is an effective technique for fighting software monoculture which enables the quick spread of malicious code such as viruses and worms. Existing works...

A new way of estimating compute boundedness and its application to dynamic voltage scaling (2006)

Vasanth Venkatachalam, Michael Franz, Christian W. Probst

Abstract: Many recent dynamic voltage-scaling (DVS) algorithms use hardware events (such as cache misses, memory bus transactions, or instruction execution rates) as the basis for deciding how much a...

Incremental Dynamic Code Generation with Trace Trees (2006)

Andreas Gal, Michael Franz

The unit of compilation for traditional just-in-time compilers is the method. We have explored trace-based compilation, in which the unit of compilation is a loop, potentially spanning multiple...

A new way of estimating compute boundedness and its application to dynamic voltage scaling (2006)

Vasanth Venkatachalam, Michael Franz, Christian W. Probst

Abstract: Many recent dynamic voltage-scaling (DVS) algorithms use hardware events (such as cache misses, memory bus transactions, or instruction execution rates) as the basis for deciding how much a...

M.: An inherently type-safe ssa-based code format (2006)

Jeffery Von Ronne, Michael Franz

Conventional type safe virtual machines, such as the Java Virtual Machine, utilize a stack-oriented bytecode language and require verification prior to execution. We present SafeTSA, a...

Ssa-based mobile code: Implementation and empirical evaluation (2006)

Jeffery Von Ronne, Michael Franz

Although one might expect transportation formats based on static single assignment form (SSA) to yield faster just-in-time compilation times than those based on stack-based virtual machines, this...

A portable virtual machine target for proof-carrying code (2005)

Michael Franz, Deepak Ch, Andreas Gal, Vivek Haldar, Fermín Reig, Ning Wang

Virtual Machines (VMs) and Proof-Carrying Code (PCC) are two techniques that have been used independently to provide safety for (mobile) code. Existing virtual machines, such as the Java VM, have...

A portable virtual machine target for proof-carrying code (2005)

Michael Franz, Deepak Ch, Andreas Gal, Vivek Haldar, Fermín Reig, Ning Wang

Virtual Machines (VMs) and Proof-Carrying Code (PCC) are two techniques that have been used independently to provide safety for (mobile) code. Existing virtual machines, such as the Java VM, have...

Power reduction techniques for microprocessor systems (2005)

Vasanth Venkatachalam, Michael Franz

Power consumption is a major factor that limits the performance of computers. We survey the “state of the art ” in techniques that reduce the total power consumed by a microprocessor system over...

Untyped Memory in the Java Virtual Machine (2005)

Andreas Gal, Michael Franz, Christian W. Probst

We have implemented a virtual execution environment that executes legacy binary code on top of the type-safe Java Virtual Machine by recompiling native code instructions to type-safe bytecode. As it...

Dynamic Taint Propagation for Java (2005)

Vivek Haldar, Deepak Chandra, Michael Franz

Improperly validated user input is the underlying root cause for a wide variety of attacks on web-based applications. Static approaches for detecting this problem help at the time of development, but...

A Multilevel Introspective Dynamic Optimization System For Holistic Power-Aware Computing (2005)

Venkatachalam, Vasanth, Probst, Christian W., Franz, Michael

Power consumption is rapidly becoming the dominant limiting factor for further improvements in computer design. Curiously, this applies both at the "high end" of workstations and servers and the "low...

Semantic remote attestation: A virtual machine directed approach to trusted computing (2004)

Vivek Haldar, Deepak Ch, Michael Franz

Remote attestation is one of the core functionalities provided by trusted computing platforms. It holds the promise of enabling a variety of novel applications. However, current techniques for remote...

Semantic remote attestation: A virtual machine directed approach to trusted computing (2004)

Vivek Haldar, Deepak Ch, Michael Franz

Remote attestation is one of the core functionalities provided by trusted computing platforms. It holds the promise of enabling a variety of novel applications. However, current techniques for remote...

Symmetric behavior-based trust: A new paradigm for internet computing (2004)

Vivek Haldar, Michael Franz

Current models of Internet Computing are highly asymmetric – a host protects itself from malicious mobile Java programs, but there is no way to get assurances about the behavior of a program...

Symmetric behavior-based trust: A new paradigm for internet computing (2004)

Vivek Haldar, Michael Franz

Current models of Internet Computing are highly asymmetric – a host protects itself from malicious mobile Java programs, but there is no way to get assurances about the behavior of a program...

A Multilevel Introspective Dynamic Optimization System For Holistic Power Aware Computing (2004)

Vasanth Venkatachalam, Christian W. Probst, Michael Franz, Mathematical Modelling

Abstract. Power consumption is rapidly becoming the dominant limiting factor for further improvements in computer design. Curiously, this applies both at the “high-end ” of workstations and...

Executing Legacy Applications on a Java Operating System (2004)

Andreas Gal, Michael Yang, Christian Probst, Michael Franz

One of the biggest disadvantages of using type-safe languages and frameworks such as Java for the implementation of commercial operating system (OS) platforms is the lack of backward compatibility...

Proofing: Efficient SSA-based Java Verification (2004)

Andreas Gal, Andreas Gal, Christian W. Probst, Christian W. Probst, Michael Franz, Michael Franz

Verification is essential for assuring the integrity of a Java virtual machine when executing untrusted code. Existing verifiers decide whether or not a given bytecode program is safe. In contrast,...

Virtual machine driven dynamic voltage scaling (2003)

Vivek Haldar, Christian W. Probst, Vasanth Venkatachalam, Michael Franz

In current DVS approaches, voltage scaling decisions are made statically at compile time, and/or dynamically at the OS level. While this has yielded excellent results for a wide range of...

Virtual machine driven dynamic voltage scaling (2003)

Vivek Haldar, Christian W. Probst, Vasanth Venkatachalam, Michael Franz, Vivek Haldar, Christian W. Probst, ...

In current DVS approaches, voltage scaling decisions are made statically at compile time, and/or dynamically at the OS level. While this has yielded excellent results for a wide range of...

CONTENTS i (2003)

Jeffery Ronne, Ning Wang, Alexander Apel, Michael Franz

Optimizing compilers, including those in virtual machines, commonly utilize Static Single Assignment Form as their intermediate representation, but interpreters typically implement stack-oriented...

Continuous Program Optimization: A Case Study (2003)

Thomas Kistler, Michael Franz

This paper presents a system that provides code generation at load-time and continuous program optimization at run-time. First, the architecture of the system is presented. Then, two optimization...

A Portable Virtual Machine Target for Proof-Carrying Code (2003)

Michael Franz, Deepak Chandra, Andreas Gal, Vivek Haldar, Fermin Reig, Ning Wang

Virtual Machines (VMs) and Proof-Carrying Code (PCC) are two techniques that have been used independently to provide safety for (mobile) code. Existing virtual machines, such as the Java VM, have...

Supporting Software Composition at the Programming-Language Level (2003)

Michael Franz, Peter H. Fröhlich, Andreas Gal

We are in the midst of a paradigm shift toward component-oriented software development, and significant progress has been made in understanding and harnessing this new paradigm. Somewhat strangely...

A Denial of Service Attack on the Java Bytecode (2003)

Verifier Andreas Gal, Andreas Gal, Christian W. Probst, Michael Franz

Java Bytecode Verification was so far mostly approached from a correctness perspective. Security vulnerabilities have been found repeatedly and were corrected shortly thereafter. However, correctness...

Proofing: An Efficient and Safe Alternative to Mobile-Code Verification (2003)

Andreas Gal, Christian W. Probst, Michael Franz

The safety of the Java Virtual Machine is founded on bytecode verification. Although verification complexity appears to roughly correlate with program size in the average case, its worst-case...

An Efficient XML Schema Typing System (2003)

Ning Wang Peter, Peter S. Housel, Guogen Zhang, Michael Franz

An XML Schema Typing System based on finite state automata is presented.

A Portable Virtual Machine Target for Proof-Carrying Code (2003)

Michael Franz, Deepak Chandra, Andreas Gal, Vivek Haldar, Fermin Reig, Ning Wang

Virtual Machines (VMs) and Proof-Carrying Code (PCC) are two techniques that have been used independently to provide safety for (mobile) code. Existing virtual machines, such as the Java VM, have...

Interpreting Programs in Static Single Assignment Form (2003)

Jeffery Von Ronne, Ning Wang, Michael Franz

Static Single Assignment Form is a common intermediate representation for optimizing compilers but several of its features are difficult to implement in a traditional imperative interpreter. An...

Tamper proof annotations by construction (2002)

Michael Franz, Vivek Haldar, Chandra Krintz, Christian H. Stork

Authors in alphabetical order. Dynamic compilation often comes at the price of reduced code quality, because there is not enough time available to perform expensive optimizations. One solution to...

The source is the proof (2002)

Vivek Haldar, Christian H. Stork, Michael Franz

Abstract: We challenge the apparent consensus for using bytecode verification and techniques related to proof-carrying code for mobile code security. We propose an alternative to these two techniques...

Online Verification of Offline Escape Analysis (2002)

Michael Franz, Vivek Haldar Ch

Dynamic compilation often comes at the price of reduced code quality since there is not enough time available to perform expensive optimizations. One solution to this problem has been the addition of...

On Reconciling Objects, Components, and Efficiency in Programming Languages (2002)

Peter H. Fröhlich, Andreas Gal, Michael Franz

The paradigm of component-oriented programming, which promises to improve upon object-oriented techniques in significant ways, is currently still difficult to apply in practice. One problem impeding...

Using the SafeTSA Representation to Boost the Performance of an Existing Java Virtual Machine (2002)

Wolfram Amme, Jeffery Von Ronne, Michael Franz

High-performance just-in-time compilers for Java need to invest a considerable e#ort before actual code generation can commence, both to verify each incoming JVM class file, and to translate the them...

Efficient online optimization by utilizing offline analysis and the SafeTSA representation (2002)

Jeffery Von Ronne, Andreas Hartmann, Wolfram Amme, Michael Franz

Abstract. Conventional mobile-code representations, e.g. Java bytecode, provide machine-independence and type-safety, but do so at the expense of performance. This performance hit can be taken in the...

Enabling Efficient Program Analysis for (2002)

Dynamic Optimization Of, Ning Wang, Michael Franz, Niall Dalton

Modern and likely future architectures require compilers to perform extensive restructuring of programs during optimization. We have been building a system in which JVM bytecode is compiled off-line...

A type-safe mobile-code representation aimed at supporting dynamic optimization at the target site (2001)

Wolfram Amme, Niall Dalton, Michael Franz, Jeffery Von Ronne

We introduce SafeTSA, a type-safe mobile code representation based on static single assignment form. We are developing SafeTSA as an alternative to the Java Virtual Machine, over which it has several...

Project transprose: Reconciling mobile-code security with execution efficiency (2001)

Wolfram Amme, Niall Dalton, Peter H. Frohlich, Vivek Haldar, Peter S. Housel, Jeffery Von Ronne, ...

Project TRANSPROSE is a comprehensive research project investigating techniques for transporting programs securely over potentially insecure channels. The central focus of this project is the...

Compile Time Elimination of Null- and Bounds-Checks (2001)

Je Ery Von, Michael Franz, Niall Dalton, Wolfram Amme

SafeTSA is a new type safe intermediate representation for mobile code based on static single assignment form. We developed SafeTSA as an alternative to the Java Virtual Machine.

Compile Time Elimination of Null- and Bounds-Checks (2001)

Jeffery Von Ronne, Michael Franz, Niall Dalton, Wolfram Amme

SafeTSA is a new type safe intermediate representation for mobile code based on static single assignment form. We developed SafeTSA as an alternative to the Java Virtual Machine.

SafeTSA: A Type Safe and Referentially Secure Mobile-Code Representation Based on Static Single Assignment Form (2001)

Wolfram Amme, Niall Dalton, Jeffery Von Ronne, Michael Franz

We introduce SafeTSA, a type-safe mobile code representation based on static single assignment form. We are developing SafeTSA as an alternative to the Java Virtual Machine, over which it has several...

Generic adaptive syntax-directed compression for mobile code (2000)

Christian H. Stork, Vivek Haldar, Michael Franz

We present a new approach to code compression which was designed as part of a larger infrastructure for mobile code deployment. Our approach operates on abstract syntax trees and can be parameterized...

Stand-alone messages: A step towards component-oriented programming languages (2000)

Peter H. Fröhlich, Michael Franz

Abstract. We are concerned with the design of programming languages that support the paradigm of component-oriented programming. Languages based on the accepted idea of combining modular and...

Stand-alone messages: A step towards component-oriented programming languages (2000)

Peter H. Fröhlich, Michael Franz

Abstract. We are concerned with the design of programming languages that support the paradigm of component-oriented programming. Languages based on the accepted idea of combining modular and...

Generic adaptive syntax-directed compression for mobile code (2000)

Christian H. Stork, Vivek Haldar, Michael Franz

We propose a new scheme for compressing mobile programs. Our proposal is meant as part of a larger infrastructure for code distribution and deployment. In this paper we show how to effectively...

Generic adaptive syntax-directed compression for mobile code (2000)

Christian H. Stork, Vivek Haldar, Michael Franz

We present a new approach to code compression designed as part of a larger syntax trees and can be parameterized by abstract grammars, making it applicable to any source language without further...

Improving Context-Based Load Value Prediction (2000)

Martin Burtscher, Written Martin Burtscher, Benjamin G. Zorn, Michael Franz, ...

The final copy of this thesis has been examined by the signatories, and we find that both the content and the form meet acceptable presentation standards of scholarly work in the above mentioned...

Automated Data-Member Layout of Heap Objects to Improve Memory-Hierarchy Performance (2000)

Thomas Kistler, Michael Franz

this article, we present an optimization technique that increases memory performance specifically for pointer-centric applications. Our optimization is based on determining the best internal storage...

Stand-alone messages: A step towards component-oriented programming languages (2000)

Peter H. Fröhlich, Michael Franz

We are concerned with the design of programming languages that support the paradigm of component-oriented programming. Languages based on the accepted idea of combining modular and object-oriented...

The case for dynamic optimization: Improving memory-hierarchy performance by continuously adapting the internal storage layout of heap objects at run-time (1999)

Thomas Kistler, Michael Franz

We present and evaluate a simple, yet efficient dynamic optimization technique that increases memory-hierarchy performance for pointer-centric applications by up to 24 % and reduces cache misses by...

The case for dynamic optimization: Improving memory-hierarchy performance by continuously adapting the internal storage layout of heap objects at run-time (1999)

Thomas Kistler, Thomas Kistler, Michael Franz, Michael Franz

We present and evaluate a simple, yet e#cient dynamic optimization technique that increases memory-hierarchy performance for pointer-centric applications by up to 24 % and reduces cache misses by up...

Component-Oriented Programming in Object-Oriented Languages (1999)

Peter H. Fröhlich, Michael Franz

Current approaches to component-oriented programming are based on traditional object-oriented languages and concepts. However, most existing object-oriented languages fail to address subtle interface...

Oberon with Gadgets - A Simple Component Framework (1999)

Jürg Gutknecht, Eth Zurich, Michael Franz, Uc Irvine

We present a simple component framework that, "in a nutshell", addresses many of the archetypal aspects of component-oriented software environments, with a particular emphasis on...

Perpetual Adaptation of Software to Hardware: An Extensible Architecture for Providing Code Optimization as a Central System Service (1999)

Thomas Kistler And, Thomas Kistler, Thomas Kistler, Michael Franz, Michael Franz

This paper instead concentrates on structural and conceptual aspects of such systems. Based on an actual implementation, we present the architecture of a system that provides continuous application...

Perpetual Adaptation of Software to Hardware: An Extensible Architecture for Providing Code Optimization as a Central System Service (1999)

Thomas Kistler, Thomas Kistler, Michael Franz, Michael Franz

This paper instead concentrates on structural and conceptual aspects of such systems. Based on an actual implementation, we present the architecture of a system that provides continuous application...

Component-Oriented Programming in Object-Oriented Languages (1999)

Peter H. Fröhlich, Michael Franz

Current approaches to component-oriented programming are based on traditional object-oriented languages and concepts. However, most existing object-oriented languages fail to address subtle interface...

Computing the similarity of profiling data: Heuristics for guiding adaptive compilation (1998)

Thomas Kistler, Michael Franz

Abstract. We present a technique to measure and detect changes in the behavioral patterns of applications. In a continually dynamically optimizing system, such information is useful not only to...

Automated Layout of Data Members for Type-Safe Languages (Extended Abstract) (1998)

Thomas Kistler, Michael Franz

) Thomas Kistler and Michael Franz Department of Information and Computer Science University of California at Irvine Irvine, CA 92697--3425 Abstract. We present and evaluate a simple, yet e#cient...

Computing the Similarity of Profiling Data, Heuristics for Guiding Adaptive Compilation (1998)

Thomas Kistler, Michael Franz

. We present a technique to measure and detect changes in the behavioral patterns of applications. In a continually dynamically optimizing system, such information is useful not only to decide which...

Computing the Similarity of Profiling Data (1998)

Heuristics For, Thomas Kistler, Michael Franz

. We present a technique to measure and detect changes in the behavioral patterns of applications. In a continually dynamically optimizing system, such information is useful not only to decide which...

Splitting data objects to increase cache utilization (1998)

Michael Franz, Thomas Kistler

We present a technique to increase data cache utilization of pointer-based programs. These caches are often underutilized when an algorithm accesses certain data-members much more frequently than...

Adaptive compression of syntax trees and iterative dynamic code optimization: Two basic technologies for mobile-object systems (1997)

Michael Franz

We are designing and implementing a flexible infrastructure for mobile-object systems. Two fundamental innovations distinguish our architecture from other proposed solutions. First, our...

Toward an Execution Model for Component Software (1997)

Michael Franz

The notion of component-oriented programming is largely based on a model of software distribution: if a certain software artifact can be distributed independently of other similar artifacts, and yet...

Does Java Have Alternatives? (1997)

Michael Franz, Thomas Kistler

At first sight, Java's position as the de-facto standard for portable software distributed across the Internet seems virtually unassailable. Interestingly enough, however, it is surprisingly...

A tree-based alternative to Java byte-codes (1996)

Thomas Kistler, Michael Franz

Abstract. Despite the apparent success of the Java Virtual Machine, its lackluster performance makes it ill-suited for many speed-critical applications. Although the latest just-in-time compilers and...

A tree-based alternative to Java byte-codes (1996)

Thomas Kistler, Michael Franz

Abstract. Despite the apparent success of the Java Virtual Machine, its lackluster performance makes it ill-suited for many speed-critical applications. Although the latest just-in-time compilers and...

A Tree-Based Alternative to Java Byte-Codes (prepub) (1996)

Thomas Kistler, Michael Franz

. Despite the apparent success of the Java Virtual Machine, its lackluster performance makes it ill-suited for many speed-critical applications. Although the latest just-in-time compilers and...

A tree-based alternative to Java byte-codes (1996)

Thomas Kistler, Michael Franz

Abstract. Despite the apparent success of the Java Virtual Machine, its lackluster performance makes it ill-suited for many speed-critical applications. Although the latest just-in-time compilers and...

Technological Steps toward a Software Component Industry (1994)

Michael Franz

Abstract. A machine_independent abstract program representation is presented that is twice as compact as machine code for a CISC processor. It forms the basis of an implementation, in which the...

Protocol Extension: A Technique for Structuring Large Extensible Software-Systems (1994)

Eidgenssische Departement Informatik, Zrich Computersysteme, Michael Franz

A technique is described by which dynamically_loadable modules may add methods to existing classes at run_time. This leads to increased flexibility for structuring large extensible software_systems....

Emulating an operating system on top of another (1993)

Michael Franz

In this paper, we present the design of an operating-system emulator. This software interface provides the services of one operating system (Oberon) on a machine running a different operating system...

Geometric Measure Theory (1969)

Andreas Gal, Michael Franz, Danilo Beuche

Aspect-oriented programming (AOP) and implementation of system software are fairly complex tasks on their own. Combining these two severe challenges seems to be not very inviting to operating system...

Slim Binaries (0000)

Franz, Michael

Provides information on `slim binaries,\' a source program that solves the problem of compatibility between different architectures. Major achievements of implementing the program; Importance of...

Slim Binaries

Franz, Michael

Provides information on `slim binaries,' a source program that solves the problem of compatibility between different architectures. Major achievements of implementing the program; Importance of...