The LLVM Compiler Infrastructure
Site Map:
Download!
Search this Site


Useful Links
Release Emails
20.1.1: Mar 2025
20.1.0: Mar 2025
19.1.7: Jan 2025
19.1.6: Dec 2024
19.1.5: Dec 2024
19.1.4: Nov 2024
19.1.3: Oct 2024
19.1.2: Oct 2024
19.1.1: Oct 2024
19.1.0: Sep 2024
18.1.8: Jun 2024
18.1.7: Jun 2024
18.1.6: May 2024
18.1.5: May 2024
18.1.4: Apr 2024
18.1.3: Apr 2024
18.1.2: Mar 2024
18.1.1: Mar 2024
18.1.0: Mar 2024
All Announcements

Maintained by the
llvm-admin team
LLVM Related Publications

Here are some of the publications that use or build on LLVM. This list generally lags behind publication; if you have a paper for this list, please email the LLVM Developer's mailing list with a Subject: line that begins with the word "Publication" or commit it directly to the www-pubs SVN module if you have llvm.org commit access.

2018

  1. "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
    Proc. of the ACM on Programming Languages, Volume 2 Issue OOPSLA, Nov. 2018.

  2. "Shielding Software from Privileged Side-Channel Attacks"
    Xiaowan Dong, Zhuojia Shen, John Criswell, Alan L. Cox, and Sandhya Dwarkadas
    Proceedings of the Twenty Seventh Usenix Security Symposium, Aug. 2018.

  3. "Spectres, Virtual Ghosts, and Hardware Support"
    Xiaowan Dong, Zhuojia Shen, John Criswell, Alan Cox, and Sandhya Dwarkadas
    Proceedings of the Seventh International Workshop on Hardware and Architectural Support for Security and Privacy (HASP), June 2018.

  4. "Mull It Over: Mutation Testing Based on LLVM"
    Alex Denisov, Stanislav Pankevich
    IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW), Apr. 2018.

2017

  1. "Counterexample-Guided Bit-Precision Selection"
    Shaobo He and Zvonimir Rakamaric
    Proceedings of the Fifteenth Asian Symposium on Programming Languages and Systems (APLAS), Nov. 2017.

  2. "Devirtualization in LLVM"
    Piotr Padlewski
    Proceedings Companion of the 2017 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH 2017), Oct. 2017.

  3. "FaCT: A Flexible, Constant-Time Programming Language"
    Sunjay Cauligi, Gary Soeller, Fraser Brown, Brian Johannesmeyer, Yunlu Huang, Ranjit Jhala, and Deian Stefan
    IEEE Cybersecurity Development Conference (SecDev), Sep. 2017.

  4. "Program Analysis of Cryptographic Implementations for Security"
    Sazzadur Rahaman and Danfeng Yao
    IEEE Cybersecurity Development Conference (SecDev), Sep. 2017.

  5. "A Software Solution for Hardware Vulnerabilities"
    Komail Dharsee, Ethan Johnson, and John Criswell
    IEEE Cybersecurity Development Conference (SecDev), Sep. 2017.

  6. "The Design of a Custom 32-bit RISC CPU and LLVM Compiler Backend"
    Connor Goldberg
    Master's Thesis, Rochester Institute of Technology, Aug. 2017.

  7. "Piecewise Holistic Autotuning of Parallel Programs with CERE" search
    Mihail Popov, Chadi Akel, Yohan Chatelain, William Jalby, and Pablo de Oliveira Castro
    Concurrency and Computation: Practice and Experience, June 2017.

  8. "Taming Undefined Behavior in LLVM"
    Juneyoung Lee, Yoonseung Kim, Youngju Song, Chung-Kil Hur, Sanjoy Das, David Majnemer, John Regehr, and Nuno P. Lopes
    Proc. of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), June 2017.

  9. "Flexible and Efficient Memory Object Metadata"
    Zhengyang Liu and John Criswell
    International Symposium on Memory Management (ISMM), June 2017.

  10. "Detecting Privileged Side-Channel Attacks in Shielded Execution with Déjà Vu"
    Sanchuan Chen, Xiaokuan Zhang, Michael K. Reiter, and Yinqian Zhang
    Proceedings of the 2017 ACM Asia Conference on Computer and Communications Security (AsiaCCS), Apr. 2017.

2016

  1. "PRESAGE: Protecting Structured Address Generation against Soft Errors"
    Vishal Chandra Sharma, Ganesh Gopalakrishnan, Sriram Krishnamoorthy
    IEEE International Conference of High-Performance Computing, Data, and Analysis (HiPC), Nov. 2016.

  2. "Piecewise Holistic Autotuning of Compiler and Runtime Parameters"
    Mihail Popov, Chadi Akel, William Jalby, and Pablo de Oliveira Castro
    Twenty-Second International Conference on Parallel and Distributed Computing (Euro-Par), Aug. 2016.

  3. "Verificarlo: checking floating point accuracy through Monte Carlo Arithmetic."
    Christophe Denis, Pablo de Oliveira Castro, and Eric Petit
    23rd IEEE International Symposium on Computer Arithmetic (ARITH), July 2016.

  4. "On-Demand Strong Update Analysis via Value-Flow Refinement"
    Yulei Sui and Jingling Xue
    ACM SIGSOFT International Symposium on the Foundation of Software Engineering (FSE 2016), Nov. 2016.

  5. "Alive-FP: Automated Verification of Floating Point Based Peephole Optimizations in LLVM"
    David Menendez, Santosh Nagarakatte, and Aarti Gupta
    Proceedings of the 23rd Static Analysis Symposium (SAS 2016), Aug. 2016.

  6. "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
    Proceedings of the 2016 IEEE Symposium on Security and Privacy (SP 2016), May 2016.

  7. "Termination-Checking for LLVM Peephole Optimizations"
    David Menendez and Santosh Nagarakatte
    Proceedings of the 38th International Conference on Software Engineering (ICSE 2016), May 2016.
    ACM SIGSOFT Distinguished Paper Award.

  8. "Towards Resiliency Evaluation of Vector Programs"
    Vishal Chandra Sharma, Ganesh Gopalakrishnan, Sriram Krishnamoorthy
    21st IEEE Workshop on Dependable Parallel, Distributed and Network-Centric Systems (DPDNS), May 2016.

  9. "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
    Proceedings of the 30th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2016), May 2016.

  10. "Sparse Flow-Sensitive Pointer Analysis for Multithreaded Programs"
    Yulei Sui, Peng Di, and Jingling Xue
    2016 International Symposium on Code Generation and Optimization (CGO 2016), Mar. 2016.

  11. "SVF: Interprocedural Static Value-Flow Analysis in LLVM"
    Yulei Sui and Jingling Xue
    25th International Conference on Compiler Construction (CC 2016), Mar. 2016.

  12. "Compilation of a Countermeasure Against Instruction-Skip Fault Attacks"
    Thierno Barry, Damien Courousse, Bruno Robisson
    Cryptography and Security in Computing Systems 2016” (CS2), Jan. 2016.

