Michael Franz
#52,996
Most Influential Person Now
American computer scientist
Michael Franz's AcademicInfluence.com Rankings
Michael Franzcomputer-science Degrees
Computer Science
#2709
World Rank
#2834
Historical Rank
Software Engineering
#314
World Rank
#320
Historical Rank
Database
#7809
World Rank
#8122
Historical Rank
Download Badge
Computer Science
Michael Franz's Degrees
- PhD Computer Science University of California, Berkeley
- Masters Computer Science University of California, Berkeley
- Bachelors Computer Science University of California, Berkeley
Similar Degrees You Can Earn
Why Is Michael Franz Influential?
(Suggest an Edit or Addition)According to Wikipedia, Michael Franz is an American computer scientist best known for his pioneering work on just-in-time compilation and optimisation and on artificial software diversity. He is a Distinguished Professor of Computer Science in the Donald Bren School of Information and Computer Sciences at the University of California, Irvine , a Professor of Electrical Engineering and Computer Science in the Henry Samueli School of Engineering at UCI, and Director of UCI's Secure Systems and Software Laboratory.
Michael Franz's Published Works
Published Works
- Control-Flow Integrity (2017) (415)
- Power reduction techniques for microprocessor systems (2005) (402)
- Trace-based just-in-time type specialization for dynamic languages (2009) (372)
- SoK: Automated Software Diversity (2014) (324)
- Semantic remote attestation: a virtual machine directed approach to trusted computing (2004) (306)
- Dynamic taint propagation for Java (2005) (249)
- Readactor: Practical Code Randomization Resilient to Memory Disclosure (2015) (230)
- Slim binaries (1997) (180)
- Thwarting Cache Side-Channel Attacks Through Dynamic Software Diversity (2015) (166)
- Opaque Control-Flow Integrity (2015) (160)
- HotpathVM: an effective JIT compiler for resource-constrained devices (2006) (154)
- Orchestra: intrusion detection using parallel execution and monitoring of program variants in user-space (2009) (154)
- Control-Flow Integrity: Precision, Security, and Performance (2016) (150)
- Losing Control: On the Effectiveness of Control-Flow Integrity under Stack Attacks (2015) (144)
- Profile-guided automated software diversity (2013) (143)
- It's a TRaP: Table Randomization and Protection against Function-Reuse Attacks (2015) (129)
- E unibus pluram: massive-scale software diversity as a defense mechanism (2010) (124)
- Continuous program optimization: A case study (2003) (108)
- SafeTSA: a type safe and referentially secure mobile-code representation based on static single assignment form (2001) (105)
- Librando: transparent code randomization for just-in-time compilers (2013) (104)
- SoK: Sanitizing for Security (2018) (100)
- Fine-Grained Information Flow Analysis and Enforcement in a Java Virtual Machine (2007) (93)
- Compiler-Generated Software Diversity (2011) (91)
- Leakage-Resilient Layout Randomization for Mobile Devices (2016) (85)
- Dynamic Linking of Software Components (1997) (79)
- Address Oblivious Code Reuse: On the Effectiveness of Leakage Resilient Diversity (2017) (68)
- PeriScope: An Effective Probing and Fuzzing Framework for the Hardware-OS Boundary (2019) (67)
- Automated data-member layout of heap objects to improve memory-hierarchy performance (2000) (66)
- Booby trapping software (2013) (64)
- Tracing for web 3.0: trace compilation for the next generation web applications (2009) (61)
- Microgadgets: Size Does Matter in Turing-Complete Return-Oriented Programming (2012) (60)
- Linear scan register allocation on SSA form (2010) (58)
- Continuous Program Optimization: Design and Evaluation (2001) (57)
- Runtime Defense against Code Injection Attacks Using Replicated Execution (2011) (55)
- V0LTpwn: Attacking x86 Processor Integrity from Software (2019) (54)
- Multi-variant Program Execution: Using Multi-core Systems to Defuse Buffer-Overflow Vulnerabilities (2008) (54)
- Automated Software Diversity (2015) (52)
- Secure and Efficient Application Monitoring and Replication (2016) (49)
- Security through Diversity: Are We There Yet? (2014) (43)
- Proceedings of the 38th Annual Computer Security Applications Conference (2010) (43)
- Diversifying the Software Stack Using Randomized NOP Insertion (2013) (43)
- Continuous program optimization (1999) (42)
- Adaptive Compression of Syntax Trees and Iterative Dynamic Code Optimization: Two Basic Technologies for Mobile Object Systems (1996) (41)
- Incremental Dynamic Code Generation with Trace Trees (2006) (40)
- Automatic Partitioning of Object-Oriented Programs for Resource-Constrained Mobile Devices with Multiple Distribution Objectives (2008) (38)
- A Tree-Based Alternative to Java Byte-Codes (1999) (38)
- Dynamic parallelization and mapping of binary executables on hierarchical platforms (2006) (37)
- Reverse Stack Execution in a MultiVariant Execution Environment (2012) (37)
- Practical , Dynamic Information-flow for Virtual Machines (2005) (33)
- Trace-based compilation in execution environments without interpreters (2010) (32)
- Optimization of dynamic languages using hierarchical layering of virtual machines (2009) (32)
- On the effectiveness of multi-variant program execution for vulnerability detection and prevention (2010) (30)
- Large-Scale Automated Software Diversity—Program Evolution Redux (2017) (27)
- Awarded Best Paper! Semantic Remote Attestation - Virtual Machine Directed Approach to Trusted Computing (2004) (25)
- The Programming Language Lagoona - A Fresh Look at Object-Orientation (1997) (24)
- Taming Parallelism in a Multi-Variant Execution Environment (2017) (24)
- Efficient Just-InTime Execution of Dynamically Typed Languages Via Code Specialization Using Precise Runtime Type Inference (2007) (24)
- Agamotto: Accelerating Kernel Driver Fuzzing with Lightweight Virtual Machine Checkpoints (2020) (24)
- Subversive-C: Abusing and Protecting Dynamic Message Dispatch (2016) (22)
- Efficient bytecode verification and compilation in a virtual machine (2006) (22)
- Segmentation and detection at IBM: Hybrid statistical models and two-tiered clustering broadcast new (2000) (21)
- Symmetric behavior-based trust: a new paradigm for internet computing (2004) (20)
- Compartmental memory management in a modern web browser (2011) (19)
- Splitting Data Objects to Increase Cache Utilization ( Preliminary Version , 9 th October 1998 ) (1998) (19)
- A Denial of Service Attack on the Java Bytecode Verifier (2003) (18)
- BinRec: dynamic binary lifting and recompilation (2020) (18)
- Automatic Software Diversity (2015) (18)
- Multi-variant execution: run-time defense against malicious code injection attacks (2009) (18)
- A portable Virtual Machine target for Proof-Carrying Code (2003) (17)
- Accelerating iterators in optimizing AST interpreters (2014) (17)
- Generic Adaptive Syntax-Directed Compression for Mobile Code (2001) (17)
- Code Annotation for Safe and Efficient Dynamic Object Resolution (2004) (17)
- "Slimming" a Java virtual machine by way of cold code removal and optimistic partial program loading (2011) (15)
- BinRec: Attack Surface Reduction Through Dynamic Binary Recovery (2018) (15)
- Towards Precise and Efficient Information Flow Control in Web Browsers (2013) (15)
- The impact of optional type information on jit compilation of dynamically typed languages (2011) (15)
- Hardware Assisted Randomization of Data (2018) (15)
- Venerable Variadic Vulnerabilities Vanquished (2017) (14)
- Efficiently Verifiable Escape Analysis (2004) (14)
- CrowdFlow: Efficient Information Flow Security (2013) (14)
- A new way of estimating compute-boundedness and its application to dynamic voltage scaling (2007) (14)
- Code Generation At The Proxy : An Infrastructure-Based Approach To Ubiquitous Mobile Code (13)
- CoDaRR: Continuous Data Space Randomization against Data-Only Attacks (2020) (13)
- The source is the proof (2002) (12)
- PartiSan: Fast and Flexible Sanitization via Run-time Partitioning (2017) (12)
- Phase detection using trace compilation (2009) (12)
- Technological Steps toward a Software Component Industry (1994) (12)
- Dynamic Parallelization and Vectorization of Binary Executables on Hierarchical Platforms (2008) (12)
- Making Multivariant Programming Practical and Inexpensive (2018) (12)
- Project TRANSPROSE: reconciling mobile-code security with execution efficiency (2001) (11)
- Multi-variant program execution for vulnerability detection and analysis (2010) (11)
- Supporting software composition at the programming language level (2005) (11)
- Using the SafeTSA Representation to Boost the Performance of an Existing Java Virtual Machine (2002) (11)
- Information flow tracking meets just-in-time compilation (2013) (11)
- Tamper-Proof Annotations By Construction (2002) (11)
- Information flow analysis and enforcement in java bytecode (2006) (10)
- Open Standards Beyond Java: On the Future of Mobile Code for the Internet (1998) (10)
- Beyond Java: An Infrastructure for High-Performance Mobile Code on the World Wide Web (1997) (10)
- Making the Compilation “ Pipeline ” Explicit : Dynamic Compilation Using Trace Tree Serialization (2007) (9)
- Containing the Ultimate Trojan Horse (2007) (9)
- SSA-based mobile code: Implementation and empirical evaluation (2007) (9)
- Component-Oriented Programming in Object-Oriented Languages (1999) (9)
- Similarity-based matching meets Malware Diversity (2014) (9)
- On Certain Basic Properties of Component-Oriented Programming Languages (2001) (9)
- The Java Virtual Machine: A Passing Fad? (1998) (9)
- OSEK/VDX API for Java (2006) (9)
- Mostly static program partitioning of binary executables (2009) (9)
- Efficient online optimization by utilizing offline analysis and the safeTSA representation (2002) (8)
- Distributed Heterogeneous N-Variant Execution (2020) (8)
- Stand-Alone Messages: A Step Towards Component-Oriented Programming Languages (2000) (8)
- An Inherently Type-Safe SSA-based Code Format (2006) (8)
- repAIrC: A Tool for Ensuring Data Consistency (2015) (8)
- NoJITsu: Locking Down JavaScript Engines (2020) (8)
- Learning from Components : Fitting AOP for System Software (1969) (7)
- Computing the Similarity of Proling Data Heuristics for Guiding Adaptive Compilation (1998) (7)
- Software Profiling Options and Their Effects on Security Based Diversification (2014) (7)
- Interpreting programs in static single assignment form (2004) (7)
- Accelerating Dynamically-Typed Languages on Heterogeneous Platforms Using Guards Optimization (2018) (7)
- PKRU-safe: automatically locking down the heap between safe and unsafe languages (2022) (7)
- Virtual-Machine Driven Dynamic Voltage Scaling (2003) (7)
- Portable execution of legacy binaries on the Java virtual machine (2008) (7)
- Automatic Distribution of Java ByteCode Based on Dependence Analysis (7)
- A fresh look at low-power mobile computing (2003) (6)
- Semantic remote attestation (2006) (6)
- Understanding and Countering Insider Threats in Software Development (2008) (6)
- The Case for Dynamic Optimization - Improving Memory-Hierarchy Performance by Continuously Adapting (1999) (6)
- An Efficient and Generic Event-based Profiler Framework for Dynamic Languages (2015) (6)
- Component-oriented programming languages: why, what, and how (2003) (6)
- Comparing points-to static analysis with runtime recorded profiling data (2014) (6)
- Synchronous Signal Delivery in a Multi-Variant Intrusion Detection System (2009) (5)
- Protocol Extension: A Technique for Structuring Large Extensible Software-Systems (1995) (5)
- Efficient interpreter optimizations for the JVM (2013) (5)
- repAIrC: A Tool for Ensuring Data Consistency by Means of Active Integrity Constraints (2015) (5)
- On the Usability of Authenticity Checks for Hardware Security Tokens (2021) (5)
- Structural Encoding of Static Single Assignment Form (2005) (5)
- The Case for Universal Symbol Files (1993) (5)
- Fine-grained modularity and reuse of virtual machine components (2012) (5)
- DMON: A Distributed Heterogeneous N-Variant System (2019) (5)
- Making mobile code both safe and efficient (2003) (5)
- Slim VM: optimistic partial program loading for connected embedded Java virtual machines (2008) (5)
- On the design, implications, and effects of implementing software diversity for security (2012) (5)
- Quantifying the Benefits of SSA-Based Mobile Code (2005) (5)
- Oberon with Gadgets - A Simple Component Framework (1999) (5)
- Well: a language-agnostic foundation for compact and inherently safe mobile code (2006) (4)
- Stream-Based Dynamic Compilation for Object-Oriented Languages (2009) (4)
- The implementation of MacOberon (1990) (4)
- On Reconciling Objects, Components, and Eciency in Programming Languages (2002) (4)
- Toward an Execution Model for Component Software (1997) (4)
- One Method At A Time Is Quite A Waste Of Time (2007) (4)
- Java bytecode verification via static single assignment form (2008) (4)
- A safe and efficient machine-independent code transportation format based on static single assignment form and applied to just-in-time compilation (2005) (4)
- Perpetual Adaptation of Software to Hardware: An Extensible Architecture for Providing Code Optimization as a Central System Service (1999) (4)
- Towards language support for component-oriented real-time programming (1999) (4)
- Manuale (2020) (4)
- Compiler Optimizations Should Pay for Themselves Applying the Spirit of Oberon to Code Optimization by Compiler (1998) (4)
- Compile Time Elimination of Null- and Bounds-Checks (2000) (4)
- An Efficient XML Schema Typing System (2003) (4)
- Efficient hosted interpreters on the JVM (2014) (4)
- Automatic Partitioning of Object-Oriented Programs with Multiple Distribution Objectives (2007) (4)
- On the architecture of software component systems (1998) (3)
- Bytecode Corruption Attacks Are Real - And How to Defend Against Them (2018) (3)
- Towards Language-Agnostic Mobile Code (2001) (3)
- Does Java Have Alternatives ? (1997) (3)
- First-Class Labels: Using Information Flow to Debug Security Holes (2013) (3)
- A Virtual Machine for Interpreting Programs in Static Single Assignment Form (2004) (3)
- Proofing : An Efficient and Safe Alternative to Mobile-Code Verification (2003) (3)
- dMVX: Secure and Efficient Multi-Variant Execution in a Distributed Setting (2020) (3)
- Meditationen (2020) (3)
- KALD: Detecting Direct Pointer Disclosure Vulnerabilities (2019) (3)
- From Fine Grained Code Diversity to JIT-ROP to Execute-Only Memory: The Cat and Mouse Game Between Attackers and Defenders Continues (2015) (3)
- Code generating routers: a network-centric approach to mobile code (2003) (3)
- OpenLabNotes - An Electronic Laboratory Notebook Extension for OpenLabFramework (2015) (3)
- Executing Legacy Applications on a Java Operating System (2004) (3)
- dMVX (2)
- Proceedings of the 1st ACM SIGPLAN international workshop on Programming language and systems technologies for internet clients (2011) (2)
- Stopping Buffer Overflow Attacks at Run-Time : Simultaneous Multi-Variant Program Execution on a Multicore Processor (2007) (2)
- Exploiting parallelism to improve the performance of sequential binary executables (2006) (2)
- Towards trusted systems from the ground up (2002) (2)
- Improving cross-platform binary analysis using representation learning via graph alignment (2022) (2)
- Mandatory Access Control at the Object Level in the Java Virtual Machine (2004) (2)
- Trust and Trustworthy Computing (2016) (2)
- A Type-Safe Mobile-Code Representation Aimed at Supporting Dynamic Optimization At The Target Site (2007) (2)
- SlimVM: a small footprint Java virtual machine for connected embedded systems (2009) (2)
- Implementing fast JVM interpreters using Java itself (2007) (2)
- Integrated Java Bytecode Verification (2005) (2)
- BinRec (2020) (2)
- Average case vs. worst case: margins of safety in system design (2005) (2)
- Trace-based compilation and optimization in meta-circular virtual execution environments (2011) (1)
- Enabling Efficient Program Analysis for Dynamic Optimization of a Family of Safe Mobile Code Formats (2002) (1)
- Orchestra: A User Space Multi-Variant Execution Environment (2008) (1)
- Automatic generation of machine emulators: Efficient synthesis of robust virtual machines for legacy software migration (2007) (1)
- Domain specific memory management in a modern web browser (2011) (1)
- Online Verification of Offline Escape Analysis (2002) (1)
- Adoption Challenges of Code Randomization (2020) (1)
- From assumptions to assertions: a sound and precise points-to analysis for the c language (2007) (1)
- The effectiveness of producer‐side machine‐independent optimizations for mobile code (2009) (1)
- OpenLabNotes – An Electronic Laboratory Notebook Extension for OpenLabFramework (2015) (1)
- The effectiveness of producer-side machine-independent optimizations for mobile code (2009) (1)
- Untyped Memory in the Java Virtual Machine (2005) (1)
- Return to Where? You Can't Exploit What You Can't Find (2015) (1)
- Eliminating Trust From Application Programs By Way Of Software Architecture (2008) (1)
- Information-Flow Aware Virtual Machines: Foundations for Trustworthy Computing (2009) (1)
- MacOberon reference manual (1990) (1)
- A Multilevel Introspective Dynamic Optimization System For Holistic Power-Aware Computing (2005) (1)
- Proceedings of the 2004 Workshop on Interpreters, Virtual Machines and Emulators, IVME 2004, Washington, D.C., USA, June 7, 2004 (2004) (1)
- Computing in the Network (2003) (1)
- Borderline-Störung (2021) (1)
- Dynamic Adaptive Power Management For And By A Java Virtual Machine (2006) (1)
- Einleitung (2020) (0)
- Eliminating the insider threat in software development by combining parallelism, randomization and checkpointing (2008) (0)
- ACM SIGPLAN international workshop on programming language and systems technologies for internet clients: (PLASTIC 2011) (2011) (0)
- Mostly-Static Program Partitioning for Dynamic Parallelization of Binary Executables (2006) (0)
- StackBERT (2021) (0)
- pagesTowards Language-Agnosti Mobile (2001) (0)
- Leveraging Parallel Hardware to Detect, Quarantine, and Repair Malicious Code Injection (#36) (2010) (0)
- Session details: Program optimization I (2011) (0)
- Execute-Only Attacks against Execute-Only Defenses (2015) (0)
- The Past Discarded? (1989) (0)
- Active Integrity Constraints: From Theory to Implementation (2015) (0)
- List of Referees (2005) (0)
- 08441 Final Report - Emerging Uses and Paradigms for Dynamic Binary Translation (2008) (0)
- Proo ng : E cient SSA-based Java Veri cation (2004) (0)
- Decentralized information flow control on a bare-metal JVM (2010) (0)
- Buchbesprechungen (1986) (0)
- MCAD: Beyond Basic-Block Throughput Estimation Through Differential, Instruction-Level Tracing (2022) (0)
- Automatic program partitioning to alleviate resource constraints of object-oriented applications (2009) (0)
- Accelerating iterators in optimizing AST interpreters (2014) (0)
- Diversity and information leaks (2018) (0)
- Biologically Inspired Software Defenses (2015) (0)
- T Trunk Trace Anchor Guard Branch Trace Guard Side Exit (2010) (0)
- Efcient Execution Model for Component-Oriented Software (2002) (0)
- Upcompiling Legacy Code to Java (2012) (0)
- A Network-based Compilation Scheme for Resource-Constrained Devices (0)
- Hide and Seek: Exploiting and Hardening Leakage-Resilient Code Randomization (2016) (0)
- Pindarfragmente (2020) (0)
- A Practical Mobile-Code Format with Linear Verification Effort (2003) (0)
- Preliminary Version Integrated Java Bytecode Verification (2005) (0)
- StackBERT: Machine Learning Assisted Static Stack Frame Size Recovery on Stripped and Optimized Binaries (2021) (0)
- Automated Layout of Data Members for Type-Safe Languages (Extended Abstract) (1998) (0)
- Execute-Only Attacks against Execute-Only Defenses1 (2015) (0)
- A Sound Points-to Analysis for C: From Assumptions to Assertions (2007) (0)
- Session details: Session 7D: Binary Defenses 1 (2018) (0)
- Session details: Compiler infrastructure (2010) (0)
- DFI: An Interprocedural Value-Flow Analysis Framework that Scales to Large Codebases (2022) (0)
- Safe Code - It's Not Just for Applets Anymore (2003) (0)
- Efficient analysis and optimization of dynamically typed languages (2012) (0)
- Peer Review Process (2020) (0)
- Session details: Poster session (2010) (0)
- Fast and Furious: How the web got turbo charged just in time? (2022) (0)
- The Golden Calf (1979) (0)
- A Comprehensive Context for Mobile-Code Deployment (2005) (0)
- Thinking Inside the Box: Compartmentalized Garbage Collection (2016) (0)
- 3 Diversity andInformation Leaks (2018) (0)
This paper list is powered by the following services:
Other Resources About Michael Franz
What Schools Are Affiliated With Michael Franz?
Michael Franz is affiliated with the following schools: