Laurie J. Hendren

Orcid: 0000-0001-6755-9632

Affiliations:
  • McGill University, Montreal, Canada


According to our database1, Laurie J. Hendren authored at least 140 papers between 1986 and 2023.

Collaborative distances:
  • Dijkstra number2 of four.
  • Erdős number3 of four.

Awards

ACM Fellow

ACM Fellow 2009, "For contributions to program analysis of procedural, object-oriented and aspect-oriented programming languages.".

Timeline

Legend:

Book 
In proceedings 
Article 
PhD thesis 
Dataset
Other 

Links

Online presence:

On csauthors.net:

Bibliography

2023
rNdN: Fast Query Compilation for NVIDIA GPUs.
ACM Trans. Archit. Code Optim., September, 2023

2021
A Hybrid Synchronization Mechanism for Parallel Sparse Triangular Solve.
Proceedings of the Languages and Compilers for Parallel Computing, 2021

HorsePower: Accelerating Database Queries for Advanced Data Analytics.
Proceedings of the 24th International Conference on Extending Database Technology, 2021

r3d3: Optimized Query Compilation on GPUs.
Proceedings of the IEEE/ACM International Symposium on Code Generation and Optimization, 2021

2020
A Fully Structure-Driven Performance Analysis of Sparse Matrix-Vector Multiplication.
Proceedings of the ICPE '20: ACM/SPEC International Conference on Performance Engineering, 2020

Improving database query performance with automatic fusion.
Proceedings of the CC '20: 29th International Conference on Compiler Construction, 2020

2019
Genet: A Quickly Scalable Fat-Tree Overlay for Personal Volunteer Computing using WebRTC.
Proceedings of the 13th IEEE International Conference on Self-Adaptive and Self-Organizing Systems, 2019

Pando: Personal Volunteer Computing in Browsers.
Proceedings of the 20th International Middleware Conference, 2019

Personal volunteer computing.
Proceedings of the 16th ACM International Conference on Computing Frontiers, 2019

2018
Pando: a Volunteer Computing Platform for the Web.
CoRR, 2018

A Formalization for Specifying and Implementing Correct Pull-Stream Modules.
CoRR, 2018

Sparse matrices on the web: characterizing the performance and optimal format selection of sparse matrix-vector multiplication in javascript and webassembly.
Proceedings of the 15th International Conference on Managed Languages & Runtimes, 2018

Numerical computing on the web: benchmarking for the future.
Proceedings of the 14th ACM SIGPLAN International Symposium on Dynamic Languages, 2018

HorseIR: bringing array programming languages together with database query processing.
Proceedings of the 14th ACM SIGPLAN International Symposium on Dynamic Languages, 2018

2017
Pando: A Volunteer Computing Platform for the Web.
Proceedings of the 2nd IEEE International Workshops on Foundations and Applications of Self* Systems, 2017

Xor-Overlay Topology Management beyond Kademlia.
Proceedings of the 11th IEEE International Conference on Self-Adaptive and Self-Organizing Systems, 2017

An ELI-to-C compiler: design, implementation, and performance.
Proceedings of the 4th ACM SIGPLAN International Workshop on Libraries, 2017

Predicting Waiting Times in Radiation Oncology Using Machine Learning.
Proceedings of the 16th IEEE International Conference on Machine Learning and Applications, 2017

2016
The Truth, The Whole Truth, and Nothing But the Truth: A Pragmatic Guide to Assessing Empirical Evaluations.
ACM Trans. Program. Lang. Syst., 2016

Automatic Vectorization for MATLAB.
Proceedings of the Languages and Compilers for Parallel Computing, 2016

Efficiently implementing the copy semantics of MATLAB's arrays in JavaScript.
Proceedings of the 12th Symposium on Dynamic Languages, 2016

2015
Velociraptor: a compiler toolkit for array-based languages targeting CPUs and GPUs.
Proceedings of the 2nd ACM SIGPLAN International Workshop on Libraries, 2015

AspectMatlab++: annotations, types, and aspects for scientists.
Proceedings of the 14th International Conference on Modularity, 2015

2014
Just-in-time shape inference for array-based languages.
Proceedings of the ARRAY'14: Proceedings of the 2014 ACM SIGPLAN International Workshop on Libraries, 2014

A Portable and High-Performance General Matrix-Multiply (GEMM) Library for GPUs and Single-Chip CPU/GPU Systems.
Proceedings of the 22nd Euromicro International Conference on Parallel, 2014

MIX10: compiling MATLAB to X10 for high performance.
Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, 2014

Using JavaScript and WebCL for numerical computations: a comparative study of native and web technologies.
Proceedings of the DLS'14, 2014

Mc2FOR demo: A tool for automatically translating MATLAB to FORTRAN 95.
Proceedings of the 2014 Software Evolution Week, 2014

Mc2FOR: A tool for automatically translating MATLAB to FORTRAN 95.
Proceedings of the 2014 Software Evolution Week, 2014

Velociraptor: an embedded compiler toolkit for numerical programs targeting CPUs and GPUs.
Proceedings of the International Conference on Parallel Architectures and Compilation, 2014

2013
A modular approach to on-stack replacement in LLVM.
Proceedings of the ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (co-located with ASPLOS 2013), 2013

First steps to compiling Matlab to X10.
Proceedings of the third ACM SIGPLAN X10 Workshop, 2013

Optimizing MATLAB feval with dynamic techniques.
Proceedings of the DLS'13, 2013

Refactoring MATLAB.
Proceedings of the Compiler Construction - 22nd International Conference, 2013

12th Compiler-Driven Performance Workshop.
Proceedings of the Center for Advanced Studies on Collaborative Research, 2013

2012
Partially Evaluating Finite-State Runtime Monitors Ahead of Time.
ACM Trans. Program. Lang. Syst., 2012

The Clara framework for hybrid typestate analysis.
Int. J. Softw. Tools Technol. Transf., 2012

Taming MATLAB.
Proceedings of the 27th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2012

Automated repair of HTML generation errors in PHP applications using string constraint solving.
Proceedings of the 34th International Conference on Software Engineering, 2012

McSAF: A Static Analysis Framework for MATLAB.
Proceedings of the ECOOP 2012 - Object-Oriented Programming, 2012

2011
McLAB: enabling programming language, compiler and software engineering research for matlab.
Proceedings of the Companion to the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2011

Kind analysis for MATLAB.
Proceedings of the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2011

Staged Static Techniques to Efficiently Implement Array Copy Semantics in a MATLAB JIT Compiler.
Proceedings of the Compiler Construction - 20th International Conference, 2011

Typing aspects for MATLAB.
Proceedings of the sixth annual workshop on Domain-specific aspect languages, 2011

MetaLexer: a modular lexical specification language.
Proceedings of the 10th International Conference on Aspect-Oriented Software Development, 2011

2010
Collaborative Runtime Verification with Tracematches.
J. Log. Comput., 2010

Clara: A Framework for Partially Evaluating Finite-State Runtime Monitors Ahead of Time.
Proceedings of the Runtime Verification - First International Conference, 2010

McFLAT: A Profile-Based Framework for MATLAB Loop Analysis and Transformations.
Proceedings of the Languages and Compilers for Parallel Computing, 2010

Optimizing Matlab through Just-In-Time Specialization.
Proceedings of the Compiler Construction, 19th International Conference, 2010

McLab: an extensible compiler toolkit for MATLAB and related languages.
Proceedings of the Canadian Conference on Computer Science & Software Engineering, 2010

AspectMatlab: an aspect-oriented scientific programming language.
Proceedings of the 9th International Conference on Aspect-Oriented Software Development, 2010