2015

  1. "Flowtables: Program Skeletal Inversion for Defeat of Interprocedural Analysis with Unique Metamorphism"
    Luke Jones, Ryan Whelan, Jeremy Blackthorne, and Graham Baker
    Proceedings of the Fifth Program Protection and Reverse Engineering Workshop (PPREW-5), Dec. 2015.

  2. "Fast and Precise Symbolic Analysis of Concurrency Bugs in Device Drivers"
    Pantazis Deligiannis, Alastair F. Donaldson, and Zvonimir Rakamaric
    Proceedings of the Thirtieth IEEE/ACM International Conference on Automated Software Engineering (ASE 2015), Nov. 2015.

  3. "Compiler-instrumented, Dynamic Secret-Redaction of Legacy Processes for Attacker Deception"
    Frederico Araujo and Kevin W. Hamlen
    Proceedings of the 24th USENIX Security Symposium, Aug. 2015.

  4. "Contech: Efficiently Generating Dynamic Task Graphs for Arbitrary Parallel Programs"
    Brian P. Railing, Eric R. Hein, and Thomas M. Conte
    ACM Transactions on Architecture and Code Optimization, July 2015.

  5. "Provably Correct Peephole Optimizations with Alive"
    Nuno P. Lopes, David Menendez, Santosh Nagarakatte, and John Regehr
    Proc. of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2015), June 2015.
    Received a Distinguished Paper Award.

  6. "LaminarIR: Compile-Time Queues for Structured Streams"
    Yousun Ko, Bernd Burgstaller, Bernhard Scholz
    Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2015), June 2015.

  7. "Concurrency Debugging with Differential Schedule Projections"
    Nuno Machado, Brandon Lucia, and Luís Rodrigues
    Proc. of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2015), June 2015.

  8. "Obfuscator-LLVM - Software Protection for the Masses"
    Pascal Junod, Julien Rinaldini, Johan Wehrli and Julie Michielin
    Proceedings of the First International Workshop on Software Protection (SPRO 2015), May 2015.

  9. "PCERE: Fine-Grained Parallel Benchmark Decomposition for Scalability Prediction"
    Mihail Popov, Chadi Akel, Florent Conti, William Jalby, and Pablo de Oliveira Castro
    IEEE International Parallel and Distributed Processing Symposium (IPDPS), May 2015.

  10. "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
    ACM Transactions on Architecture and Code Optimization (TACO), Apr. 2015.

  11. "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
    Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2015), Mar. 2015.

  12. "MemorySanitizer: fast detector of uninitialized memory use in C++"
    Evgeniy Stepanov and Konstantin Serebryany
    Proceedings of the 2015 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), Feb. 2015.

2014

  1. "I/O Optimisation and elimination via partial evaluation"
    Christopher S.F. Smowton
    Technical Report UCAM-CL-TR-865, University of Cambridge, Dec. 2014.

  2. "Experimental Evaluation of Various Register Pressure Reduction Heuristics"
    Ghassan Shobaki, Laith Sakka, Najm Eldeen Abu-Rmaileh, and Hasan Al-Hamash
    Software: Practice and Experience, Nov. 2014.

  3. "AI: A Lightweight System for Tolerating Concurrency Bugs"
    Mingxing Zhang, Yongwei Wu, Shan Lu, Shanxiang Qi, Jinglei Ren, and Weimin Zheng
    Proceedings of the Twenty Second ACM SIGSOFT International Symposium on Foundations of Software Engineering, Nov. 2014.
    Received an ACM SIGSOFT Distinguished Paper Award.

  4. "HILTI: An Abstract Execution Environment for Deep, Stateful Network Traffic Analysis"
    Robin Sommer, Matthias Vallentin, Lorenzo De Carli, Vern Paxson
    Proceedings of the ACM SIGCOMM Internet Measurement Conference, Nov. 2014.

  5. "Practical Symbolic Checking of GPU Programs"
    Peng Li, Guodong Li, Ganesh Gopalakrishnan
    Supercomputing, Nov. 2014.

  6. "A Formula-Based Approach for Automatic Fault Localization of Imperative Programs"
    Si-Mohamed Lamraoui and Shin Nakajima
    Proceedings of the Sixteenth International Conference on Formal Engineering Methods (ICFEM '14), Nov. 2014.

  7. "Code-Pointer Integrity"
    Volodymyr Kuznetsov, László Szekeres, Mathias Payer, George Candea, R. Sekar, and Dawn Song
    Proceedings of the Eleventh USENIX Symposium on Operating Systems Design and Implementation (OSDI 2014), Oct. 2014.

  8. "Secure Virtual Architecture: Security for Commodity Software Systems"
    John Criswell
    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.

  9. "Grover: Looking for Performance Improvement by Disabling Local Memory Usage in OpenCL Kernels"
    Jianbin Fang, Henk Sips, Pekka Jääskeläinen, Ana Lucia Varbanescu
    Proceedings of the 43rd International Conference on Parallel Processing (ICPP-2014), Sep. 2014.

  10. "ParaShares: Finding the Important Basic Blocks in Multithreaded Programs"
    Melanie Kambadur, Kui Tang, and Martha Kim
    International Conference on Parallel Processing (Euro-Par), Aug. 2014.

  11. "pocl: A Performance-Portable OpenCL Implementation"
    Pekka Jääskeläinen, Carlos Sánchez de La Lama, Erik Schnetter, Kalle Raiskila, Jarmo Takala, Heikki Berg
    International Journal of Parallel Programming (IJPP), Aug. 2014.

  12. "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
    Proceedings of the Seventh International Joint Conference on Automated Reasoning (IJCAR 2014), July 2014.

  13. "SMACK: Decoupling Source Language Details from Verifier Implementations"
    Zvonimir Rakamaric and Michael Emmi
    Proceedings of the Twenty Sixth International Conference on Computer Aided Verification (CAV 2014), July 2014.

  14. "Compiler Driven Automatic Kernel Context Migration for Heterogeneous Computing"
    R. Gad, T. Suss, and A. Brinkmann
    Proceedings of the IEEE Thirty Fourth International Conference on Distributed Computing Systems (ICDCS), June 2014.

  15. "Vector Operation Support for Transport Triggered Architectures"
    Mikko Järvelä
    Master's Thesis, Tampere University of Technology, June 2014.

  16. "LORAIN: A Step Closer to the PDES 'Holy Grail'"
    Justin M. LaPre, Elsa J. Gonsiorowski, and Christopher D. Carothers
    Proceedings of the Second ACM SIGSIM/PADS Conference on Principles of Advanced Discrete Simulation (SIGSIM-PADS 2014), May 2014.

  17. "KCoFI: Complete Control-Flow Integrity for Commodity Operating System Kernels"
    John Criswell, Nathan Dautenhahn, and Vikram Adve
    Proceedings of the Thirty Fifth IEEE Symposium on Security and Privacy (Oakland 2014), May 2014.

  18. "Safe and Automatic Live Update"
    Cristiano Giuffrida
    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.

  19. "Virtual Ghost: Protecting Applications from Hostile Operating Systems"
    John Criswell, Nathan Dautenhahn, and Vikram Adve
    Proceedings of the Nineteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2014), Mar. 2014.

  20. "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
    Proceedings of the Tenth ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE 2014), Mar. 2014.

  21. "WatchdogLite: Hardware-Accelerated Compiler-Based Pointer Checking"
    Santosh Nagarakatte, Milo M.K. Martin and Steve Zdancewic
    Proceedings of the 2014 International Symposium on Code Generation and Optimization (CGO 2014), Feb. 2014.

