Navigation
Getting Started
Features
Docs
Blogs
Resources
Doxygen
GitHub
GSoC Projects
Publications
Downloads
Feedback for this website
Feedback Form
Old Website
LLVM Related Publications
Table of Contents
2019
SLEEF: A Portable Vectorized Library of C Standard Mathematical Functions
2018
Reconciling High-Level Optimizations and Low-Level Code in LLVM
Shielding Software from Privileged Side-Channel Attacks
Spectres, Virtual Ghosts, and Hardware Support
Mull It Over: Mutation Testing Based on LLVM
2017
Counterexample-Guided Bit-Precision Selection
Devirtualization in LLVM
FaCT: A Flexible, Constant-Time Programming Language
Program Analysis of Cryptographic Implementations for Security
A Software Solution for Hardware Vulnerabilities
The Design of a Custom 32-bit RISC CPU and LLVM Compiler Backend
Piecewise Holistic Autotuning of Parallel Programs with CERE
Taming Undefined Behavior in LLVM
Flexible and Efficient Memory Object Metadata
Detecting Privileged Side-Channel Attacks in Shielded Execution with Déjà Vu
2016
PRESAGE: Protecting Structured Address Generation against Soft Errors
Piecewise Holistic Autotuning of Compiler and Runtime Parameters
Verificarlo: checking floating point accuracy through Monte Carlo Arithmetic.
On-Demand Strong Update Analysis via Value-Flow Refinement
Alive-FP: Automated Verification of Floating Point Based Peephole Optimizations in LLVM
Data-Oriented Programming: On the Expressiveness of Non-Control Data Attacks
Termination-Checking for LLVM Peephole Optimizations
Towards Resiliency Evaluation of Vector Programs
Archer: Effectively Spotting Data Races in Large OpenMP Applications
Sparse Flow-Sensitive Pointer Analysis for Multithreaded Programs
SVF: Interprocedural Static Value-Flow Analysis in LLVM
Compilation of a Countermeasure Against Instruction-Skip Fault Attacks
2015
Flowtables: Program Skeletal Inversion for Defeat of Interprocedural Analysis with Unique Metamorphism
Fast and Precise Symbolic Analysis of Concurrency Bugs in Device Drivers
Compiler-instrumented, Dynamic Secret-Redaction of Legacy Processes for Attacker Deception
Contech: Efficiently Generating Dynamic Task Graphs for Arbitrary Parallel Programs
Provably Correct Peephole Optimizations with Alive
LaminarIR: Compile-Time Queues for Structured Streams
Concurrency Debugging with Differential Schedule Projections
Obfuscator-LLVM - Software Protection for the Masses
PCERE: Fine-Grained Parallel Benchmark Decomposition for Scalability Prediction
CERE: LLVM Based Codelet Extractor and REplayer for Piecewise Benchmarking and Optimization
Beyond the PDP-11: Architectural Support for a Memory-Safe C Abstract Machine
MemorySanitizer: fast detector of uninitialized memory use in C++
2014
I/O Optimisation and elimination via partial evaluation
Experimental Evaluation of Various Register Pressure Reduction Heuristics
AI: A Lightweight System for Tolerating Concurrency Bugs
HILTI: An Abstract Execution Environment for Deep, Stateful Network Traffic Analysis
Practical Symbolic Checking of GPU Programs
A Formula-Based Approach for Automatic Fault Localization of Imperative Programs
Code-Pointer Integrity
Secure Virtual Architecture: Security for Commodity Software Systems
Grover: Looking for Performance Improvement by Disabling Local Memory Usage in OpenCL Kernels
ParaShares: Finding the Important Basic Blocks in Multithreaded Programs
pocl: A Performance-Portable OpenCL Implementation
Proving Termination and Memory Safety for Programs with Pointer Arithmetic
SMACK: Decoupling Source Language Details from Verifier Implementations
Compiler Driven Automatic Kernel Context Migration for Heterogeneous Computing
Vector Operation Support for Transport Triggered Architectures
LORAIN: A Step Closer to the PDES 'Holy Grail'
KCoFI: Complete Control-Flow Integrity for Commodity Operating System Kernels
Safe and Automatic Live Update
Virtual Ghost: Protecting Applications from Hostile Operating Systems
DBILL: An Efficient and Retargetable Dynamic Binary Instrumentation Framework Using LLVM Backend
WatchdogLite: Hardware-Accelerated Compiler-Based Pointer Checking
2013
Preallocation Instruction Scheduling with Register Pressure Minimization Using a Combinatorial Optimization Approach
LLVMVF: A Generic Approach for Verification of Multicore Software
Strato: A Retargetable Framework for Low-level Inlined-reference Monitors
Dowsing for Overflows: A Guided Fuzzer to Find Buffer Boundary Violations
FIE on Firmware: Finding Vulnerabilities in Embedded Systems Using Symbolic Execution
Formal Verification of SSA Optimizations for LLVM
Declarative, Temporal, and Practical Programming with Capabilities
-Overify: Optimizing Programs for Fast Verification
A Compiler-Level Intermediate Representation Based Binary Analysis and Rewriting System
Using Likely Invariants for Automated Software Fault Localization
Safe and Automatic Live Update for Operating Systems
Parallelizing Data Race Detection
Cooperative Empirical Failure Avoidance for Multithreaded Programs
ConAir: Featherweight Concurrency Bug Recovery via Single-Threaded Idempotent Execution
DeAliaser: Alias Speculation using Atomic Region Support
STABILIZER: Statistically Sound Performance Evaluation
Verifying Systems Rules Using Rule-Directed Symbolic Execution
Practical Automatic Loop Specialization
Architecture-Independent Dynamic Information Flow Tracking
Profile-guided Automated Software Diversity
2012
Generation of TLM Testbenches Using Mutation Testing
ErLLVM: An LLVM backend for Erlang
A Framework for Formal Verification of Concurrent Software
Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization
Harmony: Collection and Analysis of Parallel Block Vectors
Safe and Automated State Transfer for Secure and Reliable Live Update
Sound and Precise Analysis of Parallel Programs through Schedule Specialization
AddressSanitizer: A Fast Address Sanity Checker
Understanding Integer Overflow in C/C++
The Click2NetFPGA toolchain
A Compiler Back-End for Reconfigurable, Mixed-ISA Processors with Clustered Register Files
ispc: A SPMD Compiler for High-Performance CPU Programming
GKLEE: Concolic Verification and Test Generation for GPUs
Formalizing the LLVM Intermediate Representation for Verified Program Transformations
2011
Efficient Deterministic Multithreading through Schedule Relaxation
Combining Control-Flow Integrity and Static Analysis for Efficient and Validated Data Sandboxing
Debugging the Data Plane with Anteater
A novel ADL-based compiler-centric software framework for reconfigurable mixed-ISA processors
OpenCL-based Design Methodology for Application-Specific Processors
Enabling Sophisticated Analysis of x86 Binaries with RevGen
Evaluating Value-Graph Translation Validation for LLVM
Automatic CPU-GPU Communication Management and Optimization
Commutative Set: A Language Extension for Implicit Parallel Programming
On the Theory and Potential of LRU-MRU Collaborative Cache Management
Just-in-time Instruction Set Extension - Feasibility and Limitations for an FPGA-based Reconfigurable ASIP Architecture
A Predictable Execution Model for COTS-Based Embedded Systems
Flow-Sensitive Pointer Analysis for Millions of Lines of Code
Whole-Function Vectorization
S2E: A Platform for In-Vivo Multi-Path Analysis of Software Systems
A study of irreducibility in C programs
LLVM and Clang: Advancing Compiler Technology
2010
Pruning the Design Space for Just-in-time Processor Customization
Implementation of Path Profiling in the Low-Level Virtual-Machine (LLVM) Compiler Infrastructure
We Crashed, Now What?
Stable Deterministic Multithreading through Schedule Memoization
Bypassing Races in Live Applications with Execution Filters
An LLVM Backend for GHC
IntPatch: Automatically Fix Integer-Overflow-to-Buffer-Overflow Vulnerability at Compile-Time
Efficient SSI Conversion
A C-to-RTL Flow as an Energy Efficient Alternative to Embedded Processors in Digital Systems
Towards Software-defined Silicon: Experiences in Compiling Click to NetFPGA
Lazy Annotation for Program Testing and Verification
Relax: An Architectural Framework for Software Recovery of Hardware Faults
Speculative Parallelization Using State Separation and Multiple Value Prediction
CETS: Compiler Enforced Temporal Safety for C
Clang/LLVM Maturity Report
HyperSafe: A Lightweight Approach to Provide Lifetime Hypervisor Control-Flow Integrity
ClangBSD
Quality of Service Profiling
Evaluation of AMD's Advanced Synchronization Facility within a Complete Transactional Memory Stack
Defeating Return-Oriented Rootkits with "Return-Less" Kernels
Reverse Engineering of Binary Device Drivers with RevNIC
Execution Synthesis: A Technique for Automated Software Debugging
Efficient Profiling in the LLVM Compiler Infrastructure
VMKit: a Substrate for Managed Runtime Environments
Modeling GPU-CPU Workloads and Systems
Shoestring: Probabilistic Soft Error Reliability on the Cheap
Orthrus: Efficient Software Integrity Protection on Multi-core
Conservation Cores: Reducing the Energy of Mature Computations
Speculative Parallelization using Software Multi-Threaded Transactions
CoreDet: A Compiler and Runtime System for Deterministic Multithreaded Execution
Bit-Level Optimization for High-Level Synthesis and FPGA-Based Acceleration
Custom Instruction Generation for Configurable Processors with Limited Numbers of Operands
Emulator Speed-up Using JIT and LLVM
2009
DDT: Design and Evaluation of a Dynamic Program Analysis for Optimizing Data Structure Usage
Automatic Restructuring of Linked Data Structures
Low Level Virtual Machine for Glasgow Haskell Compiler
Progressive spill code placement
TotalProf: a fast and accurate retargetable source code profiler
A High-Level Virtual Platform for Early MPSoC Software Development
AN-Encoding Compiler: Building Safety-Critical Systems with Commodity Hardware
Performance Modelling for Avionics Systems
Automatic Generation of Cycle-Approximate TLMs with Timed RTOS Model Support
An Early Real-Time Checker for Retargetable Compile-Time Analysis
Assigning Blame: Mapping Performance to High Level Parallel Programming Abstractions
API hyperlinking via structural overlap
Increasing the scope and resolution of Interprocedural Static Single Assignment
Memory Safety for Low-Level Software/Hardware Interactions
Zoltar: a spectrum-based fault localization tool
Behavior-Level Observability Don't-Cares and Application to Low-Power Behavioral Synthesis
An Internal Representation for Adaptive Online Parallelization
Woolcano: An Architecture and Tool Flow for Dynamic Instruction Set Extension on Xilinx Virtex-4 FX
BegBunch: benchmarking for C bug detection tools
Verifying the Implementation of an Operating System Scheduler
Programmable and Scalable Architecture for Graphics Processing Units
Automatic Packetization
Toward Automatic Data Structure Replacement for Effective Parallelization
Natively Probabilistic Computation
Parallelizing sequential applications on commodity hardware using a low-cost software transactional memory
Automatic generation of library bindings using static analysis
SoftBound: Highly Compatible and Complete Spatial Memory Safety for C
A Translation System for Enabling Data Mining Applications on GPUs
Selective Symbolic Execution
Interprocedural bounds checker for C programs using symbolic constraints and slicing
Speculative Parallelization of Sequential Loops on Multicores
COMPASS: A Community-driven Parallelization Advisor for Sequential Software
3c: A JIT Compiler with LLVM
Ensuring Correctness of Compiled Code
Woolcano: An Architecture and Tool Flow for Dynamic Instruction Set Extension on Xilinx Virtex-4 FX
MEMMU: Memory expansion for MMU-less embedded systems
Precise simulation of interrupts using a rollback mechanism
Register allocation deconstructed
Scheduling Techniques for Multi-Core Architectures
ESoftCheck: Removal of Non-vital Checks for Fault Tolerance
DMP: deterministic shared memory multiprocessing
Recovery Domains: An Organizing Principle for Recoverable Operating Systems
A Case for Compiler-driven Superpage Allocation
SORU: A Reconfigurable Vector Unit for Adaptable Embedded Systems
Compiling Techniques for Coarse Grained Runtime Reconfigurable Architecture
Mapping parallelism to multi-cores: a machine learning based approach
Semi-sparse flow-sensitive pointer analysis
A Scalable Memory Model for Low-Level Code
Program Analysis for Bug Detection using Parfait
Automatic Instrumentation of Embedded Software for High Level Hardware/Software Co-Simulation
Memory subsystem simulation in software TLM/T models
Automated Derivation of Application-Aware Error and Attack Detectors
2008
KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs
Copy Or Discard Execution Model For Speculative Parallelization On Multicores
MC-Sim: an efficient simulation tool for MPSoC designs
Program analysis for compiler validation
Introduction to the LLVM Compiler System
Volatiles Are Miscompiled, and What to Do about It
Execution Context Optimization for Disk Energy
Automatic Inference of Frame Axioms Using Static Analysis
A Lazy Developer Approach: Building a JVM with Third Party Software
An Efficient ActionScript 3.0 Just-In-Time Compiler Implementation
Run-Time Code Generation for Materials
Verifying Multi-threaded C Programs with SPIN
LLVM-CHiMPS: Compilation Environment for FPGAs Using LLVM Compiler Infrastructure and CHiMPS Computational Model
Real-Time Ray Tracing of Dynamic Scenes
Compiling Haskell to LLVM
Generalized Instruction Selection using SSA-Graphs
Automatic Data Partitioning in Software Transactional Memories
Register Allocation by Puzzle Solving
Parfait - Designing a Scalable Bug Checker
A characterization of instruction-level error derating and its implications for error detection
CoVaC: Compiler Validation by Program Analysis of the Cross-Product
LLVM and Clang: Next Generation Compiler Technology
Calysto: Scalable and Precise Extended Static Checking
Understanding the Propagation of Hard Errors to Software and Implications for Resilient System Design
Cycle-approximate Retargetable Performance Estimation at the Transaction Level
User-Input Dependence Analysis via Graph Reachability
Automatic Software Fault Localization using Generic Program Invariants
Impeding Malware Analysis Using Conditional Code Obfuscation
Making Object-Based STM Practical in Unmanaged Environments
Near-Optimal Instruction Selection on DAGs
2007
Secure Virtual Architecture: A Safe Execution Environment for Commodity Operating Systems
Retargetable Compiler Backend for Transport Triggered Architectures
RPython: a Step Towards Reconciling Dynamically and Statically Typed OO Languages
A Profile-Driven Statistical Analysis Framework for the Design Optimization of Soft Real-Time Applications
Transactifying Applications Using an Open Compiler Framework
LLVM 2.0 and Beyond!
Structural Abstraction of Software Verification Conditions
Compiled low-level virtual instruction set simulation and profiling for code partitioning and ASIP-synthesis in hardware/software co-design
Making Context-Sensitive Points-to Analysis with Heap Cloning Practical For The Real World
Improving Switch Lowering for The LLVM Compiler System
Optimal chain rule placement for instruction selection based on SSA graphs
A Change Framework based on the Low Level Virtual Machine Compiler Infrastructure
An Aspect for Idiom-based Exception Handling (using local continuation join points, join point properties, annotations and type parameters)
The LLVM Compiler System
Trident: From High-Level Language to Hardware Circuitry
Toward Application-Aware Security and Reliability
2006
Scaling Task Graphs for Network Processors
Automated Compile-Time and Run-Time Techniques to Increase Usable Memory in MMU-Less Embedded Systems
PyPy's approach to virtual machine construction
Platform-Based Behavior-Level and System-Level Synthesis
Efficiently Detecting All Dangling Pointer Uses in Production Servers
A Virtual Instruction Set Interface for Operating System Kernels
SAFECode: Enforcing Alias Analysis for Weakly Typed Languages
Backwards-Compatible Array Bounds Checking for C with Very Low Overhead
Vector LLVA: A Virtual Vector Instruction Set for Media Processing
Checker: a Static Program Checker
Introduction to the LLVM Compiler Infrastructure
Tailoring Graph-coloring Register Allocation For Runtime Compilation
Towards a Compilation Infrastructure for Network Processors
2005
How Successful is Data Structure Analysis in Isolating and Analyzing Linked Data Structures?
Enforcing Alias Analysis for Weakly Typed Languages
Revisiting Graph Coloring Register Allocation: A Study of the Chaitin-Briggs and Callahan-Koblenz Algorithms
Segment Protection for Embedded Systems Using Run-time Checks
A Concept Analysis Inspired Greedy Algorithm for Test Suite Minimization
Deciding Where to Call Performance Libraries
Practical Techniques for Performance Estimation of Processors
Profile-directed If-Conversion in Superscalar Microprocessors
An Implementation of Swing Modulo Scheduling with Extensions for Superblocks
Macroscopic Data Structure Analysis and Optimization
Automatic Pool Allocation: Improving Performance by Controlling Data Structure Layout in the Heap
Transparent Pointer Compression for Linked Data Structures
Using a Low-Level Virtual Machine to Improve Dynamic Aspect Support in Operating System Kernels
Memory Safety Without Garbage Collection for Embedded Applications
2004
The LLVM Compiler Framework and Infrastructure Tutorial
RubyComp - A Ruby-to-LLVM Compiler Prototype
A Task Optimization Framework for MSSP
Coordinating Adaptations in Distributed Systems
LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation
2003
LLVA: A Low-level Virtual Instruction Set Architecture
Language Extensions for Performance-Oriented Programming
Lightweight, Cross-Procedure Tracing for Runtime Optimization
Memory Safety Without Runtime Checks or Garbage Collection
Architecture For a Next-Generation GCC
Data Structure Analysis: An Efficient Context-Sensitive Heap Analysis
2002
LLVM: An Infrastructure for Multi-Stage Optimization
Ensuring Code Safety Without Runtime Checks for Real-Time Control Systems
Automatic Pool Allocation for Disjoint Data Structures
Here are some of the publications that use or build on LLVM.
2019
SLEEF: A Portable Vectorized Library of C Standard Mathematical Functions
Naoki Shibata and Francesco Petrogalli [
Link
]
IEEE Transactions on Parallel and Distributed Systems,
Dec. 2019.
2018
Reconciling High-Level Optimizations and Low-Level Code in LLVM
Juneyoung Lee, Chung-Kil Hur, Ralf Jung, Zhengyang Liu, John Regehr, and Nuno P. Lopes [
Link
]
Proc. of the ACM on Programming Languages, Volume 2 Issue OOPSLA,
Nov. 2018.
Shielding Software from Privileged Side-Channel Attacks
Xiaowan Dong, Zhuojia Shen, John Criswell, Alan L. Cox, and Sandhya Dwarkadas [
Link
]
Proceedings of the Twenty Seventh Usenix Security Symposium,
Aug. 2018.
Spectres, Virtual Ghosts, and Hardware Support
Xiaowan Dong, Zhuojia Shen, John Criswell, Alan Cox, and Sandhya Dwarkadas [
Link
]
Proceedings of the Seventh International Workshop on Hardware and Architectural Support for Security and Privacy (HASP),
June 2018.
Mull It Over: Mutation Testing Based on LLVM
Alex Denisov, Stanislav Pankevich [
Link
]
IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW),
Apr. 2018.
2017
Counterexample-Guided Bit-Precision Selection
Shaobo He and Zvonimir Rakamaric [
Link
]
Proceedings of the Fifteenth Asian Symposium on Programming Languages and Systems (APLAS),
Nov. 2017.
Devirtualization in LLVM
Piotr Padlewski [
Link
]
Proceedings Companion of the 2017 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH 2017),
Oct. 2017.
FaCT: A Flexible, Constant-Time Programming Language
Sunjay Cauligi, Gary Soeller, Fraser Brown, Brian Johannesmeyer, Yunlu Huang, Ranjit Jhala, and Deian Stefan [
Link
]
IEEE Cybersecurity Development Conference (SecDev),
Sep. 2017.
Program Analysis of Cryptographic Implementations for Security
Sazzadur Rahaman and Danfeng Yao [
Link
]
IEEE Cybersecurity Development Conference (SecDev),
Sep. 2017.
A Software Solution for Hardware Vulnerabilities
Komail Dharsee, Ethan Johnson, and John Criswell [
Link
]
IEEE Cybersecurity Development Conference (SecDev),
Sep. 2017.
The Design of a Custom 32-bit RISC CPU and LLVM Compiler Backend
Connor Goldberg [
Link
]
Master's Thesis, Rochester Institute of Technology,
Aug. 2017.
Piecewise Holistic Autotuning of Parallel Programs with CERE
Mihail Popov, Chadi Akel, Yohan Chatelain, William Jalby, and Pablo de Oliveira Castro [
Link
]
Concurrency and Computation: Practice and Experience,
June 2017.
Taming Undefined Behavior in LLVM
Juneyoung Lee, Yoonseung Kim, Youngju Song, Chung-Kil Hur, Sanjoy Das, David Majnemer, John Regehr, and Nuno P. Lopes [
Link
]
Proc. of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI),
June 2017.
Flexible and Efficient Memory Object Metadata
Zhengyang Liu and John Criswell [
Link
]
International Symposium on Memory Management (ISMM),
June 2017.
Detecting Privileged Side-Channel Attacks in Shielded Execution with Déjà Vu
Sanchuan Chen, Xiaokuan Zhang, Michael K. Reiter, and Yinqian Zhang [
Link
]
Proceedings of the 2017 ACM Asia Conference on Computer and Communications Security (AsiaCCS),
Apr. 2017.
2016
PRESAGE: Protecting Structured Address Generation against Soft Errors
Vishal Chandra Sharma, Ganesh Gopalakrishnan, Sriram Krishnamoorthy [
Link
]
IEEE International Conference of High-Performance Computing, Data, and Analysis (HiPC),
Nov. 2016.
Piecewise Holistic Autotuning of Compiler and Runtime Parameters
Mihail Popov, Chadi Akel, William Jalby, and Pablo de Oliveira Castro [
Link
]
Twenty-Second International Conference on Parallel and Distributed Computing (Euro-Par),
Aug. 2016.
Verificarlo: checking floating point accuracy through Monte Carlo Arithmetic.
Christophe Denis, Pablo de Oliveira Castro, and Eric Petit [
Link
]
23rd IEEE International Symposium on Computer Arithmetic (ARITH),
July 2016.
On-Demand Strong Update Analysis via Value-Flow Refinement
Yulei Sui and Jingling Xue [
Link
]
ACM SIGSOFT International Symposium on the Foundation of Software Engineering (FSE 2016),
Nov. 2016.
Alive-FP: Automated Verification of Floating Point Based Peephole Optimizations in LLVM
David Menendez, Santosh Nagarakatte, and Aarti Gupta [
Link
]
Proceedings of the 23rd Static Analysis Symposium (SAS 2016),
Aug. 2016.
Data-Oriented Programming: On the Expressiveness of Non-Control Data Attacks
Hong Hu, Shweta Shinde, Sendroiu Adrian, Zheng Leong Chua, Prateek Saxena, and Zhenkai Liang [
Link
]
Proceedings of the 2016 IEEE Symposium on Security and Privacy (SP 2016),
May 2016.
Termination-Checking for LLVM Peephole Optimizations
David Menendez and Santosh Nagarakatte [
Link
]
Proceedings of the 38th International Conference on Software Engineering (ICSE 2016),
May 2016.
ACM SIGSOFT Distinguished Paper Award.
Towards Resiliency Evaluation of Vector Programs
Vishal Chandra Sharma, Ganesh Gopalakrishnan, Sriram Krishnamoorthy [
Link
]
21st IEEE Workshop on Dependable Parallel, Distributed and Network-Centric Systems (DPDNS),
May 2016.
Archer: Effectively Spotting Data Races in Large OpenMP Applications
Simone Atzeni, Ganesh Gopalakrishnan, Zvonimir Rakamaric, Dong H. Ahn, Ignacio Laguna, Martin Schulz, Greg L. Lee, Joachim Protze, Matthias S. Muller [
Link
]
Proceedings of the 30th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2016),
May 2016.
Sparse Flow-Sensitive Pointer Analysis for Multithreaded Programs
Yulei Sui, Peng Di, and Jingling Xue [
Link
]
2016 International Symposium on Code Generation and Optimization (CGO 2016),
Mar. 2016.
SVF: Interprocedural Static Value-Flow Analysis in LLVM
Yulei Sui and Jingling Xue [
Link
]
25th International Conference on Compiler Construction (CC 2016),
Mar. 2016.
Compilation of a Countermeasure Against Instruction-Skip Fault Attacks
Thierno Barry, Damien Courousse, Bruno Robisson [
Link
]
Cryptography and Security in Computing Systems 2016 (CS2),
Jan. 2016.
2015
Flowtables: Program Skeletal Inversion for Defeat of Interprocedural Analysis with Unique Metamorphism
Luke Jones, Ryan Whelan, Jeremy Blackthorne, and Graham Baker [
Link
]
Proceedings of the Fifth Program Protection and Reverse Engineering Workshop (PPREW-5),
Dec. 2015.
Fast and Precise Symbolic Analysis of Concurrency Bugs in Device Drivers
Pantazis Deligiannis, Alastair F. Donaldson, and Zvonimir Rakamaric [
Link
]
Proceedings of the Thirtieth IEEE/ACM International Conference on Automated Software Engineering (ASE 2015),
Nov. 2015.
Compiler-instrumented, Dynamic Secret-Redaction of Legacy Processes for Attacker Deception
Frederico Araujo and Kevin W. Hamlen [
Link
]
Proceedings of the 24th USENIX Security Symposium,
Aug. 2015.
Contech: Efficiently Generating Dynamic Task Graphs for Arbitrary Parallel Programs
Brian P. Railing, Eric R. Hein, and Thomas M. Conte [
Link
]
ACM Transactions on Architecture and Code Optimization,
July 2015.
Provably Correct Peephole Optimizations with Alive
Nuno P. Lopes, David Menendez, Santosh Nagarakatte, and John Regehr [
Link
]
Proc. of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2015),
June 2015.
Received a Distinguished Paper Award.
LaminarIR: Compile-Time Queues for Structured Streams
Yousun Ko, Bernd Burgstaller, Bernhard Scholz [
Link
]
Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2015),
June 2015.
Concurrency Debugging with Differential Schedule Projections
Nuno Machado, Brandon Lucia, and Luís Rodrigues [
Link
]
Proc. of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2015),
June 2015.
Obfuscator-LLVM - Software Protection for the Masses
Pascal Junod, Julien Rinaldini, Johan Wehrli and Julie Michielin [
Link
]
Proceedings of the First International Workshop on Software Protection (SPRO 2015),
May 2015.
PCERE: Fine-Grained Parallel Benchmark Decomposition for Scalability Prediction
Mihail Popov, Chadi Akel, Florent Conti, William Jalby, and Pablo de Oliveira Castro [
Link
]
IEEE International Parallel and Distributed Processing Symposium (IPDPS),
May 2015.
CERE: LLVM Based Codelet Extractor and REplayer for Piecewise Benchmarking and Optimization
Pablo De Oliveira Castro, Chadi Akel, Eric Petit, Mihail Popov, and William Jalby [
Link
]
ACM Transactions on Architecture and Code Optimization (TACO),
Apr. 2015.
Beyond the PDP-11: Architectural Support for a Memory-Safe C Abstract Machine
David Chisnall, Colin Rothwell, Robert N. M. Watson, Jonathan Woodruff, Munraj Vadera, Simon W. Moore, Michael Roe, Brooks Davis, and Peter G. Neumann [
Link
]
Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2015),
Mar. 2015.
MemorySanitizer: fast detector of uninitialized memory use in C++
Evgeniy Stepanov and Konstantin Serebryany [
Link
]
Proceedings of the 2015 IEEE/ACM International Symposium on Code Generation and Optimization (CGO),
Feb. 2015.
2014
I/O Optimisation and elimination via partial evaluation
Christopher S.F. Smowton [
Link
]
Technical Report UCAM-CL-TR-865, University of Cambridge,
Dec. 2014.
Experimental Evaluation of Various Register Pressure Reduction Heuristics
Ghassan Shobaki, Laith Sakka, Najm Eldeen Abu-Rmaileh, and Hasan Al-Hamash [
Link
]
Software: Practice and Experience,
Nov. 2014.
AI: A Lightweight System for Tolerating Concurrency Bugs
Mingxing Zhang, Yongwei Wu, Shan Lu, Shanxiang Qi, Jinglei Ren, and Weimin Zheng [
Link
]
Proceedings of the Twenty Second ACM SIGSOFT International Symposium on Foundations of Software Engineering,
Nov. 2014.
Received an ACM SIGSOFT Distinguished Paper Award.
HILTI: An Abstract Execution Environment for Deep, Stateful Network Traffic Analysis
Robin Sommer, Matthias Vallentin, Lorenzo De Carli, Vern Paxson [
Link
]
Proceedings of the ACM SIGCOMM Internet Measurement Conference,
Nov. 2014.
Practical Symbolic Checking of GPU Programs
Peng Li, Guodong Li, Ganesh Gopalakrishnan [
Link
]
Supercomputing,
Nov. 2014.
A Formula-Based Approach for Automatic Fault Localization of Imperative Programs
Si-Mohamed Lamraoui and Shin Nakajima [
Link
]
Proceedings of the Sixteenth International Conference on Formal Engineering Methods (ICFEM '14),
Nov. 2014.
Code-Pointer Integrity
Volodymyr Kuznetsov, László Szekeres, Mathias Payer, George Candea, R. Sekar, and Dawn Song [
Link
]
Proceedings of the Eleventh USENIX Symposium on Operating Systems Design and Implementation (OSDI 2014),
Oct. 2014.
Secure Virtual Architecture: Security for Commodity Software Systems
John Criswell [
Link
]
Ph.D. Dissertation, University of Illinois at Urbana-Champaign,
Sep. 2014.
Received the 2015 David J. Kuck Outstanding Ph.D. Thesis Award, the Honorable Mention for the 2014 ACM SIGOPS Dennis M. Ritchie Doctoral Dissertation Award, and an Honorable Mention for the 2014 ACM Doctoral Dissertation Award.
Grover: Looking for Performance Improvement by Disabling Local Memory Usage in OpenCL Kernels
Jianbin Fang, Henk Sips, Pekka Jääskeläinen, Ana Lucia Varbanescu [
Link
]
Proceedings of the 43rd International Conference on Parallel Processing (ICPP-2014),
Sep. 2014.
ParaShares: Finding the Important Basic Blocks in Multithreaded Programs
Melanie Kambadur, Kui Tang, and Martha Kim [
Link
]
International Conference on Parallel Processing (Euro-Par),
Aug. 2014.
pocl: A Performance-Portable OpenCL Implementation
Pekka Jääskeläinen, Carlos Sánchez de La Lama, Erik Schnetter, Kalle Raiskila, Jarmo Takala, Heikki Berg [
Link
]
International Journal of Parallel Programming (IJPP),
Aug. 2014.
Proving Termination and Memory Safety for Programs with Pointer Arithmetic
Thomas Ströder, Jürgen Giesl, Marc Brockschmidt, Florian Frohn, Carsten Fuhs, Jera Hensel, and Peter Schneider-Kamp [
Link
]
Proceedings of the Seventh International Joint Conference on Automated Reasoning (IJCAR 2014),
July 2014.
SMACK: Decoupling Source Language Details from Verifier Implementations
Zvonimir Rakamaric and Michael Emmi [
Link
]
Proceedings of the Twenty Sixth International Conference on Computer Aided Verification (CAV 2014),
July 2014.
Compiler Driven Automatic Kernel Context Migration for Heterogeneous Computing
R. Gad, T. Suss, and A. Brinkmann [
Link
]
Proceedings of the IEEE Thirty Fourth International Conference on Distributed Computing Systems (ICDCS),
June 2014.
Vector Operation Support for Transport Triggered Architectures
Mikko Järvelä [
Link
]
Master's Thesis,
Tampere University of Technology, June 2014.
LORAIN: A Step Closer to the PDES 'Holy Grail'
Justin M. LaPre, Elsa J. Gonsiorowski, and Christopher D. Carothers [
Link
]
Proceedings of the Second ACM SIGSIM/PADS Conference on Principles of Advanced Discrete Simulation (SIGSIM-PADS 2014),
May 2014.
KCoFI: Complete Control-Flow Integrity for Commodity Operating System Kernels
John Criswell, Nathan Dautenhahn, and Vikram Adve [
Link
]
Proceedings of the Thirty Fifth IEEE Symposium on Security and Privacy (Oakland 2014),
May 2014.
Safe and Automatic Live Update
Cristiano Giuffrida [
Link
]
Ph.D. Dissertation, Vrije University Amsterdam, The Netherlands,
Apr. 2014.
Received the 2015 EuroSys Roger Needham Award and the 2015 ACM SIGOPS Dennis M. Ritchie Doctoral Dissertation Award.
Virtual Ghost: Protecting Applications from Hostile Operating Systems
John Criswell, Nathan Dautenhahn, and Vikram Adve [
Link
]
Proceedings of the Nineteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2014),
Mar. 2014.
DBILL: An Efficient and Retargetable Dynamic Binary Instrumentation Framework Using LLVM Backend
Yi-Hong Lyu, Ding-Yong Hong, Tai-Yi Wu, Jan-Jan Wu, Wei-Chung Hsu, Pangfeng Liu, and Pen-Chung Yew [
Link
]
Proceedings of the Tenth ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE 2014),
Mar. 2014.
WatchdogLite: Hardware-Accelerated Compiler-Based Pointer Checking
Santosh Nagarakatte, Milo M.K. Martin and Steve Zdancewic [
Link
]
Proceedings of the 2014 International Symposium on Code Generation and Optimization (CGO 2014),
Feb. 2014.
2013
Preallocation Instruction Scheduling with Register Pressure Minimization Using a Combinatorial Optimization Approach
Ghassan Shobaki, Maxim Shawabkeh, and Najm Abu-Rmaileh [
Link
]
ACM Transactions on Architecture and Code Optimization (TACO),
Sep. 2013.
LLVMVF: A Generic Approach for Verification of Multicore Software
Marcelo Sousa, Alper Sen [
Link
]
Journal of Electronic Testing: Theory and Applications,
Sep. 2013.
Strato: A Retargetable Framework for Low-level Inlined-reference Monitors
Bin Zeng, Gang Tan, and Ulfar Erlingsson [
Link
]
Proceedings of the Twenty Second Usenix Security Symposium,
Aug. 2013.
Dowsing for Overflows: A Guided Fuzzer to Find Buffer Boundary Violations
Istvan Haller, Asia Slowinska, Matthias Neugschwandtner, Herbert Bos [
Link
]
Proceedings of the Twenty Second Usenix Security Symposium,
Aug. 2013.
FIE on Firmware: Finding Vulnerabilities in Embedded Systems Using Symbolic Execution
Drew Davidson, Benjamin Moench, Somesh Jha, and Thomas Ristenpart [
Link
]
Proceedings of the Twenty Second Usenix Security Symposium,
Aug. 2013.
Formal Verification of SSA Optimizations for LLVM
Jianzhou Zhao, Santosh Nagarakatte, Milo M K Martin, and Steve Zdancewic [
Link
]
Proceedings of the Thirty Fourth ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2013),
June 2013.
Declarative, Temporal, and Practical Programming with Capabilities
William R. Harris, Somesh Jha, Thomas Reps, Jonathan Anderson, and Robert N. M. Watson [
Link
]
Proceedings of the Thirty Fourth IEEE Symposium on Security and Privacy (Oakland 2013),
May 2013.
-Overify: Optimizing Programs for Fast Verification
Jonas Wagner, Volodymyr Kuznetsov, and George Candea [
Link
]
Proceedings of the Fourteenth Workshop on Hot Topics in Operating Systems (HotOS XIV),
May 2013.
A Compiler-Level Intermediate Representation Based Binary Analysis and Rewriting System
Kapil Anand, Matthew Smithson, Khaled Elwazeer, Aparna Kotha, Jim Gruen, Nathan Giles, and Rajeev Barua [
Link
]
Proceedings of the Eighth ACM European Conference on Computer Systems (Eurosys 2013),
Apr. 2013.
Using Likely Invariants for Automated Software Fault Localization
Swarup Kumar Sahoo, John Criswell, Chase Geigle, and Vikram Adve [
Link
]
Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013),
Mar. 2013.
Safe and Automatic Live Update for Operating Systems
Cristiano Giuffrida, Anton Kuijsten, and Andrew S. Tanenbaum [
Link
]
Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013),
Mar. 2013.
Parallelizing Data Race Detection
Benjamin Wester, David Devecsery, Peter M. Chen, Jason Flinn, and Satish Narayanasamy [
Link
]
Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013),
Mar. 2013.
Cooperative Empirical Failure Avoidance for Multithreaded Programs
Brandon Lucia and Luis Ceze [
Link
]
Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013),
Mar. 2013.
ConAir: Featherweight Concurrency Bug Recovery via Single-Threaded Idempotent Execution
Wei Zhang, Marc de Kruijf, Ang Li, Shan Lu, and Karthikeyan Sankaralingam [
Link
]
Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013),
Mar. 2013.
DeAliaser: Alias Speculation using Atomic Region Support
Wonsun Ahn, Yuelu Duan, and Josep Torrellas [
Link
]
Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013),
Mar. 2013.
STABILIZER: Statistically Sound Performance Evaluation
Charlie Curtsinger and Emery D. Berger [
Link
]
Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013),
Mar. 2013.
Verifying Systems Rules Using Rule-Directed Symbolic Execution
Heming Cui, Gang Hu, Jingyue Wu, and Junfeng Yang [
Link
]
Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013),
Mar. 2013.
Practical Automatic Loop Specialization
Taewook Oh, Hanjun Kim, Nick P. Johnson, Jae W. Lee, and David I. August [
Link
]
Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013),
Mar. 2013.
Architecture-Independent Dynamic Information Flow Tracking
Ryan Whelan, Tim Leek, and David Kaeli [
Link
]
Proceedings of the 22nd International Conference on Compiler Construction (CC '13),
Mar. 2013.
Profile-guided Automated Software Diversity
Andrei Homescu, Steven Neisius, Per Larsen, Stefan Brunthaler, and Michael Franz [
Link
]
Proceedings of the 2013 International Symposium on Code Generation and Optimization (CGO 2013),
Feb. 2013.
2012
Generation of TLM Testbenches Using Mutation Testing
Marcelo Sousa and Alper Sen [
Link
]
IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis,
Sep. 2012.
ErLLVM: An LLVM backend for Erlang
K. Sagonas, C. Stavrakakis, and Y. Tsiouris [
Link
]
ACM SIGPLAN Erlang Workshop,
Sep. 2012.
A Framework for Formal Verification of Concurrent Software
Marcelo Sousa [
Link
]
MSc Thesis,
Aug. 2012.
Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization
Cristiano Giuffrida, Anton Kuijsten, and Andrew S. Tanenbaum [
Link
]
Twenty First Usenix Security Symposium,
Aug. 2012.
Harmony: Collection and Analysis of Parallel Block Vectors
Melanie Kambadur, Kui Tang, and Martha Kim [
Link
]
Proceedings of the International Symposium on Computer Architecture (ISCA '12),
June 2012.
Top Picks in Computer Architecture Selection.
Safe and Automated State Transfer for Secure and Reliable Live Update
Cristiano Giuffrida and Andrew S. Tanenbaum [
Link
]
Proc. of the Fourth International Workshop on Hot Topics in Software Upgrades (HotSWUp '12),
June 2012.
Sound and Precise Analysis of Parallel Programs through Schedule Specialization
Jingyue Wu, Yang Tang, Gang Hu, Heming Cui, and Junfeng Yang [
Link
]
ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI),
June 2012.
AddressSanitizer: A Fast Address Sanity Checker
Konstantin Serebryany, Derek Bruening, Alexander Potapenko, Dmitry Vyukov [
Link
]
Proc. of the 2012 USENIX Annual Technical Conference,
June 2012.
Understanding Integer Overflow in C/C++
Will Dietz, Peng Li, John Regehr, Vikram Adve [
Link
]
Proc. of the 2012 International Conference on Software Engineering (ICSE'12),
June 2012.
Received an ACM SIGSOFT Distinguished Paper Award.
The Click2NetFPGA toolchain
Teemu Rinta-Aho, Mika Karlstedt, and Madhav P. Desai [
Link
]
Proceedings of the 2012 USENIX Annual Technical Conference,
Boston, MA, June 2012.
A Compiler Back-End for Reconfigurable, Mixed-ISA Processors with Clustered Register Files
Stripf, T.; Koenig, R.; Rieder, P.; Becker, J.; [
Link
]
Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), 2012 IEEE 26th International,
May 2012.
ispc: A SPMD Compiler for High-Performance CPU Programming
Matt Pharr and William R. Mark [
Link
]
Innovative Parallel Computing (InPar),
May 2012.
GKLEE: Concolic Verification and Test Generation for GPUs
Guodong Li, Peng Li, Geof Sawaya, Ganesh Gopalakrishnan, Indradeep Ghosh, Sreeranga P. Rajan [
Link
]
Principles and Practices of Parallel Programming (PPoPP),
Feb. 2012.
Formalizing the LLVM Intermediate Representation for Verified Program Transformations
Jianzhou Zhao, Santosh Nagarakatte, Milo M. K. Martin, Steve Zdancewic [
Link
]
SIGACT Symposium on Principles of Programming Languages (POPL),
Jan. 2012.
2011
Efficient Deterministic Multithreading through Schedule Relaxation
Heming Cui, Jingyue Wu, John Gallagher, Huayang Guo, Junfeng Yang [
Link
]
ACM Symposium on Operating Systems Principles (SOSP),
Oct. 2011.
Combining Control-Flow Integrity and Static Analysis for Efficient and Validated Data Sandboxing
Bin Zeng, Gang Tan, Greg Morrisett [
Link
]
ACM Conference on Computer and Communications Security (CCS),
Oct. 2011.
Debugging the Data Plane with Anteater
Haohui Mai, Ahmed Khurshid, Rachit Agarwal, Matthew Caesar, P. Brighten Godfrey, and Samuel T. King [
Search
]
Annual Conference of the ACM Special Interest Group on Data Communication (SIGCOMM),
Aug. 2011.
A novel ADL-based compiler-centric software framework for reconfigurable mixed-ISA processors
Stripf, T.; Koenig, R.; Becker, J.; [
Link
]
Embedded Computer Systems (SAMOS), 2011 International Conference,
July 2011.
OpenCL-based Design Methodology for Application-Specific Processors
Pekka Jääskeläinen, Carlos S. de La Lama, Pablo Huerta, and Jarmo Takala [
Link
]
Transactions on HiPEAC,
July 2011.
Enabling Sophisticated Analysis of x86 Binaries with RevGen
Vitaly Chipounov and George Candea [
Link
]
Seventh Workshop on Hot Topics in System Dependability (HotDep),
June 2011.
Evaluating Value-Graph Translation Validation for LLVM
Jean-Baptiste Tristan, Paul Govereau, Greg Morrisett [
Link
]
ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI),
June 2011.
Automatic CPU-GPU Communication Management and Optimization
Thomas B. Jablin, Prakash Prabhu, James A. Jablin, Nick P. Johnson, Stephen R. Beard, and David I. August [
Link
]
ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI),
June 2011.
Commutative Set: A Language Extension for Implicit Parallel Programming
Prakash Prabhu, Soumyadeep Ghosh, Yun Zhang, Nick P. Johnson, and David I. August [
Link
]
ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI),
June 2011.
On the Theory and Potential of LRU-MRU Collaborative Cache Management
Xiaoming Gu and Chen Ding [
Search
]
International Symposium on Memory Management (ISMM),
June 2011.
Just-in-time Instruction Set Extension - Feasibility and Limitations for an FPGA-based Reconfigurable ASIP Architecture
Mariusz Grad and Christian Plessl [
Link
]
Reconfigurable Architectures Workshop (RAW 2011), Proceedings of the International Parallel and Distributed Processing Symposium,
Anchorage, Alaska, USA., May 2011.
A Predictable Execution Model for COTS-Based Embedded Systems
Rodolfo Pellizzoni, Emiliano Betti, Stanley Bak, Gang Yao, John Criswell, Marco Caccamo, and Russell Kegley [
Search
]
Real-Time and Embedded Technology and Applications Symposium (RTAS),
Apr. 2011.
Flow-Sensitive Pointer Analysis for Millions of Lines of Code
Ben Hardekopf and Calvin Lin [
Search
]
International Symposium on Code Generation and Optimization (CGO),
Apr. 2011.
Whole-Function Vectorization
Ralf Karrenberg [
Search
]
International Symposium on Code Generation and Optimization (CGO),
Apr. 2011.
S2E: A Platform for In-Vivo Multi-Path Analysis of Software Systems
Vitaly Chipounov, Volodymyr Kuznetsov, and George Candea [
Link
]
Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2011),
Mar. 2011.
A study of irreducibility in C programs
James Stanier and Des Watson [
Link
]
Software: Practice and Experience,
Mar. 2011.
LLVM and Clang: Advancing Compiler Technology
Chris Lattner [
Link
]
Keynote Talk, <a href='http://fosdem.org/2011/'>FOSDEM 2011</a>: Free and Open Source Developers European Meeting,
Brussels, Belgium, Feb. 2011.
2010
Pruning the Design Space for Just-in-time Processor Customization
Mariusz Grad and Christian Plessl [
Link
]
Proceedings of the International Conference on Reconfigurable Computing (ReConFig 2010),
Cancun, Mexico, Dec. 2010.
Implementation of Path Profiling in the Low-Level Virtual-Machine (LLVM) Compiler Infrastructure
Adam Preuss [
Link
]
Technical Report #10-05, University of Alberta,
Alberta, Canada, Dec. 2010.
We Crashed, Now What?
Cristiano Giuffrida, Lorenzo Cavallaro, and Andrew S. Tanenbaum [
Link
]
Proc. of the 6th Workshop on Hot Topics in System Dependability (HotDep '10),
Vancouver, BC, Canada, Oct. 2010.
Stable Deterministic Multithreading through Schedule Memoization
Heming Cui and Jingyue Wu and Chia-che Tsai and Junfeng Yang [
Link
]
Proc. of the Ninth Symposium on Operating Systems Design and Implementation (OSDI '10),
Vancouver, BC, Canada, Oct. 2010.
Bypassing Races in Live Applications with Execution Filters
Jingyue Wu, Heming Cui, Junfeng Yang [
Link
]
Proc. of the Ninth Symposium on Operating Systems Design and Implementation (OSDI '10),
Vancouver, BC, Canada, Oct. 2010.
An LLVM Backend for GHC
David A. Terei and Manuel M. T. Chakravarty [
Link
]
ACM SIGPLAN Haskell Symposium 2010,
Baltimore, Maryland, Sep. 2010.
IntPatch: Automatically Fix Integer-Overflow-to-Buffer-Overflow Vulnerability at Compile-Time
Chao Zhang, Tielei Wang, Tao Wei, Yu Chen, and Wei Zou [
Link
]
Proc. of the 15th European Symposium on Research in Computer Security (ESORICS 2010),
Athen, Greece, Sep. 2010.
Efficient SSI Conversion
André Tavares, Fernando Magno Pereira, Mariza Bigonha and Roberto Bigonha [
Link
]
Brazilian Symposium on Programming Languages 2010,
Salvador, Brazil, Sep. 2010.
A C-to-RTL Flow as an Energy Efficient Alternative to Embedded Processors in Digital Systems
Sameer D. Sahasrabuddhe, Sreenivas Subramanian, Kunal P. Ghosh, Kavi Arya, and Madhav P. Desai [
Link
]
13th Euromicro Conference on Digital System Design: Architectures, Methods and Tools,
Lille, France, Sep. 2010.
Towards Software-defined Silicon: Experiences in Compiling Click to NetFPGA
James Kempf, Pekka Nikander, Sameer D. Sahasrabuddhe, Teemu Rinta-aho, and Benny Nyman [
Link
]
1st European NetFPGA Developers Workshop,
University of Cambridge, UK, Sep. 2010.
Lazy Annotation for Program Testing and Verification
Kenneth McMillan [
Link
]
Proceedings of Computer Aided Verification (CAV 2010),
Edinburgh, UK, July 2010.
Relax: An Architectural Framework for Software Recovery of Hardware Faults
M. de Kruijf, S. Nomura, and K.Sankaralingam [
Link
]
ISCA '10: International Symposium on Computer Architecture,
June 2010.
Speculative Parallelization Using State Separation and Multiple Value Prediction
Chen Tian, Min Feng, Rajiv Gupta [
Link
]
Proc. of the 2010 International Symposium on Memory Management,
June 2010.
CETS: Compiler Enforced Temporal Safety for C
Santosh Nagarakatte, Jianzhou Zhao, Milo M K Martin and Steve Zdancewic [
Link
]
Proc. of the 2010 International Symposium on Memory Management,
June 2010.
Clang/LLVM Maturity Report
Dominic Fandrey [
Link
]
Proceedings of the Summer 2010 Research Seminar,
June 2010.
HyperSafe: A Lightweight Approach to Provide Lifetime Hypervisor Control-Flow Integrity
Zhi Wang and Xuxian Jiang [
Link
]
IEEE Symposium on Security & Privacy 2010,
May 2010.
ClangBSD
Roman Divacky [
Link
]
BSDcan 2010,
May 2010.
Quality of Service Profiling
Sasa Misailovic, Stelios Sidiroglou, Henry Hoffmann, Martin Rinard [
Link
]
Proc. of the 2010 IEEE 32st International Conference on Software Engineering (ICSE'10),
Cape Town, South Africa, May 2010.
Evaluation of AMD's Advanced Synchronization Facility within a Complete Transactional Memory Stack
Dave Christie, Jae-Woong Chung, et al [
Link
]
Proc. of the 5th ACM European Conference on Computer Systems (EuroSys'10),
Paris, France, Apr. 2010.
Defeating Return-Oriented Rootkits with "Return-Less" Kernels
Jinku Li, Zhi Wang, Xuxian Jiang, Michael Grace, and Sina Bahram [
Link
]
Proc. of the 5th ACM European Conference on Computer Systems (EuroSys'10),
Paris, France, Apr. 2010.
Reverse Engineering of Binary Device Drivers with RevNIC
Vitaly Chipounov and George Candea [
Link
]
Proc. of the 5th ACM European Conference on Computer Systems (EuroSys'10),
Paris, France, Apr. 2010.
Execution Synthesis: A Technique for Automated Software Debugging
Cristian Zamfir and George Candea [
Link
]
Proc. of the 5th ACM European Conference on Computer Systems (EuroSys'10),
Paris, France, Apr. 2010.
Efficient Profiling in the LLVM Compiler Infrastructure
Andreas Neustifter [
Link
]
Masters Thesis,
Vienna University of Technology, Apr. 2010.
VMKit: a Substrate for Managed Runtime Environments
Nicolas Geoffray, Gael Thomas, Julia Lawall, Gilles Muller, and Bertil Folliot [
Link
]
Proc. of the Virtual Execution Environments Conference (VEE '10),
Pittsburgh, PA, Mar. 2010.
Modeling GPU-CPU Workloads and Systems
Andrew Kerr, Gregory Diamos, and Sudhakar Yalamanchili [
Link
]
Proc. of the 3rd Workshop on General-Purpose Computation on Graphics Processing Units (GPGPU-3),
Pittsburgh, PA, Mar. 2010.
Shoestring: Probabilistic Soft Error Reliability on the Cheap
Shuguang Feng, Shantanu Gupta, Amin Ansari, and Scott Mahlke [
Link
]
Proc. of the Fifteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '10),
Pittsburgh, PA, Mar. 2010.
Orthrus: Efficient Software Integrity Protection on Multi-core
Ruirui Huang, Daniel Y. Deng, G. Edward Suh [
Link
]
Proc. of the Fifteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '10),
Pittsburgh, PA, Mar. 2010.
Conservation Cores: Reducing the Energy of Mature Computations
Ganesh Venkatesh, Jack Sampson, Nathan Goulding, Saturnino Garcia, Vladyslav Bryksin, Jose Lugo-Martinez, Steven Swanson, Michael Bedford Taylor [
Link
]
Proc. of the Fifteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '10),
Pittsburgh, PA, Mar. 2010.
Speculative Parallelization using Software Multi-Threaded Transactions
Arun Raman, Hanjun Kim, Thomas R. Mason, Thomas B. Jablin, David I. August [
Link
]
Proc. of the Fifteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '10),
Pittsburgh, PA, Mar. 2010.
CoreDet: A Compiler and Runtime System for Deterministic Multithreaded Execution
Tom Bergan, Owen Anderson, Joseph Devietti, Luis Ceze, and Dan Grossman [
Link
]
Proc. of the Fifteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '10),
Pittsburgh, PA, Mar. 2010.
Bit-Level Optimization for High-Level Synthesis and FPGA-Based Acceleration
Jiyu Zhang, Zhiru Zhang, Sheng Zhou, Mingxing Tan, Xianhua Liu, Xu Cheng, Jason Cong [
Link
]
Proc. of the 18th Annual ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA'10),
Monterey, CA, Feb. 2010.
Custom Instruction Generation for Configurable Processors with Limited Numbers of Operands
Kenshu Seto and Masahiro Fujita [
Link
]
IPSJ Transactions on System LSI Design Methodology,
Feb. 2010.
Emulator Speed-up Using JIT and LLVM
Hans Wennborg [
Link
]
Master's Thesis, Lund University,
Lund, Sweden, Jan. 2010.
2009
DDT: Design and Evaluation of a Dynamic Program Analysis for Optimizing Data Structure Usage
Changhee Jung, Nathan Clark [
Link
]
Proc. of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-42),
New York, NY, Dec. 2009.
Automatic Restructuring of Linked Data Structures
H.L.A. van der Spek, C.W.M. Holm and H.A.G. Wijshof [
Link
]
Proc. of the 22nd International Workshop on Languages and Compilers for Parallel Computing (LCPC'09),
Newark, DE, Oct. 2009.
Low Level Virtual Machine for Glasgow Haskell Compiler
David Terei [
Link
]
Bachelor's Thesis, Computer Science and Engineering Dept., The University of New South Wales,
Sydney, Australia, Oct. 2009.
Progressive spill code placement
Dietmar Ebner, Bernhard Scholz, and Andreas Krall [
Link
]
Proc. of the 2009 international conference on Compilers, architecture, and synthesis for embedded systems (CASES'09),
Grenoble, France, Oct. 2009.
TotalProf: a fast and accurate retargetable source code profiler
Lei Gao, Jia Huang, Jianjiang Ceng, Rainer Leupers, Gerd Ascheid, and Heinrich Meyr [
Link
]
Proc. of the 7th IEEE/ACM international conference on Hardware/software codesign and system synthesis (CODES+ISSS'09),
Grenoble, France, Oct. 2009.
A High-Level Virtual Platform for Early MPSoC Software Development
Jianjiang Ceng, Weihua Sheng, Jeronimo Castrillon, Anastasia Stulova, Rainer Leupers, Gerd Ascheid and Heinrich Meyr [
Link
]
Proc. of the 7th IEEE/ACM international conference on Hardware/software codesign and system synthesis (CODES+ISSS'09),
Grenoble, France, Oct. 2009.
AN-Encoding Compiler: Building Safety-Critical Systems with Commodity Hardware
Christof Fetzer, Ute Schiffel, and Martin SuBkraut [
Search
]
28th International Conference, SAFECOMP 2009,
Hamburg, Germany, Sep. 2009.
Performance Modelling for Avionics Systems
Visar Januzaj, Ralf Mauersberger and Florian Biechele [
Search
]
Computer Aided Systems Theory (EUROCAST 2009),
Sep. 2009.
Automatic Generation of Cycle-Approximate TLMs with Timed RTOS Model Support
Yonghyun Hwang, Gunar Schirner, and Samar Abdi [
Search
]
Analysis, Architectures and Modelling of Embedded Systems 2009 (IESS 2009),
Langenargen, Germany, Sep. 2009.
An Early Real-Time Checker for Retargetable Compile-Time Analysis
Emilio Wuerges, Luiz C. V. dos Santos, Olinto Furtado, and Sandro Rigo [
Link
]
Proc. of the 22nd Annual Symposium on Integrated Circuits and System Design (SBCCI'09),
Natal, Brazil, Sep. 2009.
Assigning Blame: Mapping Performance to High Level Parallel Programming Abstractions
Nick Rutar and Jeffrey K. Hollingsworth [
Link
]
EuroPar'09,
Delft, Aug. 2009.
API hyperlinking via structural overlap
Fan Long, Xi Wang, and Yang Cai [
Link
]
Proc. of the ACM symposium on The foundations of software engineering symposium (FSE'09),
Amsterdam, The Netherlands, Aug. 2009.
Increasing the scope and resolution of Interprocedural Static Single Assignment
Silvian Calman and Jianwen Zhu [
Link
]
Proc. of the 16th International Static Analysis Symposium (SAS 2009),
Los Angeles, CA, Aug. 2009.
Memory Safety for Low-Level Software/Hardware Interactions
John Criswell, Nicolas Geoffray, and Vikram Adve [
Link
]
Proc. of the Eighteenth Usenix Security Symposium,
Montreal, Canada, Aug. 2009.
Zoltar: a spectrum-based fault localization tool
Tom Janssen, Rui Abreu, and Arjan J.C. van Gemund [
Link
]
Proc. of the 2009 ESEC/FSE workshop on Software integration and evolution @ runtime,
Amsterdam, The Netherlands, Aug. 2009.
Behavior-Level Observability Don't-Cares and Application to Low-Power Behavioral Synthesis
Jason Cong, Bin Liu, Zhiru Zhang [
Link
]
Proc. of the 14th ACM/IEEE international symposium on Low power electronics and design (ISLPED'09),
San Francisco, CA, Aug. 2009.
An Internal Representation for Adaptive Online Parallelization
Koy D. Rehme [
Link
]
M.S. Thesis, Brigham Young University,
USA, Aug. 2009.
Woolcano: An Architecture and Tool Flow for Dynamic Instruction Set Extension on Xilinx Virtex-4 FX
Mariusz Grad and Christian Plessl [
Link
]
Proceedings of the International Conference on Engineering of Reconfigurable Systems and Algorithms (ERSA 2009),
Las Vegas, Nevada, USA, July 2009.
BegBunch: benchmarking for C bug detection tools
Cristina Cifuentes, Christian Hoermann, Nathan Keynes, Lian Li, Simon Long, Erica Mealy, Michael Mounteney, and Bernhard Scholz [
Link
]
Proc. of the 2nd International Workshop on Defects in Large Software Systems: Held in conjunction with the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2009),
Chicago, Illinois, July 2009.
Verifying the Implementation of an Operating System Scheduler
Moritz Kleine, Bjorn Bartels, Thomas Gothel, and Sabine Glesner [
Search
]
IEEE International Symposium on Theoretical Aspects of Software Engineering,
Tianjin, China, July 2009.
Programmable and Scalable Architecture for Graphics Processing Units
Carlos S. Lama, Pekka Jaaskelainen, Jarmo Takala [
Search
]
Proc. of the 9th International Workshop on Embedded Computer Systems: Architectures, Modeling, and Simulation,
Samos, Greece, July 2009.
Automatic Packetization
Ralf Karrenberg [
Link
]
Master's Thesis, Universität des Saarlandes,
Saarbrücken, Germany, July 2009.
Toward Automatic Data Structure Replacement for Effective Parallelization
Changhee Jung and Nathan Clark [
Link
]
Proc. Workshop on Parallel Execution of Sequential Programs on Multicore Architectures (PESPMA'09),
June 2009.
Natively Probabilistic Computation
Vikash Kumar Mansinghka [
Link
]
Ph.D. Thesis, Massachusetts Institute of Technology,
USA, June 2009.
Parallelizing sequential applications on commodity hardware using a low-cost software transactional memory
Mojtaba Mehrara, Jeff Hao, Po-Chun Hsu, and Scott Mahlke [
Link
]
Proc. ACM SIGPLAN 2009 Conference on Programming Language Design and Implementation (PLDI'09),
Dublin, Ireland, June 2009.
Automatic generation of library bindings using static analysis
Tristan Ravitch, Steve Jackson, Eric Aderhold, and Ben Liblit [
Link
]
Proc. ACM SIGPLAN 2009 Conference on Programming Language Design and Implementation (PLDI'09),
Dublin, Ireland, June 2009.
SoftBound: Highly Compatible and Complete Spatial Memory Safety for C
Santosh Nagarakatte, Jianzhou Zhao, Milo M K Martin and Steve Zdancewic [
Link
]
Proc. ACM SIGPLAN 2009 Conference on Programming Language Design and Implementation (PLDI'09),
Dublin, Ireland, June 2009.
A Translation System for Enabling Data Mining Applications on GPUs
Wenjing Ma and Gagan Agrawal [
Link
]
Proc. 23rd International Conference on Supercomputing (ISC'09),
Yorktown Heights, NY, June 2009.
Selective Symbolic Execution
Vitaly Chipounov, Vlad Georgescu, Cristian Zamfir, and George Candea [
Link
]
Proc. Fifth Workshop on Hot Topics in System Dependability (HotDep'09),
Lisbon, Portugal, June 2009.
Interprocedural bounds checker for C programs using symbolic constraints and slicing
Edvin Török [
Link
]
Undergraduate Thesis, 'Politehnica' University of Timisoara,
Timisoara, Romania, June 2009.
Speculative Parallelization of Sequential Loops on Multicores
Chen Tian, Min Feng, Vijay Nagarajan and Rajiv Gupta [
Link
]
International Journal of Parallel Programming,
June 2009.
COMPASS: A Community-driven Parallelization Advisor for Sequential Software
Simha Sethumadhavan, Nipun Arora, Ravindra Babu Ganapathi, John Demme, and Gail E. Kaiser [
Link
]
Proc. of the 2009 ICSE Workshop on Multicore Software Engineering (IWMSE '09),
Washington, DC, USA, May 2009.
3c: A JIT Compiler with LLVM
Edd Barrett [
Link
]
Final Year Project, Bournemouth University,
United Kingdom, May 2009.
Ensuring Correctness of Compiled Code
Ganna Zaks [
Link
]
Ph.D. Thesis, Computer Science Dept., New York University,
New York, NY, May 2009.
Woolcano: An Architecture and Tool Flow for Dynamic Instruction Set Extension on Xilinx Virtex-4 FX
Mariusz Grad and Christian Plessl [
Link
]
Proceedings of IEEE Symposium on Field-Programmable Custom Machines (FCCM 2009),
Napa, CA, USA, Apr. 2009.
MEMMU: Memory expansion for MMU-less embedded systems
Lan S. Bai, Lei Yang, and Robert P. Dick [
Link
]
Proc. of the ACM Transactions on Embedded Computing Systems (TECS),
New York, NY, USA, Apr. 2009.
Precise simulation of interrupts using a rollback mechanism
Florian Brandner [
Link
]
Proc. of the 12th International Workshop on Software and Compilers for Embedded Systems (SCOPES'09),
Nice, France, Apr. 2009.
Register allocation deconstructed
David Ryan Koes and Seth Copen Goldstein [
Link
]
Proc. of the 12th International Workshop on Software and Compilers for Embedded Systems (SCOPES'09),
Nice, France, Apr. 2009.
Scheduling Techniques for Multi-Core Architectures
Akira Hatanaka and Nader Bagherzadeh [
Search
]
2009 Sixth International Conference on Information Technology: New Generations,
Apr. 2009.
ESoftCheck: Removal of Non-vital Checks for Fault Tolerance
Jing Yu, Maria Jesus Garzaran, Marc Snir [
Link
]
Proc. of the Seventh International Symposium on Code Generation and Optimization (CGO '09),
Mar. 2009.
DMP: deterministic shared memory multiprocessing
Joseph Devietti, Brandon Lucia, Luis Ceze, and Mark Oskin [
Link
]
Proc. of the Fourteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '09),
Mar. 2009.
Recovery Domains: An Organizing Principle for Recoverable Operating Systems
Andrew Lenharth, Samuel T. King, Vikram Adve [
Link
]
Proc. of the Fourteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '09),
Mar. 2009.
A Case for Compiler-driven Superpage Allocation
Joshua Magee and Apan Qasem [
Link
]
Proc. of the 47th ACM Southeast Regional Conference (ACMSE09),
Mar. 2009.
SORU: A Reconfigurable Vector Unit for Adaptable Embedded Systems
José M. Moya, Javier Rodríguez, et al [
Search
]
Proc. of the 5th International Workshop on Reconfigurable Computing: Architectures, Tools and Applications,
Mar. 2009.
Compiling Techniques for Coarse Grained Runtime Reconfigurable Architecture
Mythri Alle, Keshavan Varadarajan, Alexander Fell, S. K. Nandy and Ranjani Narayan [
Search
]
Proc. of the 5th International Workshop on Reconfigurable Computing: Architectures, Tools and Applications,
Mar. 2009.
Mapping parallelism to multi-cores: a machine learning based approach
Zheng Wang and Michael F.P. O'Boyle [
Link
]
Proc. of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming (PPoPP'09),
Feb. 2009.
Semi-sparse flow-sensitive pointer analysis
Ben Hardekopf and Calvin Lin [
Link
]
Proc. of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages (POPL'09),
Savannah, GA, USA, Jan. 2009.
A Scalable Memory Model for Low-Level Code
Zvonimir Rakamaric and Alan J. Hu [
Link
]
Proc. of the 10th International Conference on Verification, Model Checking and Abstract Interpretation (VMCAI 2009),
Savannah, GA, USA, Jan. 2009.
Program Analysis for Bug Detection using Parfait
Cristina Cifuentes, Nathan Keynes, Lian Li, and Bernhard Scholz [
Link
]
Proc. of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation (PEPM'09),
Savannah, GA, USA, Jan. 2009.
Automatic Instrumentation of Embedded Software for High Level Hardware/Software Co-Simulation
Aimen Bouchhima, Patrice Gerin, Frederic Petrot [
Link
]
Proc. of the 14th Asia South Pacific Design Automation Conference (ASP-DAC'09),
Yokohama, Japan, Jan. 2009.
Memory subsystem simulation in software TLM/T models
Eric Cheung, Harry Hsieh, and Felice Balarin [
Link
]
Proc. of the 14th Asia South Pacific Design Automation Conference (ASP-DAC'09),
Yokohama, Japan, Jan. 2009.
Automated Derivation of Application-Aware Error and Attack Detectors
Karthik Pattabiraman [
Link
]
Ph.D. Thesis, University of Illinois at Urbana-Champaign,
Jan. 2009.
2008
KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs
Cristian Cadar, Daniel Dunbar, Dawson Engler [
Link
]
Proc. 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2008),
Dec. 2008.
Copy Or Discard Execution Model For Speculative Parallelization On Multicores
Chen Tian, Min Feng, V. Nagarajan, R. Gupta [
Link
]
MICRO-41: 41st International Symposium on Microarchitecture,
Lake Como, Italy, Nov. 2008.
MC-Sim: an efficient simulation tool for MPSoC designs
Jason Cong, Karthik Gururaj, Guoling Han, Adam Kaplan, Mishali Naik, and Glenn Reinman [
Link
]
Proc. of the 2008 IEEE/ACM International Conference on Computer-Aided Design (ICCAD'08),
San Jose, CA, Nov. 2008.
Program analysis for compiler validation
Anna Zaks and Amir Pnueli [
Link
]
Proc. of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering (PASTE'08),
Atlanta, Georgia, Nov. 2008.
Introduction to the LLVM Compiler System
Chris Lattner [
Link
]
Plenary Talk, <a href="http://acat2008.cern.ch/">ACAT 2008</a>: Advanced Computing and Analysis Techniques in Physics Research,
Erice, Sicily, Italy, Nov. 2008.
Volatiles Are Miscompiled, and What to Do about It
Eric Eide, John Regehr [
Link
]
Proc. EMSOFT International Conference on Embedded Software (EMSOFT 2008),
Oct. 2008.
Execution Context Optimization for Disk Energy
Jerry Hom and Ulrich Kremer [
Link
]
Proc. of the 2008 international conference on Compilers, architectures and synthesis for embedded systems (CASES'08),
Oct. 2008.
Automatic Inference of Frame Axioms Using Static Analysis
Zvonimir Rakamaric and Alan J. Hu [
Link
]
23rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2008),
L'Aquila, Italy, Sep. 2008.
A Lazy Developer Approach: Building a JVM with Third Party Software
Nicolas Geoffray, Gael Thomas, Charles Clement and Bertil Folliot [
Link
]
Proc. International Conference on Principles and Practice of Programming In Java (PPPJ 2008),
Sep. 2008.
An Efficient ActionScript 3.0 Just-In-Time Compiler Implementation
Alessandro Pignotti [
Link
]
Bachelor Thesis, Universita degli Studi di Pisa,
Sep. 2008.
Run-Time Code Generation for Materials
Stephan Reiter [
Link
]
IEEE Symposium on Interactive Ray Tracing (RT'08),
Aug. 2008.
Verifying Multi-threaded C Programs with SPIN
Anna Zaks and Rajeev Joshi [
Link
]
Proc. International SPIN Workshop on Model Checking of Software (SPIN 2008),
Aug. 2008.
LLVM-CHiMPS: Compilation Environment for FPGAs Using LLVM Compiler Infrastructure and CHiMPS Computational Model
Seung J. Lee, David K. Raila, and Volodymyr V. Kindratenko [
Link
]
Reconfigurable Systems Summer Institute 2008 (RSSI'08),
July 2008.
Real-Time Ray Tracing of Dynamic Scenes
Stephan Reiter [
Link
]
Diploma Thesis, Institute for Graphics and Parallel Processing, Johannes Kepler University,
Linz, Austria, June 2008.
Compiling Haskell to LLVM
John van Schie [
Link
]
Thesis Defense, Utrecht University,
Netherlands, June 2008.
Generalized Instruction Selection using SSA-Graphs
Dietmar Ebner, Florian Brandner, Bernhard Scholz, Andreas Krall, Peter Wiedermann and Albrecht Kadlec [
Link
]
Proc. Languages Compilers and Tools for Embedded Systems 2008 (LCTES'08),
June 2008.
Automatic Data Partitioning in Software Transactional Memories
Torvald Riegel, Christof Fetzer, and Pascal Felber [
Link
]
Proc. 20th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA'08),
June 2008.
Register Allocation by Puzzle Solving
Fernando Magno Quintao Pereira and Jens Palsberg [
Link
]
Proc. ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation (PLDI'08),
June 2008.
Parfait - Designing a Scalable Bug Checker
Cristina Cifuentes and Bernhard Scholz [
Link
]
Proc. of the 2008 workshop on Static analysis (SAW'08),
June 2008.
A characterization of instruction-level error derating and its implications for error detection
Jeffrey J. Cook and Craig Zilles [
Link
]
IEEE International Conference on Dependable Systems and Networks With FTCS and DCC (DSN'08),
June 2008.
CoVaC: Compiler Validation by Program Analysis of the Cross-Product
Anna Zaks and Amir Pnueli [
Link
]
Proc. International Symposium on Formal Methods (FM 2008),
May 2008.
LLVM and Clang: Next Generation Compiler Technology
Chris Lattner [
Link
]
<a href="http://www.bsdcan.org/2008/">BSDCan 2008</a>: The BSD Conference,
Ottawa, Canada, May 2008.
Calysto: Scalable and Precise Extended Static Checking
Domagoj Babic and Alan J. Hu [
Link
]
Proc. of the 30th international conference on Software engineering (ICSE'08),
May 2008.
Understanding the Propagation of Hard Errors to Software and Implications for Resilient System Design
Man-Lap Li, Pradeep Ramachandran, Swarup K. Sahoo, Sarita V. Adve, Vikram S. Adve, Yuanyuan Zhou [
Link
]
Proc. of the 13th international conference on Architectural support for programming languages and operating systems (ASPLOS'08),
Mar. 2008.
Cycle-approximate Retargetable Performance Estimation at the Transaction Level
Y. Hwang, S. Abdi, and D. Gajski [
Link
]
Proc. of Design Automation and Test in Europe (DATE'08),
Munich, Germany, Mar. 2008.
User-Input Dependence Analysis via Graph Reachability
Bernard Scholz, Chenyi Zhang, and Cristina Cifuentes [
Link
]
Technical Report #TR-2008-171, Sun Microsystems,
Mar. 2008.
Automatic Software Fault Localization using Generic Program Invariants
Rui Abreu, Alberto Gonzalez, Peter Zoeteweij, and Arjan J.C. van Gemund [
Link
]
Proc. of the 2008 ACM symposium on Applied computing (SAC'08),
Mar. 2008.
Impeding Malware Analysis Using Conditional Code Obfuscation
Monirul Sharif, Andrea Lanzi, Jonathon Giffin and Wenke Lee [
Link
]
Network and Distributed System Security Symposium (NDSS'08),
San Diego, CA, Feb. 2008.
Making Object-Based STM Practical in Unmanaged Environments
Torvald Riegel and Diogo Becker de Brum [
Link
]
ACM SIGPLAN Workshop on Transactional Computing (TRANSACT 2008),
Salt Lake City, Utah, 2008.
Near-Optimal Instruction Selection on DAGs
David Ryan Koes and Seth Copen Goldstein [
Link
]
Proc. of the 2008 International Symposium on Code Generation and Optimization (CGO'08),
Boston, MA, 2008.
2007
Secure Virtual Architecture: A Safe Execution Environment for Commodity Operating Systems
John Criswell, Andrew Lenharth, Dinakar Dhurjati, and Vikram Adve [
Link
]
Proc. of the Twenty First ACM Symposium on Operating Systems Principles (SOSP '07),
Stevenson, WA, Oct. 2007.
Received an SOSP 2007 Audience Choice Award.
Retargetable Compiler Backend for Transport Triggered Architectures
Veli-Pekka Jaaskelainen [
Link
]
Masters Thesis,
Tampere University of Technology, Oct. 2007.
RPython: a Step Towards Reconciling Dynamically and Statically Typed OO Languages
Davide Ancona, Massimo Ancona, Antonio Cuni, and Nicholas D. Matsakis [
Link
]
Proc. of the 2007 symposium on Dynamic languages (DLS'07),
Oct. 2007.
A Profile-Driven Statistical Analysis Framework for the Design Optimization of Soft Real-Time Applications
Tushar Kumar, Jaswanth Sreeram, Romain Cledat, and Santosh Pande [
Link
]
Proc. of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering (ESEC-FSE'07),
Sep. 2007.
Transactifying Applications Using an Open Compiler Framework
Pascal Felber, Christof Fetzer, Ulrich Mueller, Torvald Riegel, Martin Suesskraut, and Heiko Sturzrehm [
Link
]
TRANSACT 2007,
Aug. 2007.
LLVM 2.0 and Beyond!
Chris Lattner [
Link
]
Google Tech Talk,
Mountain View, CA, July 2007.
Structural Abstraction of Software Verification Conditions
Domagoj Babic and Alan J. Hu [
Link
]
Proc. of the 19th Int. Conf. on Computer Aided Verification (CAV'07),
Berlin, Germany, July 2007.
Compiled low-level virtual instruction set simulation and profiling for code partitioning and ASIP-synthesis in hardware/software co-design
Carsten Gremzow [
Link
]
Proc. of the 2007 summer computer simulation conference (SCSC'07),
July 2007.
Making Context-Sensitive Points-to Analysis with Heap Cloning Practical For The Real World
Chris Lattner, Andrew Lenharth, and Vikram Adve [
Link
]
Proc. of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'07),
San Diego, CA, June 2007.
Improving Switch Lowering for The LLVM Compiler System
Anton Korobeynikov [
Link
]
Proc. of the 2007 Spring Young Researchers Colloquium on Software Engineering (SYRCoSE'2007),
Moscow, Russia, May 2007.
Optimal chain rule placement for instruction selection based on SSA graphs
Stefan Schafer and Bernhard Scholz [
Link
]
Proc. of the 10th international workshop on Software & compilers for embedded systems (SCOPES'07),
Apr. 2007.
A Change Framework based on the Low Level Virtual Machine Compiler Infrastructure
Jakob Praher [
Link
]
Masters Thesis,
Institute for System Software Johannes Kepler University Linz, Apr. 2007.
An Aspect for Idiom-based Exception Handling (using local continuation join points, join point properties, annotations and type parameters)
Bram Adams and Kris De Schutter [
Link
]
Proc. of the 5th Software-Engineering Properties of Languages and Aspect Technologies Workshop (SPLAT),
AOSD 2007, Vancouver, Canada, Mar. 2007.
The LLVM Compiler System
Chris Lattner [
Link
]
2007 Bossa Conference on Open Source, Mobile Internet and Multimedia,
Recife, Brazil, Mar. 2007.
Trident: From High-Level Language to Hardware Circuitry
Justin L. Tripp, Maya B. Gokhale, and Kristopher D. Peterson [
Link
]
IEEE Computer,
Mar. 2007.
Toward Application-Aware Security and Reliability
Ravishankar K. Iyer, Zbigniew Kalbarczyk, Karthik Pattabiraman, William Healey, Wen-Mei W. Hwu, Peter Klemperer, and Reza Farivar [
Link
]
IEEE Security and Privacy,
Jan. 2007.
2006
Scaling Task Graphs for Network Processors
Martin Labrecque and J. Gregory Steffan [
Link
]
IFIP International Conference on Network and Parallel Computing,
Tokyo, Japan, Oct. 2006.
Automated Compile-Time and Run-Time Techniques to Increase Usable Memory in MMU-Less Embedded Systems
L. Bai, L. Yang, and R. P. Dick [
Link
]
Proc. Int. Conf. Compilers, Architecture & Synthesis for Embedded Systems,
pp. 125-135, Oct. 2006.
PyPy's approach to virtual machine construction
Armin Rigo and Samuele Pedroni [
Link
]
Dynamic Languages Symposium (DLS'06),
Oct. 2006.
Platform-Based Behavior-Level and System-Level Synthesis
J. Cong, Y. Fan, G. Han, W. Jiang, and Z. Zhang [
Link
]
Proc. of IEEE International SOC Conference,
pp. 199-202, Austin, Texas, Sep. 2006.
Efficiently Detecting All Dangling Pointer Uses in Production Servers
Dinakar Dhurjati and Vikram Adve [
Link
]
Proc. of the International Conference on Dependable Systems and Networks (DSN '06),
Philadelphia, Pennsylvania, 2006.
A Virtual Instruction Set Interface for Operating System Kernels
John Criswell, Brent Monroe, and Vikram Adve [
Link
]
Workshop on the Interaction between Operating Systems and Computer Architecture (WIOSCA '06),
Boston, Massachusetts, June 2006.
SAFECode: Enforcing Alias Analysis for Weakly Typed Languages
Dinakar Dhurjati, Sumant, Kowshik, and Vikram Adve [
Link
]
Proc. of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '06),
Ottawa, Canada, June 2006.
Backwards-Compatible Array Bounds Checking for C with Very Low Overhead
Dinakar Dhurjati and Vikram Adve [
Link
]
Proc. of the 28th International Conference on Software Engineering (ICSE '06),
Shanghai, China, May 2006.
Vector LLVA: A Virtual Vector Instruction Set for Media Processing
Robert L. Bocchino Jr. and Vikram S. Adve [
Link
]
Proc. of the Second International Conference on Virtual Execution Environments (VEE'06),
Ottawa, Canada, June 2006.
Checker: a Static Program Checker
Nicholas Lewycky [
Link
]
B.Sc. Thesis,
Computer Science Dept., Ryerson University, June 2006.
Introduction to the LLVM Compiler Infrastructure
Chris Lattner [
Link
]
2006 Itanium Conference and Expo,
San Jose, California, Apr. 2006.
Tailoring Graph-coloring Register Allocation For Runtime Compilation
Keith D. Cooper and Anshuman Dasgupta [
Link
]
Proc. of the 2006 International Symposium on Code Generation and Optimization (CGO'06),
New York, New York, Mar. 2006.
Towards a Compilation Infrastructure for Network Processors
Martin Labrecque [
Link
]
Masters Thesis,
Department of Electrical and Computer Engineering, University of Toronto, Jan. 2006.
2005
How Successful is Data Structure Analysis in Isolating and Analyzing Linked Data Structures?
Patrick Meredith, Balpreet Pankaj, Swarup Sahoo, Chris Lattner and Vikram Adve [
Link
]
Technical Report #UIUCDCS-R-2005-2658, Computer Science Dept., Univ. of Illinois,
Dec. 2005.
Enforcing Alias Analysis for Weakly Typed Languages
Dinakar Dhurjati, Sumant Kowshik, and Vikram Adve [
Link
]
Technical Report #UIUCDCS-R-2005-2657, Computer Science Dept., Univ. of Illinois,
Nov. 2005.
Revisiting Graph Coloring Register Allocation: A Study of the Chaitin-Briggs and Callahan-Koblenz Algorithms
By Keith Cooper, Anshuman Dasgupta, and Jason Eckhardt [
Link
]
Proc. of the Workshop on Languages and Compilers for Parallel Computing (LCPC'05),
Hawthorne, NY, Oct. 2005.
Segment Protection for Embedded Systems Using Run-time Checks
By Matthew Simpson, Bhuvan Middha and Rajeev Barua [
Link
]
Proc. of the ACM International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES'05),
San Francisco, CA, Sep. 2005.
A Concept Analysis Inspired Greedy Algorithm for Test Suite Minimization
By Sriraman Tallam and Neelam Gupta [
Link
]
ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 2005),
Lisbon, Portugal, Sep. 2005.
Deciding Where to Call Performance Libraries
By C. Alias and D. Barthou [
Link
]
Proc. of the International IEEE Euro-Par Conference,
Aug. 2005.
Practical Techniques for Performance Estimation of Processors
Abhijit Ray, Thambipillai Srikanthan and Wu Jigang [
Link
]
Proc. of the 9th International Database Engineering & Application Symposium (IDEAS'05),
July 2005.
Profile-directed If-Conversion in Superscalar Microprocessors
Eric Zimmerman [
Link
]
Masters Thesis,
Computer Science Dept., University of Illinois at Urbana-Champaign, July 2005.
An Implementation of Swing Modulo Scheduling with Extensions for Superblocks
Tanya M. Lattner [
Link
]
M.S. Thesis,
Computer Science Dept., University of Illinois at Urbana-Champaign, June 2005.
Macroscopic Data Structure Analysis and Optimization
Chris Lattner [
Link
]
Ph.D. Thesis,
Computer Science Dept., University of Illinois at Urbana-Champaign, May 2005.
Automatic Pool Allocation: Improving Performance by Controlling Data Structure Layout in the Heap
Chris Lattner and Vikram Adve [
Link
]
Proc. of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'05),
Chicago, Illinois, June 2005.
Received PLDI 2005 Best Paper Award.
Transparent Pointer Compression for Linked Data Structures
Chris Lattner and Vikram Adve [
Link
]
Proc. of the ACM Workshop on Memory System Performance (MSP'05),
Chicago, Illinois, June 2005.
Using a Low-Level Virtual Machine to Improve Dynamic Aspect Support in Operating System Kernels
By Michael Engel and Bernd Freisleben [
Link
]
Proc. of the 4th AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS'05),
Chicago, Mar. 2005.
Memory Safety Without Garbage Collection for Embedded Applications
Dinakar Dhurjati, Sumant Kowshik, Vikram Adve and Chris Lattner [
Link
]
ACM Transactions in Embedded Computing Systems (TECS),
Feb. 2005.
2004
The LLVM Compiler Framework and Infrastructure Tutorial
Chris Lattner and Vikram Adve [
Link
]
LCPC'04 Mini Workshop on Compiler Research Infrastructures,
West Lafayette, Indiana, Sep. 2004.
RubyComp - A Ruby-to-LLVM Compiler Prototype
Anders Alexandersson [
Link
]
Masters Thesis,
Division of Computer Science at the Department of Informatics and Mathematics, University of Trollhättan/Uddevalla, Sweden, 2004.
A Task Optimization Framework for MSSP
Rahul Ulhas Joshi [
Link
]
Masters Thesis,
Computer Science Dept., University of Illinois at Urbana-Champaign, May 2004.
Coordinating Adaptations in Distributed Systems
Brian Ensink and Vikram Adve [
Link
]
Proc. of the 24th International Conference on Distributed Computing Systems (ICDCS 2004),
Tokyo, Japan, Mar. 2004.
LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation
Chris Lattner and Vikram Adve [
Link
]
Proc. of the 2004 International Symposium on Code Generation and Optimization (CGO'04),
Palo Alto, California, Mar. 2004.
2003
LLVA: A Low-level Virtual Instruction Set Architecture
Vikram Adve, Chris Lattner, Michael Brukman, Anand Shukla, and Brian Gaeke [
Link
]
Proc. of the 36th annual ACM/IEEE International Symposium on Microarchitecture (MICRO-36),
San Diego, CA, Dec. 2003.
Language Extensions for Performance-Oriented Programming
Joel Stanley [
Link
]
Masters Thesis,
Computer Science Dept., University of Illinois at Urbana-Champaign, July 2003.
Lightweight, Cross-Procedure Tracing for Runtime Optimization
Anand Shukla [
Link
]
Masters Thesis,
Computer Science Dept., University of Illinois at Urbana-Champaign, July 2003.
Memory Safety Without Runtime Checks or Garbage Collection
Dinakar Dhurjati, Sumant Kowshik, Vikram Adve and Chris Lattner [
Link
]
Proc. of Languages Compilers and Tools for Embedded Systems 2003 (LCTES 03),
San Diego, CA, June 2003.
Architecture For a Next-Generation GCC
Chris Lattner & Vikram Adve [
Link
]
First Annual GCC Developers' Summit,
Ottawa, Canada, May 2003.
Data Structure Analysis: An Efficient Context-Sensitive Heap Analysis
Chris Lattner & Vikram Adve [
Link
]
Technical Report #UIUCDCS-R-2003-2340,
Computer Science Dept., Univ. of Illinois, Apr. 2003.
2002
LLVM: An Infrastructure for Multi-Stage Optimization
Chris Lattner [
Link
]
Masters Thesis,
Computer Science Dept., University of Illinois at Urbana-Champaign, Dec. 2002.
Ensuring Code Safety Without Runtime Checks for Real-Time Control Systems
Sumant Kowshik, Dinakar Dhurjati, and Vikram Adve [
Link
]
Proc. Int'l Conf. on Compilers, Architecture and Synthesis for Embedded Systems (CASES02),
Grenoble, France, Oct. 2002.
Automatic Pool Allocation for Disjoint Data Structures
Chris Lattner & Vikram Adve [
Link
]
ACM SIGPLAN Workshop on Memory System Performance (MSP),
Berlin, Germany, June 2002.