2009
Impact analysis and visualization toolkit for static crosscutting in AspectJ.
Proceedings of the 17th IEEE International Conference on Program Comprehension, 2009

2008
Evaluating the benefits of context-sensitive points-to analysis using a BDD-based implementation.
ACM Trans. Softw. Eng. Methodol., 2008

Relations as an abstraction for BDD-based program analysis.
ACM Trans. Program. Lang. Syst., 2008

Finding programming errors earlier by evaluating runtime monitors ahead-of-time.
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2008

Enabling static analysis for partial java programs.
Proceedings of the 23rd Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2008

Object representatives: a uniform abstraction for pointer information.
Proceedings of the Visions of Computer Science, 2008

Relational aspects as tracematches.
Proceedings of the 7th International Conference on Aspect-Oriented Software Development, 2008

2007
Metrics for Measuring the Effectiveness of Decompilers and Obfuscators.
Proceedings of the 15th International Conference on Program Comprehension (ICPC 2007), 2007

A Staged Static Program Analysis to Improve the Performance of Runtime Monitoring.
Proceedings of the ECOOP 2007 - Object-Oriented Programming, 21st European Conference, Berlin, Germany, July 30, 2007

Obfuscating Java: The Most Pain for the Least Gain.
Proceedings of the Compiler Construction, 16th International Conference, 2007

2006
<i>abc</i> : An Extensible AspectJ Compiler.
LNCS Trans. Aspect Oriented Softw. Dev., 2006

Efficient trace monitoring.
Proceedings of the Companion to the 21th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2006

Programmer-friendly Decompiled Java.
Proceedings of the 14th International Conference on Program Comprehension (ICPC 2006), 2006

Aspects for Trace Monitoring.
Proceedings of the Formal Approaches to Software Testing and Runtime Verification, 2006

Context-Sensitive Points-to Analysis: Is It Worth It?.
Proceedings of the Compiler Construction, 15th International Conference, 2006

Adding open modules to AspectJ.
Proceedings of the 5th International Conference on Aspect-Oriented Software Development, 2006

2005
Run-time evaluation of opportunities for object inlining in Java.
Concurr. Pract. Exp., 2005

Optimising aspectJ.
Proceedings of the ACM SIGPLAN 2005 Conference on Programming Language Design and Implementation, 2005

Adding trace matching with free variables to AspectJ.
Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2005

abc the aspectBench compiler for aspectJ a workbench for aspect-oriented programming language and compilers research.
Proceedings of the Companion to the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2005

<i>abc</i>: The AspectBench Compiler for AspectJ.
Proceedings of the Generative Programming and Component Engineering, 2005

A Study of Type Analysis for Speculative Method Inlining in a JIT Environment.
Proceedings of the Compiler Construction, 14th International Conference, 2005

Using Inter-Procedural Side-Effect Information in JIT Optimizations.
Proceedings of the Compiler Construction, 14th International Conference, 2005

abc: an extensible AspectJ compiler.
Proceedings of the 4th International Conference on Aspect-Oriented Software Development, 2005

2004
Jedd: a BDD-based relational extension of Java.
Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation 2004, 2004

Measuring the dynamic behaviour of AspectJ programs.
Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2004

Towards Dynamic Interprocedural Analysis in JVMs.
Proceedings of the 3rd Virtual Machine Research and Technology Symposium, 2004

Integrating the Soot Compiler Infrastructure into an IDE.
Proceedings of the Compiler Construction, 13th International Conference, 2004

2003
EVolve: An Open Extensible Software Visualisation Framework.
Proceedings of the Proceedings ACM 2003 Symposium on Software Visualization, 2003

Points-to analysis using BDDs.
Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation 2003, 2003

*J: a tool for dynamic analysis of Java programs.
Proceedings of the Companion of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2003

Dynamic metrics for java.
Proceedings of the 2003 ACM SIGPLAN Conference on Object-Oriented Programming Systems, 2003