2013

  1. "Preallocation Instruction Scheduling with Register Pressure Minimization Using a Combinatorial Optimization Approach"
    Ghassan Shobaki, Maxim Shawabkeh, and Najm Abu-Rmaileh
    ACM Transactions on Architecture and Code Optimization (TACO), Sep. 2013.

  2. "LLVMVF: A Generic Approach for Verification of Multicore Software"
    Marcelo Sousa, Alper Sen
    Journal of Electronic Testing: Theory and Applications, Sep. 2013.

  3. "Strato: A Retargetable Framework for Low-level Inlined-reference Monitors"
    Bin Zeng, Gang Tan, and Ulfar Erlingsson
    Proceedings of the Twenty Second Usenix Security Symposium, Aug. 2013.

  4. "Dowsing for Overflows: A Guided Fuzzer to Find Buffer Boundary Violations"
    Istvan Haller, Asia Slowinska, Matthias Neugschwandtner, Herbert Bos
    Proceedings of the Twenty Second Usenix Security Symposium, Aug. 2013.

  5. "FIE on Firmware: Finding Vulnerabilities in Embedded Systems Using Symbolic Execution"
    Drew Davidson, Benjamin Moench, Somesh Jha, and Thomas Ristenpart
    Proceedings of the Twenty Second Usenix Security Symposium, Aug. 2013.

  6. "Formal Verification of SSA Optimizations for LLVM"
    Jianzhou Zhao, Santosh Nagarakatte, Milo M K Martin, and Steve Zdancewic
    Proceedings of the Thirty Fourth ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2013), June 2013.

  7. "Declarative, Temporal, and Practical Programming with Capabilities"
    William R. Harris, Somesh Jha, Thomas Reps, Jonathan Anderson, and Robert N. M. Watson
    Proceedings of the Thirty Fourth IEEE Symposium on Security and Privacy (Oakland 2013), May 2013.

  8. "-Overify: Optimizing Programs for Fast Verification"
    Jonas Wagner, Volodymyr Kuznetsov, and George Candea
    Proceedings of the Fourteenth Workshop on Hot Topics in Operating Systems (HotOS XIV), May 2013.

  9. "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
    Proceedings of the Eighth ACM European Conference on Computer Systems (Eurosys 2013), Apr. 2013.

  10. "Using Likely Invariants for Automated Software Fault Localization"
    Swarup Kumar Sahoo, John Criswell, Chase Geigle, and Vikram Adve
    Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013), Mar. 2013.

  11. "Safe and Automatic Live Update for Operating Systems"
    Cristiano Giuffrida, Anton Kuijsten, and Andrew S. Tanenbaum
    Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013), Mar. 2013.

  12. "Parallelizing Data Race Detection"
    Benjamin Wester, David Devecsery, Peter M. Chen, Jason Flinn, and Satish Narayanasamy
    Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013), Mar. 2013.

  13. "Cooperative Empirical Failure Avoidance for Multithreaded Programs"
    Brandon Lucia and Luis Ceze
    Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013), Mar. 2013.

  14. "ConAir: Featherweight Concurrency Bug Recovery via Single-Threaded Idempotent Execution"
    Wei Zhang, Marc de Kruijf, Ang Li, Shan Lu, and Karthikeyan Sankaralingam
    Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013), Mar. 2013.

  15. "DeAliaser: Alias Speculation using Atomic Region Support"
    Wonsun Ahn, Yuelu Duan, and Josep Torrellas
    Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013), Mar. 2013.

  16. "STABILIZER: Statistically Sound Performance Evaluation"
    Charlie Curtsinger and Emery D. Berger
    Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013), Mar. 2013.

  17. "Verifying Systems Rules Using Rule-Directed Symbolic Execution"
    Heming Cui, Gang Hu, Jingyue Wu, and Junfeng Yang
    Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013), Mar. 2013.

  18. "Practical Automatic Loop Specialization"
    Taewook Oh, Hanjun Kim, Nick P. Johnson, Jae W. Lee, and David I. August
    Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2013), Mar. 2013.

  19. "Architecture-Independent Dynamic Information Flow Tracking"
    Ryan Whelan, Tim Leek, and David Kaeli
    Proceedings of the 22nd International Conference on Compiler Construction (CC '13), Mar. 2013.

  20. "Profile-guided Automated Software Diversity"
    Andrei Homescu, Steven Neisius, Per Larsen, Stefan Brunthaler, and Michael Franz
    Proceedings of the 2013 International Symposium on Code Generation and Optimization (CGO 2013), Feb. 2013.

2012

  1. "Generation of TLM Testbenches Using Mutation Testing"
    Marcelo Sousa and Alper Sen
    IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis, Sep. 2012.

  2. "ErLLVM: An LLVM backend for Erlang"
    K. Sagonas, C. Stavrakakis, and Y. Tsiouris
    ACM SIGPLAN Erlang Workshop, Sep. 2012.

  3. "A Framework for Formal Verification of Concurrent Software"
    Marcelo Sousa
    MSc Thesis, Aug. 2012.

  4. "Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization"
    Cristiano Giuffrida, Anton Kuijsten, and Andrew S. Tanenbaum
    Twenty First Usenix Security Symposium, Aug. 2012.

  5. "Harmony: Collection and Analysis of Parallel Block Vectors"
    Melanie Kambadur, Kui Tang, and Martha Kim
    Proceedings of the International Symposium on Computer Architecture (ISCA '12), June 2012.
    Top Picks in Computer Architecture Selection.

  6. "Safe and Automated State Transfer for Secure and Reliable Live Update"
    Cristiano Giuffrida and Andrew S. Tanenbaum
    Proc. of the Fourth International Workshop on Hot Topics in Software Upgrades (HotSWUp '12), June 2012.

  7. "Sound and Precise Analysis of Parallel Programs through Schedule Specialization"
    Jingyue Wu, Yang Tang, Gang Hu, Heming Cui, and Junfeng Yang
    ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), June 2012.

  8. "AddressSanitizer: A Fast Address Sanity Checker"
    Konstantin Serebryany, Derek Bruening, Alexander Potapenko, Dmitry Vyukov
    Proc. of the 2012 USENIX Annual Technical Conference, June 2012.

  9. "Understanding Integer Overflow in C/C++"
    Will Dietz, Peng Li, John Regehr, Vikram Adve
    Proc. of the 2012 International Conference on Software Engineering (ICSE'12), June 2012.
    Received an ACM SIGSOFT Distinguished Paper Award.

  10. "The Click2NetFPGA toolchain"
    Teemu Rinta-Aho, Mika Karlstedt, and Madhav P. Desai
    Proceedings of the 2012 USENIX Annual Technical Conference, Boston, MA, June 2012.

  11. "A Compiler Back-End for Reconfigurable, Mixed-ISA Processors with Clustered Register Files"
    Stripf, T.; Koenig, R.; Rieder, P.; Becker, J.;
    Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), 2012 IEEE 26th International, May 2012.

  12. "ispc: A SPMD Compiler for High-Performance CPU Programming"
    Matt Pharr and William R. Mark
    Innovative Parallel Computing (InPar), May 2012.

  13. "GKLEE: Concolic Verification and Test Generation for GPUs"
    Guodong Li, Peng Li, Geof Sawaya, Ganesh Gopalakrishnan, Indradeep Ghosh, Sreeranga P. Rajan
    Principles and Practices of Parallel Programming (PPoPP), Feb. 2012.

  14. "Formalizing the LLVM Intermediate Representation for Verified Program Transformations"
    Jianzhou Zhao, Santosh Nagarakatte, Milo M. K. Martin, Steve Zdancewic
    SIGACT Symposium on Principles of Programming Languages (POPL), Jan. 2012.

2011

  1. "Efficient Deterministic Multithreading through Schedule Relaxation"
    Heming Cui, Jingyue Wu, John Gallagher, Huayang Guo, Junfeng Yang
    ACM Symposium on Operating Systems Principles (SOSP), Oct. 2011.

  2. "Combining Control-Flow Integrity and Static Analysis for Efficient and Validated Data Sandboxing"
    Bin Zeng, Gang Tan, Greg Morrisett
    ACM Conference on Computer and Communications Security (CCS), Oct. 2011.

  3. "Debugging the Data Plane with Anteater" search
    Haohui Mai, Ahmed Khurshid, Rachit Agarwal, Matthew Caesar, P. Brighten Godfrey, and Samuel T. King
    Annual Conference of the ACM Special Interest Group on Data Communication (SIGCOMM), Aug. 2011.

  4. "A novel ADL-based compiler-centric software framework for reconfigurable mixed-ISA processors"
    Stripf, T.; Koenig, R.; Becker, J.;
    Embedded Computer Systems (SAMOS), 2011 International Conference, July 2011.

  5. "OpenCL-based Design Methodology for Application-Specific Processors"
    Pekka Jääskeläinen, Carlos S. de La Lama, Pablo Huerta, and Jarmo Takala
    Transactions on HiPEAC, July 2011.

  6. "Enabling Sophisticated Analysis of x86 Binaries with RevGen"
    Vitaly Chipounov and George Candea
    Seventh Workshop on Hot Topics in System Dependability (HotDep), June 2011.

  7. "Evaluating Value-Graph Translation Validation for LLVM"
    Jean-Baptiste Tristan, Paul Govereau, Greg Morrisett
    ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), June 2011.

  8. "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
    ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), June 2011.

  9. "Commutative Set: A Language Extension for Implicit Parallel Programming"
    Prakash Prabhu, Soumyadeep Ghosh, Yun Zhang, Nick P. Johnson, and David I. August
    ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), June 2011.

  10. "On the Theory and Potential of LRU-MRU Collaborative Cache Management" search
    Xiaoming Gu and Chen Ding
    International Symposium on Memory Management (ISMM), June 2011.

  11. "Just-in-time Instruction Set Extension - Feasibility and Limitations for an FPGA-based Reconfigurable ASIP Architecture"
    Mariusz Grad and Christian Plessl
    Reconfigurable Architectures Workshop (RAW 2011), Proceedings of the International Parallel and Distributed Processing Symposium, Anchorage, Alaska, USA., May 2011.

  12. "A Predictable Execution Model for COTS-Based Embedded Systems" search
    Rodolfo Pellizzoni, Emiliano Betti, Stanley Bak, Gang Yao, John Criswell, Marco Caccamo, and Russell Kegley
    Real-Time and Embedded Technology and Applications Symposium (RTAS), Apr. 2011.

  13. "Flow-Sensitive Pointer Analysis for Millions of Lines of Code" search
    Ben Hardekopf and Calvin Lin
    International Symposium on Code Generation and Optimization (CGO), Apr. 2011.

  14. "Whole-Function Vectorization" search
    Ralf Karrenberg
    International Symposium on Code Generation and Optimization (CGO), Apr. 2011.

  15. "S2E: A Platform for In-Vivo Multi-Path Analysis of Software Systems"
    Vitaly Chipounov, Volodymyr Kuznetsov, and George Candea
    Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2011), Mar. 2011.

  16. "A study of irreducibility in C programs"
    James Stanier and Des Watson
    Software: Practice and Experience, Mar. 2011.

  17. "LLVM and Clang: Advancing Compiler Technology"
    Chris Lattner
    Keynote Talk, FOSDEM 2011: Free and Open Source Developers European Meeting, Brussels, Belgium, Feb. 2011.

