LLVM Related Publications

Table of Contents

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&ouml;r&ouml;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&auml;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 &amp; 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 &amp; Vikram Adve [Link]
    First Annual GCC Developers' Summit, Ottawa, Canada, May 2003.

    Data Structure Analysis: An Efficient Context-Sensitive Heap Analysis

    Chris Lattner &amp; 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 &amp; Vikram Adve [Link]
    ACM SIGPLAN Workshop on Memory System Performance (MSP), Berlin, Germany, June 2002.