Dynamic Profiling and Trace Cache Generation.
Proceedings of the 1st IEEE / ACM International Symposium on Code Generation and Optimization (CGO 2003), 2003

Scaling Java Points-to Analysis Using SPARK.
Proceedings of the Compiler Construction, 12th International Conference, 2003

Effective Inline-Threaded Interpretation of Java Bytecode Using Preparation Sequences.
Proceedings of the Compiler Construction, 12th International Conference, 2003

2002
STEP: a framework for the efficient encoding of general trace data.
Proceedings of the 2002 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis For Software Tools and Engineering, 2002

An adaptive, region-based allocator for java.
Proceedings of The Workshop on Memory Systems Performance (MSP 2002), 2002

A Comprehensive Approach to Array Bounds Check Elimination for Java.
Proceedings of the Compiler Construction, 11th International Conference, 2002

Decompiling Java Bytecode: Problems, Traps and Pitfalls.
Proceedings of the Compiler Construction, 11th International Conference, 2002

2001
Decompiling Java Using Staged Encapsulation.
Proceedings of the Eighth Working Conference on Reverse Engineering, 2001

SableVM: A Research Framework for the Efficient Execution of Java Bytecode.
Proceedings of the 1st Java Virtual Machine Research and Technology Symposium, 2001

2000
Efficient Inference of Static Types for Java Bytecode.
Proceedings of the Static Analysis, 7th International Symposium, 2000

Practical virtual method call resolution for Java.
Proceedings of the 2000 ACM SIGPLAN Conference on Object-Oriented Programming Systems, 2000

Optimizing Java Bytecode Using the Soot Framework: Is It Feasible?
Proceedings of the Compiler Construction, 9th International Conference, 2000

A framework for optimizing Java using attributes.
Proceedings of the 2000 conference of the Centre for Advanced Studies on Collaborative Research, 2000

1999
Locality Analysis for Parallel C Programs.
IEEE Trans. Parallel Distributed Syst., 1999

Guest Editors' Introduction: Special Issue on Compilers and Languages for Parallel and Distributed Computers.
IEEE Trans. Parallel Distributed Syst., 1999

Communication Optimizations for Parallel C Programs.
J. Parallel Distributed Comput., 1999

Soot - a Java bytecode optimization framework.
Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative Research, 1999

1998
SableCC, an Object-Oriented Compiler Framework.
Proceedings of the TOOLS 1998: 26th International Conference on Technology of Object-Oriented Languages and Systems, 1998

Putting Pointer Analysis to Work.
Proceedings of the POPL '98, 1998

Extended SSA Numbering: Introducing SSA Properties to Language with Multi-level Pointers.
Proceedings of the Compiler Construction, 7th International Conference, 1998

Detecting Parallelism in C Programs with Recursive Darta Structures.
Proceedings of the Compiler Construction, 7th International Conference, 1998

1997
Compiling C for the EARTH multithreaded architecture.
Int. J. Parallel Program., 1997