2010

  1. "Pruning the Design Space for Just-in-time Processor Customization"
    Mariusz Grad and Christian Plessl
    Proceedings of the International Conference on Reconfigurable Computing (ReConFig 2010), Cancun, Mexico, Dec. 2010.

  2. "Implementation of Path Profiling in the Low-Level Virtual-Machine (LLVM) Compiler Infrastructure"
    Adam Preuss
    Technical Report #10-05, University of Alberta, Alberta, Canada, Dec. 2010.

  3. "We Crashed, Now What?"
    Cristiano Giuffrida, Lorenzo Cavallaro, and Andrew S. Tanenbaum
    Proc. of the 6th Workshop on Hot Topics in System Dependability (HotDep '10), Vancouver, BC, Canada, Oct. 2010.

  4. "Stable Deterministic Multithreading through Schedule Memoization"
    Heming Cui and Jingyue Wu and Chia-che Tsai and Junfeng Yang
    Proc. of the Ninth Symposium on Operating Systems Design and Implementation (OSDI '10), Vancouver, BC, Canada, Oct. 2010.

  5. "Bypassing Races in Live Applications with Execution Filters"
    Jingyue Wu, Heming Cui, Junfeng Yang
    Proc. of the Ninth Symposium on Operating Systems Design and Implementation (OSDI '10), Vancouver, BC, Canada, Oct. 2010.

  6. "An LLVM Backend for GHC"
    David A. Terei and Manuel M. T. Chakravarty
    ACM SIGPLAN Haskell Symposium 2010, Baltimore, Maryland, Sep. 2010.

  7. "IntPatch: Automatically Fix Integer-Overflow-to-Buffer-Overflow Vulnerability at Compile-Time"
    Chao Zhang, Tielei Wang, Tao Wei, Yu Chen, and Wei Zou
    Proc. of the 15th European Symposium on Research in Computer Security (ESORICS 2010), Athen, Greece, Sep. 2010.

  8. "Efficient SSI Conversion"
    André Tavares, Fernando Magno Pereira, Mariza Bigonha and Roberto Bigonha
    Brazilian Symposium on Programming Languages 2010, Salvador, Brazil, Sep. 2010.

  9. "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
    13th Euromicro Conference on Digital System Design: Architectures, Methods and Tools, Lille, France, Sep. 2010.

  10. "Towards Software-defined Silicon: Experiences in Compiling Click to NetFPGA"
    James Kempf, Pekka Nikander, Sameer D. Sahasrabuddhe, Teemu Rinta-aho, and Benny Nyman
    1st European NetFPGA Developers Workshop, University of Cambridge, UK, Sep. 2010.

  11. "Lazy Annotation for Program Testing and Verification"
    Kenneth McMillan
    Proceedings of Computer Aided Verification (CAV 2010), Edinburgh, UK, July 2010.

  12. "Relax: An Architectural Framework for Software Recovery of Hardware Faults"
    M. de Kruijf, S. Nomura, and K.Sankaralingam
    ISCA '10: International Symposium on Computer Architecture, June 2010.

  13. "Speculative Parallelization Using State Separation and Multiple Value Prediction"
    Chen Tian, Min Feng, Rajiv Gupta
    Proc. of the 2010 International Symposium on Memory Management, June 2010.

  14. "CETS: Compiler Enforced Temporal Safety for C"
    Santosh Nagarakatte, Jianzhou Zhao, Milo M K Martin and Steve Zdancewic
    Proc. of the 2010 International Symposium on Memory Management, June 2010.

  15. "Clang/LLVM Maturity Report"
    Dominic Fandrey
    Proceedings of the Summer 2010 Research Seminar, June 2010.

  16. "HyperSafe: A Lightweight Approach to Provide Lifetime Hypervisor Control-Flow Integrity"
    Zhi Wang and Xuxian Jiang
    IEEE Symposium on Security & Privacy 2010, May 2010.

  17. "ClangBSD"
    Roman Divacky
    BSDcan 2010, May 2010.

  18. "Quality of Service Profiling"
    Sasa Misailovic, Stelios Sidiroglou, Henry Hoffmann, Martin Rinard
    Proc. of the 2010 IEEE 32st International Conference on Software Engineering (ICSE'10), Cape Town, South Africa, May 2010.

  19. "Evaluation of AMD's Advanced Synchronization Facility within a Complete Transactional Memory Stack"
    Dave Christie, Jae-Woong Chung, et al
    Proc. of the 5th ACM European Conference on Computer Systems (EuroSys'10), Paris, France, Apr. 2010.

  20. "Defeating Return-Oriented Rootkits with "Return-Less" Kernels"
    Jinku Li, Zhi Wang, Xuxian Jiang, Michael Grace, and Sina Bahram
    Proc. of the 5th ACM European Conference on Computer Systems (EuroSys'10), Paris, France, Apr. 2010.

  21. "Reverse Engineering of Binary Device Drivers with RevNIC"
    Vitaly Chipounov and George Candea
    Proc. of the 5th ACM European Conference on Computer Systems (EuroSys'10), Paris, France, Apr. 2010.

  22. "Execution Synthesis: A Technique for Automated Software Debugging"
    Cristian Zamfir and George Candea
    Proc. of the 5th ACM European Conference on Computer Systems (EuroSys'10), Paris, France, Apr. 2010.

  23. "Efficient Profiling in the LLVM Compiler Infrastructure"
    Andreas Neustifter
    Masters Thesis, Vienna University of Technology, Apr. 2010.

  24. "VMKit: a Substrate for Managed Runtime Environments"
    Nicolas Geoffray, Gael Thomas, Julia Lawall, Gilles Muller, and Bertil Folliot
    Proc. of the Virtual Execution Environments Conference (VEE '10), Pittsburgh, PA, Mar. 2010.

  25. "Modeling GPU-CPU Workloads and Systems"
    Andrew Kerr, Gregory Diamos, and Sudhakar Yalamanchili
    Proc. of the 3rd Workshop on General-Purpose Computation on Graphics Processing Units (GPGPU-3), Pittsburgh, PA, Mar. 2010.

  26. "Shoestring: Probabilistic Soft Error Reliability on the Cheap"
    Shuguang Feng, Shantanu Gupta, Amin Ansari, and Scott Mahlke
    Proc. of the Fifteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '10), Pittsburgh, PA, Mar. 2010.

  27. "Orthrus: Efficient Software Integrity Protection on Multi-core"
    Ruirui Huang, Daniel Y. Deng, G. Edward Suh
    Proc. of the Fifteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '10), Pittsburgh, PA, Mar. 2010.

  28. "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
    Proc. of the Fifteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '10), Pittsburgh, PA, Mar. 2010.

  29. "Speculative Parallelization using Software Multi-Threaded Transactions"
    Arun Raman, Hanjun Kim, Thomas R. Mason, Thomas B. Jablin, David I. August
    Proc. of the Fifteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '10), Pittsburgh, PA, Mar. 2010.

  30. "CoreDet: A Compiler and Runtime System for Deterministic Multithreaded Execution"
    Tom Bergan, Owen Anderson, Joseph Devietti, Luis Ceze, and Dan Grossman
    Proc. of the Fifteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '10), Pittsburgh, PA, Mar. 2010.

  31. "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
    Proc. of the 18th Annual ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA'10), Monterey, CA, Feb. 2010.

  32. "Custom Instruction Generation for Configurable Processors with Limited Numbers of Operands"
    Kenshu Seto and Masahiro Fujita
    IPSJ Transactions on System LSI Design Methodology, Feb. 2010.

  33. "Emulator Speed-up Using JIT and LLVM"
    Hans Wennborg
    Master's Thesis, Lund University, Lund, Sweden, Jan. 2010.

2009

  1. "DDT: Design and Evaluation of a Dynamic Program Analysis for Optimizing Data Structure Usage"
    Changhee Jung, Nathan Clark
    Proc. of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-42), New York, NY, Dec. 2009.

  2. "Automatic Restructuring of Linked Data Structures"
    H.L.A. van der Spek, C.W.M. Holm and H.A.G. Wijshof
    Proc. of the 22nd International Workshop on Languages and Compilers for Parallel Computing (LCPC'09), Newark, DE, Oct. 2009.

  3. "Low Level Virtual Machine for Glasgow Haskell Compiler"
    David Terei
    Bachelor's Thesis, Computer Science and Engineering Dept., The University of New South Wales, Sydney, Australia, Oct. 2009.

  4. "Progressive spill code placement"
    Dietmar Ebner, Bernhard Scholz, and Andreas Krall
    Proc. of the 2009 international conference on Compilers, architecture, and synthesis for embedded systems (CASES'09), Grenoble, France, Oct. 2009.

  5. "TotalProf: a fast and accurate retargetable source code profiler"
    Lei Gao, Jia Huang, Jianjiang Ceng, Rainer Leupers, Gerd Ascheid, and Heinrich Meyr
    Proc. of the 7th IEEE/ACM international conference on Hardware/software codesign and system synthesis (CODES+ISSS'09), Grenoble, France, Oct. 2009.

  6. "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
    Proc. of the 7th IEEE/ACM international conference on Hardware/software codesign and system synthesis (CODES+ISSS'09), Grenoble, France, Oct. 2009.

  7. "AN-Encoding Compiler: Building Safety-Critical Systems with Commodity Hardware" search
    Christof Fetzer, Ute Schiffel, and Martin SuBkraut
    28th International Conference, SAFECOMP 2009, Hamburg, Germany, Sep. 2009.

  8. "Performance Modelling for Avionics Systems" search
    Visar Januzaj, Ralf Mauersberger and Florian Biechele
    Computer Aided Systems Theory (EUROCAST 2009), , Sep. 2009.

  9. "Automatic Generation of Cycle-Approximate TLMs with Timed RTOS Model Support" search
    Yonghyun Hwang, Gunar Schirner, and Samar Abdi
    Analysis, Architectures and Modelling of Embedded Systems 2009 (IESS 2009), Langenargen, Germany, Sep. 2009.

  10. "An Early Real-Time Checker for Retargetable Compile-Time Analysis"
    Emilio Wuerges, Luiz C. V. dos Santos, Olinto Furtado, and Sandro Rigo
    Proc. of the 22nd Annual Symposium on Integrated Circuits and System Design (SBCCI'09), Natal, Brazil, Sep. 2009.

  11. "Assigning Blame: Mapping Performance to High Level Parallel Programming Abstractions"
    Nick Rutar and Jeffrey K. Hollingsworth
    EuroPar'09, Delft, Aug. 2009.

  12. "API hyperlinking via structural overlap"
    Fan Long, Xi Wang, and Yang Cai
    Proc. of the ACM symposium on The foundations of software engineering symposium (FSE'09), Amsterdam, The Netherlands, Aug. 2009.

  13. "Increasing the scope and resolution of Interprocedural Static Single Assignment"
    Silvian Calman and Jianwen Zhu
    Proc. of the 16th International Static Analysis Symposium (SAS 2009), Los Angeles, CA, Aug. 2009.

  14. "Memory Safety for Low-Level Software/Hardware Interactions"
    John Criswell, Nicolas Geoffray, and Vikram Adve
    Proc. of the Eighteenth Usenix Security Symposium, Montreal, Canada, Aug. 2009.

  15. "Zoltar: a spectrum-based fault localization tool"
    Tom Janssen, Rui Abreu, and Arjan J.C. van Gemund
    Proc. of the 2009 ESEC/FSE workshop on Software integration and evolution @ runtime, Amsterdam, The Netherlands, Aug. 2009.

  16. "Behavior-Level Observability Don't-Cares and Application to Low-Power Behavioral Synthesis"
    Jason Cong, Bin Liu, Zhiru Zhang
    Proc. of the 14th ACM/IEEE international symposium on Low power electronics and design (ISLPED'09), San Francisco, CA, Aug. 2009.

  17. "An Internal Representation for Adaptive Online Parallelization"
    Koy D. Rehme
    M.S. Thesis, Brigham Young University, USA, Aug. 2009.

  18. "Woolcano: An Architecture and Tool Flow for Dynamic Instruction Set Extension on Xilinx Virtex-4 FX"
    Mariusz Grad and Christian Plessl
    Proceedings of the International Conference on Engineering of Reconfigurable Systems and Algorithms (ERSA 2009), Las Vegas, Nevada, USA, July 2009.

  19. "BegBunch: benchmarking for C bug detection tools"
    Cristina Cifuentes, Christian Hoermann, Nathan Keynes, Lian Li, Simon Long, Erica Mealy, Michael Mounteney, and Bernhard Scholz
    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.

  20. "Verifying the Implementation of an Operating System Scheduler" search
    Moritz Kleine, Bjorn Bartels, Thomas Gothel, and Sabine Glesner
    IEEE International Symposium on Theoretical Aspects of Software Engineering, Tianjin, China, July 2009.

  21. "Programmable and Scalable Architecture for Graphics Processing Units" search
    Carlos S. Lama, Pekka Jaaskelainen, Jarmo Takala
    Proc. of the 9th International Workshop on Embedded Computer Systems: Architectures, Modeling, and Simulation, Samos, Greece, July 2009.

  22. "Automatic Packetization"
    Ralf Karrenberg
    Master's Thesis, Universität des Saarlandes, Saarbrücken, Germany, July 2009.

  23. "Toward Automatic Data Structure Replacement for Effective Parallelization"
    Changhee Jung and Nathan Clark
    Proc. Workshop on Parallel Execution of Sequential Programs on Multicore Architectures (PESPMA'09), , June 2009.

  24. "Natively Probabilistic Computation"
    Vikash Kumar Mansinghka
    Ph.D. Thesis, Massachusetts Institute of Technology, USA, June 2009.

  25. "Parallelizing sequential applications on commodity hardware using a low-cost software transactional memory"
    Mojtaba Mehrara, Jeff Hao, Po-Chun Hsu, and Scott Mahlke
    Proc. ACM SIGPLAN 2009 Conference on Programming Language Design and Implementation (PLDI'09), Dublin, Ireland, June 2009.

  26. "Automatic generation of library bindings using static analysis"
    Tristan Ravitch, Steve Jackson, Eric Aderhold, and Ben Liblit
    Proc. ACM SIGPLAN 2009 Conference on Programming Language Design and Implementation (PLDI'09), Dublin, Ireland, June 2009.

  27. "SoftBound: Highly Compatible and Complete Spatial Memory Safety for C"
    Santosh Nagarakatte, Jianzhou Zhao, Milo M K Martin and Steve Zdancewic
    Proc. ACM SIGPLAN 2009 Conference on Programming Language Design and Implementation (PLDI'09), Dublin, Ireland, June 2009.

  28. "A Translation System for Enabling Data Mining Applications on GPUs"
    Wenjing Ma and Gagan Agrawal
    Proc. 23rd International Conference on Supercomputing (ISC'09), Yorktown Heights, NY, June 2009.

  29. "Selective Symbolic Execution"
    Vitaly Chipounov, Vlad Georgescu, Cristian Zamfir, and George Candea
    Proc. Fifth Workshop on Hot Topics in System Dependability (HotDep'09), Lisbon, Portugal, June 2009.

  30. "Interprocedural bounds checker for C programs using symbolic constraints and slicing"
    Edvin Török
    Undergraduate Thesis, 'Politehnica' University of Timisoara, Timisoara, Romania, June 2009.

  31. "Speculative Parallelization of Sequential Loops on Multicores"
    Chen Tian, Min Feng, Vijay Nagarajan and Rajiv Gupta
    International Journal of Parallel Programming, , June 2009.

  32. "COMPASS: A Community-driven Parallelization Advisor for Sequential Software"
    Simha Sethumadhavan, Nipun Arora, Ravindra Babu Ganapathi, John Demme, and Gail E. Kaiser
    Proc. of the 2009 ICSE Workshop on Multicore Software Engineering (IWMSE '09), Washington, DC, USA, May 2009.

  33. "3c: A JIT Compiler with LLVM"
    Edd Barrett
    Final Year Project, Bournemouth University, United Kingdom, May 2009.

  34. "Ensuring Correctness of Compiled Code"
    Ganna Zaks
    Ph.D. Thesis, Computer Science Dept., New York University, New York, NY, May 2009.

  35. "Woolcano: An Architecture and Tool Flow for Dynamic Instruction Set Extension on Xilinx Virtex-4 FX"
    Mariusz Grad and Christian Plessl
    Proceedings of IEEE Symposium on Field-Programmable Custom Machines (FCCM 2009), Napa, CA, USA, Apr. 2009.

  36. "MEMMU: Memory expansion for MMU-less embedded systems"
    Lan S. Bai, Lei Yang, and Robert P. Dick
    Proc. of the ACM Transactions on Embedded Computing Systems (TECS), New York, NY, USA, Apr. 2009.

  37. "Precise simulation of interrupts using a rollback mechanism"
    Florian Brandner
    Proc. of the 12th International Workshop on Software and Compilers for Embedded Systems (SCOPES'09), Nice, France, Apr. 2009.

  38. "Register allocation deconstructed"
    David Ryan Koes and Seth Copen Goldstein
    Proc. of the 12th International Workshop on Software and Compilers for Embedded Systems (SCOPES'09), Nice, France, Apr. 2009.

  39. "Scheduling Techniques for Multi-Core Architectures" search
    Akira Hatanaka and Nader Bagherzadeh
    2009 Sixth International Conference on Information Technology: New Generations, Apr. 2009.

  40. "ESoftCheck: Removal of Non-vital Checks for Fault Tolerance"
    Jing Yu, Maria Jesus Garzaran, Marc Snir
    Proc. of the Seventh International Symposium on Code Generation and Optimization (CGO '09), Mar. 2009.

  41. "DMP: deterministic shared memory multiprocessing"
    Joseph Devietti, Brandon Lucia, Luis Ceze, and Mark Oskin
    Proc. of the Fourteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '09), Mar. 2009.

  42. "Recovery Domains: An Organizing Principle for Recoverable Operating Systems"
    Andrew Lenharth, Samuel T. King, Vikram Adve
    Proc. of the Fourteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '09), Mar. 2009.

  43. "A Case for Compiler-driven Superpage Allocation"
    Joshua Magee and Apan Qasem
    Proc. of the 47th ACM Southeast Regional Conference (ACMSE09), Mar. 2009.

  44. "SORU: A Reconfigurable Vector Unit for Adaptable Embedded Systems" search
    José M. Moya, Javier Rodríuez, et al
    Proc. of the 5th International Workshop on Reconfigurable Computing: Architectures, Tools and Applications, Mar. 2009.

  45. "Compiling Techniques for Coarse Grained Runtime Reconfigurable Architecture" search
    Mythri Alle, Keshavan Varadarajan, Alexander Fell, S. K. Nandy and Ranjani Narayan
    Proc. of the 5th International Workshop on Reconfigurable Computing: Architectures, Tools and Applications, Mar. 2009.

  46. "Mapping parallelism to multi-cores: a machine learning based approach"
    Zheng Wang and Michael F.P. O'Boyle
    Proc. of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming (PPoPP'09), Feb. 2009.

  47. "Semi-sparse flow-sensitive pointer analysis"
    Ben Hardekopf and Calvin Lin
    Proc. of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages (POPL'09), Savannah, GA, USA, Jan. 2009.

  48. "A Scalable Memory Model for Low-Level Code"
    Zvonimir Rakamaric and Alan J. Hu
    Proc. of the 10th International Conference on Verification, Model Checking and Abstract Interpretation (VMCAI 2009), Savannah, GA, USA, Jan. 2009.

  49. "Program Analysis for Bug Detection using Parfait"
    Cristina Cifuentes, Nathan Keynes, Lian Li, and Bernhard Scholz
    Proc. of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation (PEPM'09), Savannah, GA, USA, Jan. 2009.

  50. "Automatic Instrumentation of Embedded Software for High Level Hardware/Software Co-Simulation"
    Aimen Bouchhima, Patrice Gerin, Frederic Petrot
    Proc. of the 14th Asia South Pacific Design Automation Conference (ASP-DAC'09), Yokohama, Japan, Jan. 2009.

  51. "Memory subsystem simulation in software TLM/T models"
    Eric Cheung, Harry Hsieh, and Felice Balarin
    Proc. of the 14th Asia South Pacific Design Automation Conference (ASP-DAC'09), Yokohama, Japan, Jan. 2009.

  52. "Automated Derivation of Application-Aware Error and Attack Detectors"
    Karthik Pattabiraman
    Ph.D. Thesis, University of Illinois at Urbana-Champaign, Jan. 2009.

2008

  1. "KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs"
    Cristian Cadar, Daniel Dunbar, Dawson Engler
    Proc. 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2008), Dec. 2008.

  2. "Copy Or Discard Execution Model For Speculative Parallelization On Multicores "
    Chen Tian, Min Feng, V. Nagarajan, R. Gupta
    MICRO-41: 41st International Symposium on Microarchitecture, Lake Como, Italy, Nov. 2008.

  3. "MC-Sim: an efficient simulation tool for MPSoC designs"
    Jason Cong, Karthik Gururaj, Guoling Han, Adam Kaplan, Mishali Naik, and Glenn Reinman
    Proc. of the 2008 IEEE/ACM International Conference on Computer-Aided Design (ICCAD'08), San Jose, CA, Nov. 2008.

  4. "Program analysis for compiler validation"
    Anna Zaks and Amir Pnueli
    Proc. of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering (PASTE'08), Atlanta, Georgia, Nov. 2008.

  5. "Introduction to the LLVM Compiler System"
    Chris Lattner
    Plenary Talk, ACAT 2008: Advanced Computing and Analysis Techniques in Physics Research, Erice, Sicily, Italy, Nov. 2008.

  6. "Volatiles Are Miscompiled, and What to Do about It"
    Eric Eide, John Regehr
    Proc. EMSOFT International Conference on Embedded Software (EMSOFT 2008), Oct. 2008.

  7. "Execution Context Optimization for Disk Energy"
    Jerry Hom and Ulrich Kremer
    Proc. of the 2008 international conference on Compilers, architectures and synthesis for embedded systems (CASES'08), Oct. 2008.

  8. "Automatic Inference of Frame Axioms Using Static Analysis"
    Zvonimir Rakamaric and Alan J. Hu
    23rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2008), L'Aquila, Italy, Sep. 2008.

  9. "A Lazy Developer Approach: Building a JVM with Third Party Software"
    Nicolas Geoffray, Gael Thomas, Charles Clement and Bertil Folliot
    Proc. International Conference on Principles and Practice of Programming In Java (PPPJ 2008), Sep. 2008.

  10. "An Efficient ActionScript 3.0 Just-In-Time Compiler Implementation"
    Alessandro Pignotti
    Bachelor Thesis, Universita degli Studi di Pisa, Sep. 2008.

  11. "Run-Time Code Generation for Materials"
    Stephan Reiter
    IEEE Symposium on Interactive Ray Tracing (RT'08), Aug. 2008.

  12. "Verifying Multi-threaded C Programs with SPIN"
    Anna Zaks and Rajeev Joshi
    Proc. International SPIN Workshop on Model Checking of Software (SPIN 2008), Aug. 2008.

  13. "LLVM-CHiMPS: Compilation Environment for FPGAs Using LLVM Compiler Infrastructure and CHiMPS Computational Model"
    Seung J. Lee, David K. Raila, and Volodymyr V. Kindratenko
    Reconfigurable Systems Summer Institute 2008 (RSSI'08), July 2008.

  14. "Real-Time Ray Tracing of Dynamic Scenes"
    Stephan Reiter
    Diploma Thesis, Institute for Graphics and Parallel Processing, Johannes Kepler University, Linz, Austria, June 2008.

  15. "Compiling Haskell to LLVM"
    John van Schie
    Thesis Defense, Utrecht University, Netherlands, June 2008.

  16. "Generalized Instruction Selection using SSA-Graphs"
    Dietmar Ebner, Florian Brandner, Bernhard Scholz, Andreas Krall, Peter Wiedermann and Albrecht Kadlec
    Proc. Languages Compilers and Tools for Embedded Systems 2008 (LCTES'08), June 2008.

  17. "Automatic Data Partitioning in Software Transactional Memories"
    Torvald Riegel, Christof Fetzer, and Pascal Felber
    Proc. 20th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA'08), June 2008.

  18. "Register Allocation by Puzzle Solving"
    Fernando Magno Quintao Pereira and Jens Palsberg
    Proc. ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation (PLDI'08), June 2008.

  19. "Parfait - Designing a Scalable Bug Checker"
    Cristina Cifuentes and Bernhard Scholz
    Proc. of the 2008 workshop on Static analysis (SAW'08), June 2008.

  20. "A characterization of instruction-level error derating and its implications for error detection"
    Jeffrey J. Cook and Craig Zilles
    IEEE International Conference on Dependable Systems and Networks With FTCS and DCC (DSN'08), June 2008.

  21. "CoVaC: Compiler Validation by Program Analysis of the Cross-Product"
    Anna Zaks and Amir Pnueli
    Proc. International Symposium on Formal Methods (FM 2008), May 2008.

  22. "LLVM and Clang: Next Generation Compiler Technology"
    Chris Lattner
    BSDCan 2008: The BSD Conference, Ottawa, Canada, May 2008.

  23. "Calysto: Scalable and Precise Extended Static Checking"
    Domagoj Babic and Alan J. Hu
    Proc. of the 30th international conference on Software engineering (ICSE'08), May 2008.

  24. "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
    Proc. of the 13th international conference on Architectural support for programming languages and operating systems (ASPLOS'08), Mar. 2008.

  25. "Cycle-approximate Retargetable Performance Estimation at the Transaction Level"
    Y. Hwang, S. Abdi, and D. Gajski
    Proc. of Design Automation and Test in Europe (DATE'08), Munich, Germany, Mar. 2008.

  26. "User-Input Dependence Analysis via Graph Reachability"
    Bernard Scholz, Chenyi Zhang, and Cristina Cifuentes
    Technical Report #TR-2008-171, Sun Microsystems, Mar. 2008.

  27. "Automatic Software Fault Localization using Generic Program Invariants"
    Rui Abreu, Alberto Gonzalez, Peter Zoeteweij, and Arjan J.C. van Gemund
    Proc. of the 2008 ACM symposium on Applied computing (SAC'08), Mar. 2008.

  28. "Impeding Malware Analysis Using Conditional Code Obfuscation"
    Monirul Sharif, Andrea Lanzi, Jonathon Giffin and Wenke Lee
    Network and Distributed System Security Symposium (NDSS'08), San Diego, CA, Feb. 2008.

  29. "Making Object-Based STM Practical in Unmanaged Environments"
    Torvald Riegel and Diogo Becker de Brum
    ACM SIGPLAN Workshop on Transactional Computing (TRANSACT 2008), Salt Lake City, Utah, 2008.

  30. "Near-Optimal Instruction Selection on DAGs"
    David Ryan Koes and Seth Copen Goldstein
    Proc. of the 2008 International Symposium on Code Generation and Optimization (CGO'08), Boston, MA, 2008.

2007

  1. "Secure Virtual Architecture: A Safe Execution Environment for Commodity Operating Systems"
    John Criswell, Andrew Lenharth, Dinakar Dhurjati, and Vikram Adve
    Proc. of the Twenty First ACM Symposium on Operating Systems Principles (SOSP '07), Stevenson, WA, Oct. 2007.
    Received an SOSP 2007 Audience Choice Award.

  2. "Retargetable Compiler Backend for Transport Triggered Architectures"
    Veli-Pekka Jaaskelainen
    Masters Thesis, Tampere University of Technology, Oct. 2007.

  3. "RPython: a Step Towards Reconciling Dynamically and Statically Typed OO Languages"
    Davide Ancona, Massimo Ancona, Antonio Cuni, and Nicholas D. Matsakis
    Proc. of the 2007 symposium on Dynamic languages (DLS'07), Oct. 2007.

  4. "A Profile-Driven Statistical Analysis Framework for the Design Optimization of Soft Real-Time Applications"
    Tushar Kumar, Jaswanth Sreeram, Romain Cledat, and Santosh Pande
    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.

  5. "Transactifying Applications Using an Open Compiler Framework"
    Pascal Felber, Christof Fetzer, Ulrich Mueller, Torvald Riegel, Martin Suesskraut, and Heiko Sturzrehm
    TRANSACT 2007, Aug. 2007.

  6. "LLVM 2.0 and Beyond!"
    Chris Lattner
    Google Tech Talk, Mountain View, CA, July 2007.

  7. "Structural Abstraction of Software Verification Conditions"
    Domagoj Babic and Alan J. Hu
    Proc. of the 19th Int. Conf. on Computer Aided Verification (CAV'07), Berlin, Germany, July 2007.

  8. "Compiled low-level virtual instruction set simulation and profiling for code partitioning and ASIP-synthesis in hardware/software co-design"
    Carsten Gremzow
    Proc. of the 2007 summer computer simulation conference (SCSC'07), July 2007.

  9. "Making Context-Sensitive Points-to Analysis with Heap Cloning Practical For The Real World"
    Chris Lattner, Andrew Lenharth, and Vikram Adve
    Proc. of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'07), San Diego, CA, June 2007.

  10. "Improving Switch Lowering for The LLVM Compiler System"
    Anton Korobeynikov
    Proc. of the 2007 Spring Young Researchers Colloquium on Software Engineering (SYRCoSE'2007), Moscow, Russia, May 2007.

  11. "Optimal chain rule placement for instruction selection based on SSA graphs"
    Stefan Schafer and Bernhard Scholz
    Proc. of the 10th international workshop on Software & compilers for embedded systems (SCOPES'07), Apr. 2007.

  12. "A Change Framework based on the Low Level Virtual Machine Compiler Infrastructure"
    Jakob Praher
    Masters Thesis, Institute for System Software Johannes Kepler University Linz, Apr. 2007.

  13. "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
    Proc. of the 5th Software-Engineering Properties of Languages and Aspect Technologies Workshop (SPLAT), AOSD 2007, Vancouver, Canada, Mar. 2007.

  14. "The LLVM Compiler System"
    Chris Lattner
    2007 Bossa Conference on Open Source, Mobile Internet and Multimedia, Recife, Brazil, Mar. 2007.

  15. "Trident: From High-Level Language to Hardware Circuitry"
    Justin L. Tripp, Maya B. Gokhale, and Kristopher D. Peterson
    IEEE Computer, Mar. 2007.

  16. "Toward Application-Aware Security and Reliability"
    Ravishankar K. Iyer, Zbigniew Kalbarczyk, Karthik Pattabiraman, William Healey, Wen-Mei W. Hwu, Peter Klemperer, and Reza Farivar
    IEEE Security and Privacy, Jan. 2007.

2006

  1. "Scaling Task Graphs for Network Processors"
    Martin Labrecque and J. Gregory Steffan
    IFIP International Conference on Network and Parallel Computing, Tokyo, Japan, Oct. 2006.

  2. "Automated Compile-Time and Run-Time Techniques to Increase Usable Memory in MMU-Less Embedded Systems"
    L. Bai, L. Yang, and R. P. Dick
    Proc. Int. Conf. Compilers, Architecture & Synthesis for Embedded Systems, pp. 125-135, Oct. 2006.

  3. "PyPy's approach to virtual machine construction"
    Armin Rigo and Samuele Pedroni
    Dynamic Languages Symposium (DLS'06), Oct. 2006.

  4. "Platform-Based Behavior-Level and System-Level Synthesis"
    J. Cong, Y. Fan, G. Han, W. Jiang, and Z. Zhang
    Proc. of IEEE International SOC Conference, pp. 199-202, Austin, Texas, Sep. 2006.

  5. "Efficiently Detecting All Dangling Pointer Uses in Production Servers"
    Dinakar Dhurjati and Vikram Adve
    Proc. of the International Conference on Dependable Systems and Networks (DSN '06), Philadelphia, Pennsylvania, 2006.

  6. "A Virtual Instruction Set Interface for Operating System Kernels"
    John Criswell, Brent Monroe, and Vikram Adve
    Workshop on the Interaction between Operating Systems and Computer Architecture (WIOSCA '06), Boston, Massachusetts, June 2006.

  7. "SAFECode: Enforcing Alias Analysis for Weakly Typed Languages"
    Dinakar Dhurjati, Sumant, Kowshik, and Vikram Adve
    Proc. of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '06), Ottawa, Canada, June 2006.

  8. "Backwards-Compatible Array Bounds Checking for C with Very Low Overhead"
    Dinakar Dhurjati and Vikram Adve
    Proc. of the 28th International Conference on Software Engineering (ICSE '06), Shanghai, China, May 2006.

  9. "Vector LLVA: A Virtual Vector Instruction Set for Media Processing"
    Robert L. Bocchino Jr. and Vikram S. Adve
    Proc. of the Second International Conference on Virtual Execution Environments (VEE'06), Ottawa, Canada, June 2006.

  10. "Checker: a Static Program Checker"
    Nicholas Lewycky
    B.Sc. Thesis, Computer Science Dept., Ryerson University, June 2006.

  11. "Introduction to the LLVM Compiler Infrastructure"
    Chris Lattner
    2006 Itanium Conference and Expo, San Jose, California, Apr. 2006.

  12. "Tailoring Graph-coloring Register Allocation For Runtime Compilation"
    Keith D. Cooper and Anshuman Dasgupta
    Proc. of the 2006 International Symposium on Code Generation and Optimization (CGO'06), New York, New York, Mar. 2006.

  13. "Towards a Compilation Infrastructure for Network Processors"
    Martin Labrecque
    Masters Thesis, Department of Electrical and Computer Engineering, University of Toronto, Jan. 2006.

2005

  1. "How Successful is Data Structure Analysis in Isolating and Analyzing Linked Data Structures?"
    Patrick Meredith, Balpreet Pankaj, Swarup Sahoo, Chris Lattner and Vikram Adve
    Technical Report #UIUCDCS-R-2005-2658, Computer Science Dept., Univ. of Illinois, Dec. 2005.

  2. "Enforcing Alias Analysis for Weakly Typed Languages"
    Dinakar Dhurjati, Sumant Kowshik, and Vikram Adve
    Technical Report #UIUCDCS-R-2005-2657, Computer Science Dept., Univ. of Illinois, Nov. 2005.

  3. "Revisiting Graph Coloring Register Allocation: A Study of the Chaitin-Briggs and Callahan-Koblenz Algorithms"
    By Keith Cooper, Anshuman Dasgupta, and Jason Eckhardt
    Proc. of the Workshop on Languages and Compilers for Parallel Computing (LCPC'05), Hawthorne, NY, Oct. 2005.

  4. "Segment Protection for Embedded Systems Using Run-time Checks"
    By Matthew Simpson, Bhuvan Middha and Rajeev Barua
    Proc. of the ACM International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES'05), San Francisco, CA, Sep. 2005.

  5. "A Concept Analysis Inspired Greedy Algorithm for Test Suite Minimization"
    By Sriraman Tallam and Neelam Gupta
    ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 2005), Lisbon, Portugal, Sep. 2005.

  6. "Deciding Where to Call Performance Libraries"
    By C. Alias and D. Barthou
    Proc. of the International IEEE Euro-Par Conference, Aug. 2005.

  7. "Practical Techniques for Performance Estimation of Processors"
    Abhijit Ray, Thambipillai Srikanthan and Wu Jigang
    Proc. of the 9th International Database Engineering & Application Symposium (IDEAS'05), July 2005.

  8. "Profile-directed If-Conversion in Superscalar Microprocessors"
    Eric Zimmerman
    Masters Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, July 2005.

  9. "An Implementation of Swing Modulo Scheduling with Extensions for Superblocks"
    Tanya M. Lattner
    M.S. Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, June 2005.

  10. "Macroscopic Data Structure Analysis and Optimization"
    Chris Lattner
    Ph.D. Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, May 2005.

  11. "Automatic Pool Allocation: Improving Performance by Controlling Data Structure Layout in the Heap"
    Chris Lattner and Vikram Adve
    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.

  12. "Transparent Pointer Compression for Linked Data Structures"
    Chris Lattner and Vikram Adve
    Proc. of the ACM Workshop on Memory System Performance (MSP'05), Chicago, Illinois, June 2005.

  13. "Using a Low-Level Virtual Machine to Improve Dynamic Aspect Support in Operating System Kernels"
    By Michael Engel and Bernd Freisleben
    Proc. of the 4th AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS'05), Chicago, Mar. 2005.

  14. "Memory Safety Without Garbage Collection for Embedded Applications"
    Dinakar Dhurjati, Sumant Kowshik, Vikram Adve and Chris Lattner
    ACM Transactions in Embedded Computing Systems (TECS), Feb. 2005.

2004

  1. "The LLVM Compiler Framework and Infrastructure Tutorial"
    Chris Lattner and Vikram Adve
    LCPC'04 Mini Workshop on Compiler Research Infrastructures, West Lafayette, Indiana, Sep. 2004.

  2. "RubyComp - A Ruby-to-LLVM Compiler Prototype"
    Anders Alexandersson
    Masters Thesis, Division of Computer Science at the Department of Informatics and Mathematics, University of Trollhättan/Uddevalla, Sweden, 2004.

  3. "A Task Optimization Framework for MSSP"
    Rahul Ulhas Joshi
    Masters Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, May 2004.

  4. "Coordinating Adaptations in Distributed Systems"
    Brian Ensink and Vikram Adve
    Proc. of the 24th International Conference on Distributed Computing Systems (ICDCS 2004), Tokyo, Japan, Mar. 2004.

  5. "LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation"
    Chris Lattner and Vikram Adve
    Proc. of the 2004 International Symposium on Code Generation and Optimization (CGO'04), Palo Alto, California, Mar. 2004.

2003

  1. "LLVA: A Low-level Virtual Instruction Set Architecture"
    Vikram Adve, Chris Lattner, Michael Brukman, Anand Shukla, and Brian Gaeke
    Proc. of the 36th annual ACM/IEEE International Symposium on Microarchitecture (MICRO-36), San Diego, CA, Dec. 2003.

  2. "Language Extensions for Performance-Oriented Programming"
    Joel Stanley
    Masters Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, July 2003.

  3. "Lightweight, Cross-Procedure Tracing for Runtime Optimization"
    Anand Shukla
    Masters Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, July 2003.

  4. "Memory Safety Without Runtime Checks or Garbage Collection"
    Dinakar Dhurjati, Sumant Kowshik, Vikram Adve and Chris Lattner
    Proc. of Languages Compilers and Tools for Embedded Systems 2003 (LCTES 03), San Diego, CA, June 2003.

  5. "Architecture For a Next-Generation GCC"
    Chris Lattner & Vikram Adve
    First Annual GCC Developers' Summit, Ottawa, Canada, May 2003.

  6. "Data Structure Analysis: An Efficient Context-Sensitive Heap Analysis"
    Chris Lattner & Vikram Adve
    Technical Report #UIUCDCS-R-2003-2340, Computer Science Dept., Univ. of Illinois, Apr. 2003.

2002

  1. "LLVM: An Infrastructure for Multi-Stage Optimization"
    Chris Lattner
    Masters Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, Dec. 2002.

  2. "Ensuring Code Safety Without Runtime Checks for Real-Time Control Systems"
    Sumant Kowshik, Dinakar Dhurjati, and Vikram Adve
    Proc. Int'l Conf. on Compilers, Architecture and Synthesis for Embedded Systems (CASES02), Grenoble, France, Oct. 2002.

  3. "Automatic Pool Allocation for Disjoint Data Structures"
    Chris Lattner & Vikram Adve
    ACM SIGPLAN Workshop on Memory System Performance (MSP), Berlin, Germany, June 2002.