Heap Analysis and Optimizations for Threaded Programs.
Proceedings of the 1997 Conference on Parallel Architectures and Compilation Techniques (PACT '97), 1997

1996
A Study of the EARTH-MANNA Multithreaded System.
Int. J. Parallel Program., 1996

Connection Analysis: A Practical Interprocedural Heap Analysis for C.
Int. J. Parallel Program., 1996

Is it a Tree, a DAG, or a Cyclic Graph? A Shape Analysis for Heap-Directed Pointers in C.
Proceedings of the Conference Record of POPL'96: The 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 1996

Generalized Constant Propagation: A Study in C.
Proceedings of the Compiler Construction, 6th International Conference, 1996

Extended SSA numbering: introducing SSA properties to languages with multi-level pointers.
Proceedings of the 1996 conference of the Centre for Advanced Studies on Collaborative Research, 1996

Compiling C for the EARTH multithreaded architecture.
Proceedings of the Fifth International Conference on Parallel Architectures and Compilation Techniques, 1996

1995
Supporting Dynamic Data Structures on Distributed-Memory Machines.
ACM Trans. Program. Lang. Syst., 1995

Reengineering User Interfaces.
IEEE Softw., 1995

Multi-Valued Constant Propagation Analysis for User Interface Reengineering.
Int. J. Softw. Eng. Knowl. Eng., 1995

Path Collection and Dependence Testing in the Presence of Dynamic, Pointer-Based Data Structures.
Proceedings of the Languages, 1995

A design study of the EARTH multiprocessor.
Proceedings of the IFIP WG10.3 working conference on Parallel architectures and compilation techniques, 1995

1994
A General Data Dependence Test for Dynamic, Pointer-Based Data Structures.
Proceedings of the ACM SIGPLAN'94 Conference on Programming Language Design and Implementation (PLDI), 1994

Context-Sensitive Interprocedural Points-to Analysis in the Presence of Function Pointers.
Proceedings of the ACM SIGPLAN'94 Conference on Programming Language Design and Implementation (PLDI), 1994

A Language for Conveying the Aliasing Properties of Dynamic, Pointer-Based Data Structures.
Proceedings of the 8th International Symposium on Parallel Processing, 1994

A Framework for Data Dependence Testing in the Presence of Pointers.
Proceedings of the 1994 International Conference on Parallel Processing, 1994

Taming Control Flow: A Structured Approach to Eliminating Goto Statements.
Proceedings of the IEEE Computer Society 1994 International Conference on Computer Languages, 1994

Supporting Array Dependence Testing for an Optimizing/Parallelizing C Compiler.
Proceedings of the Compiler Construction, 5th International Conference, 1994

1993
Designing Programming Languages for the Analyzability of Pointer Data Structures.
Comput. Lang., 1993

Early Experiences with Olden.
Proceedings of the Languages and Compilers for Parallel Computing, 1993

Multi-Valued Constant Propagation for the Reengineering of User Interfaces.
Proceedings of the Conference on Software Maintenance, 1993

Speculative Execution and Branch Prediction on Parallel Machines.
Proceedings of the 7th international conference on Supercomputing, 1993

1992
Abstract Description of Pointer Data Structures: An Approach for Improving the Analysis and Optimization of Imperative Programs.
LOPLAS, 1992

Abstractions for Recursive Pointer Data Structures: Improving the Analysis of Imperative Programs.
Proceedings of the ACM SIGPLAN'92 Conference on Programming Language Design and Implementation (PLDI), 1992

On the limits of program parallelism and its smoothability.
Proceedings of the 25th Annual International Symposium on Microarchitecture, 1992

Supporting SPMD Execution for Dynamic Data Structures.
Proceedings of the Languages and Compilers for Parallel Computing, 1992

Designing the McCAT Compiler Based on a Family of Structured Intermediate Representations.
Proceedings of the Languages and Compilers for Parallel Computing, 1992

Applying an Abstract Data Structure Description Approach to Parallelizing Scientific Pointer Programs.
Proceedings of the 1992 International Conference on Parallel Processing, 1992

Designing programming languages for analyzability: a fresh look at pointer data structures.
Proceedings of the ICCL'92, 1992

SELSYN-C: A Self-Synchronizing Parallel Programming Language.
Proceedings of the Computing and Information, 1992

A Register Allocation Framework Based on Hierarchical Cyclic Interval Graphs.
Proceedings of the Compiler Construction, 1992

1990
Parallelizing Programs with Recursive Data Structures.
PhD thesis, 1990

Parallelizing Programs with Recursive Data Structures.
IEEE Trans. Parallel Distributed Syst., 1990

1989
Intererence analysis tools for parallelizing programs with recursive data structures.
Proceedings of the 3rd international conference on Supercomputing, 1989

1986
A programming language for learning environments.
Comput. Intell., 1986


  Loading...