James R. Larus

Orcid: 0000-0002-5820-2524

Affiliations:
  • École Polytechnique Fédérale de Lausanne, Switzerland
  • Microsoft Research (former)


According to our database1, James R. Larus authored at least 140 papers between 1982 and 2024.

Collaborative distances:

Awards

ACM Fellow

ACM Fellow 2006, "For contributions to programming languages, compilers, and computer architecture.".

Timeline

Legend:

Book 
In proceedings 
Article 
PhD thesis 
Dataset
Other 

Links

Online presence:

On csauthors.net:

Bibliography

2024
Parendi: Thousand-Way Parallel RTL Simulation.
CoRR, 2024

A 475 MHz Manycore FPGA Accelerator for RTL Simulation.
Proceedings of the 2024 ACM/SIGDA International Symposium on Field Programmable Gate Arrays, 2024

2023
Manticore: Hardware-Accelerated RTL Simulation with Static Bulk-Synchronous Parallelism.
Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, 2023

2022
Deploying decentralized, privacy-preserving proximity tracing.
Commun. ACM, 2022

<i>CACM</i> community.
Commun. ACM, 2022

Bitfiltrator: A general approach for reverse-engineering Xilinx bitstream formats.
Proceedings of the 32nd International Conference on Field-Programmable Logic and Applications, 2022

Auto-Partitioning Heterogeneous Task-Parallel Programs with StreamBlocks.
Proceedings of the International Conference on Parallel Architectures and Compilation Techniques, 2022

The Curation Chokepoint.
Perspectives on Digital Humanism, 2022

2021
Statistical Program Slicing: a Hybrid Slicing Technique for Analyzing Deployed Software.
CoRR, 2021

StreamBlocks: A compiler for heterogeneous dataflow computing (technical report).
CoRR, 2021

Whose smartphone is it?
Commun. ACM, 2021

Watermarking-based Defense against Adversarial Attacks on Deep Neural Networks.
Proceedings of the International Joint Conference on Neural Networks, 2021

Abacus: A Tool for Precise Side-Channel Analysis.
Proceedings of the 43rd IEEE/ACM International Conference on Software Engineering: Companion Proceedings, 2021

Abacus: Precise Side-Channel Analysis.
Proceedings of the 43rd IEEE/ACM International Conference on Software Engineering, 2021

Triggered Scheduling: Efficient Detection of Dataflow Network Idleness on Heterogeneous Systems.
Proceedings of the FPGA '21: The 2021 ACM/SIGDA International Symposium on Field Programmable Gate Arrays, Virtual Event, USA, February 28, 2021

Enclosure: language-based restriction of untrusted libraries.
Proceedings of the ASPLOS '21: 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, 2021

2020
ASPLOS Report.
IEEE Des. Test, 2020

Decentralized Privacy-Preserving Proximity Tracing.
IEEE Data Eng. Bull., 2020

Decentralized Privacy-Preserving Proximity Tracing.
CoRR, 2020

Advanced Dataflow Programming using Actor Machines for High-Level Synthesis.
Proceedings of the FPGA '20: The 2020 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, 2020

Parallel and Scalable Precise Clustering.
Proceedings of the PACT '20: International Conference on Parallel Architectures and Compilation Techniques, 2020

2019
Parallel and Scalable Precise Clustering for Homologous Protein Discovery.
CoRR, 2019

Extending TensorFlow's Semantics with Pipelined Execution.
CoRR, 2019

Secured Routines: Language-based Construction of Trusted Execution Environments.
Proceedings of the 2019 USENIX Annual Technical Conference, 2019

Wok: statistical program slicing in production.
Proceedings of the 41st International Conference on Software Engineering: Companion Proceedings, 2019

Fine-Grain Checkpointing with In-Cache-Line Logging.
Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, 2019

2018
Object-oriented recovery for non-volatile memory.
Proc. ACM Program. Lang., 2018

Regulating automated decision making.
Commun. ACM, 2018

Reducing transaction aborts by looking to the future.
Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2018

Detailed heap profiling.
Proceedings of the 2018 ACM SIGPLAN International Symposium on Memory Management, 2018

2017
Efficient logging in non-volatile memory by exploiting coherency protocols.
Proc. ACM Program. Lang., 2017

A simple, elegant approach to non-numeric parallelization: technical perspective.
Commun. ACM, 2017

Persona: A High-Performance Bioinformatics Framework.
Proceedings of the 2017 USENIX Annual Technical Conference, 2017

2016
Introduction to the Special Issue on PPoPP'14.
ACM Trans. Parallel Comput., 2016

Technical Perspective: The power of parallelizing computations.
Commun. ACM, 2016

2015
A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services.
IEEE Micro, 2015

Programming multicore computers: technical perspective.
Commun. ACM, 2015

2013
Look up!: your future is in the cloud.
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, 2013

Using managed runtime systems to tolerate holes in wearable memories.
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, 2013

SIMD parallelization of applications that traverse irregular data structures.
Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization, 2013

2012
Imagining the Future: Thoughts on Computing.
Computer, 2012

It's the End of the World as We Know It (And I Feel Fine).
Proceedings of the Runtime Verification, Third International Conference, 2012

Zeta: scheduling interactive services with partial execution.
Proceedings of the ACM Symposium on Cloud Computing, SOCC '12, 2012

Fine-grained parallel traversals of irregular data structures.
Proceedings of the International Conference on Parallel Architectures and Compilation Techniques, 2012

2011
Join-Idle-Queue: A novel load balancing algorithm for dynamically scalable web services.
Perform. Evaluation, 2011

Programming the cloud.
Proceedings of the 17th International Conference on High-Performance Computer Architecture (HPCA-17 2011), 2011

Orleans: cloud computing for everyone.
Proceedings of the ACM Symposium on Cloud Computing in conjunction with SOSP 2011, 2011

The cloud will change everything.
Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems, 2011

2010
Transactional Memory, 2nd Edition
Synthesis Lectures on Computer Architecture, Morgan & Claypool Publishers, ISBN: 978-3-031-01728-5, 2010

The Singularity system.
Commun. ACM, 2010

Programming Clouds.
Proceedings of the Compiler Construction, 19th International Conference, 2010

2009
Spending Moore's dividend.
Commun. ACM, 2009

Multicore computing and scientific discovery.
Proceedings of the Fourth Paradigm: Data-Intensive Scientific Discovery, 2009

2008
PL research and its consequences on PL curriculum.
ACM SIGPLAN Notices, 2008

SIGPLAN programming language curriculum workshop: Discussion Summaries and recommendations.
ACM SIGPLAN Notices, 2008

Transactional memory.
Commun. ACM, 2008

The real value of testing.
Proceedings of the ACM/SIGSOFT International Symposium on Software Testing and Analysis, 2008

Singularity: Designing Better Software (Invited Talk).
Proceedings of the Computer Aided Verification, 20th International Conference, 2008

2007
Singularity: rethinking the software stack.
ACM SIGOPS Oper. Syst. Rev., 2007

Featherweight transactions: decoupling threads and atomic blocks.
Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2007

Sealing OS processes to improve dependability and safety.
Proceedings of the 2007 EuroSys Conference, Lisbon, Portugal, March 21-23, 2007, 2007

Corezilla: Build and Tame the Multicore Beast?
Proceedings of the 44th Design Automation Conference, 2007

2006
Transactional Memory
Synthesis Lectures on Computer Architecture, Morgan & Claypool Publishers, ISBN: 978-3-031-01719-3, 2006

Abolish runtime systems: operating systems should control the execution.
Proceedings of the 2nd International Conference on Virtual Execution Environments, 2006

Reflective program generation with patterns.
Proceedings of the Generative Programming and Component Engineering, 2006

Language support for fast and reliable message-based communication in singularity OS.
Proceedings of the 2006 EuroSys Conference, Leuven, Belgium, April 18-21, 2006, 2006

Is process or architecture the solution?
Proceedings of the 1st Workshop on Architectural and System Support for Improving Software Dependability, 2006

Deconstructing process isolation.
Proceedings of the 2006 workshop on Memory System Performance and Correctness, 2006

2005
Software and the concurrency revolution.
ACM Queue, 2005

Broad New OS Research: Challenges and Opportunities.
Proceedings of HotOS'05: 10th Workshop on Hot Topics in Operating Systems, 2005

2004
Righting Software.
IEEE Softw., 2004

2003
Debugging temporal specifications with concept analysis.
Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation 2003, 2003

2002
Using Cohort-Scheduling to Enhance Server Performance.
Proceedings of the General Track: 2002 USENIX Annual Technical Conference, 2002

Mining specifications.
Proceedings of the Conference Record of POPL 2002: The 29th SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2002

2001
Facile: A Language and Compiler for High-Performance Processor Simulators.
Proceedings of the 2001 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2001

Using Cohort Scheduling to Enhance Server Performance (Extended Abstract).
Proceedings of The Workshop on Languages, 2001

2000
Wisconsin Wind Tunnel II: a fast, portable parallel architecture simulator.
IEEE Concurr., 2000

Making Pointer-Based Data Structures Cache Conscious.
Computer, 2000

Using Paths to Measure, Explain, and Enhance Program Behavior.
Computer, 2000

1999
Teapot: A Domain-Specific Language for Writing Cache Coherence Protocols.
IEEE Trans. Software Eng., 1999

Whole Program Paths.
Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 1999

Cache-Conscious Structure Layout.
Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 1999

Cache-Conscious Structure Definition.
Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 1999

1998
Protocol-based data-race detection.
Proceedings of the SIGMETRICS Symposium on Parallel and Distributed Tools, 1998

Improving data-flow analysis with path profiles (with retrospective)
Proceedings of the 20 Years of the ACM SIGPLAN Conference on Programming Language Design and Implementation 1979-1999, 1998

Improving Data-flow Analysis with Path Profiles.
Proceedings of the ACM SIGPLAN '98 Conference on Programming Language Design and Implementation (PLDI), 1998

Using Generational Garbage Collection To Implement Cache-Conscious Data Placement.
Proceedings of the International Symposium on Memory Management, 1998

Retrospective: Tempest and Typhoon: User-Level Shared Memory.
Proceedings of the 25 Years of the International Symposia on Computer Architecture (Selected Papers)., 1998

Fast Out-Of-Order Processor Simulation Using Memoization.
Proceedings of the ASPLOS-VIII Proceedings of the 8th International Conference on Architectural Support for Programming Languages and Operating Systems, 1998

Sirocco: Cost-Effective Fine-Grain Distributed Shared Memory.
Proceedings of the 1998 International Conference on Parallel Architectures and Compilation Techniques, 1998

1997
Why write real software in a university?
Proceedings of the 1997 workshop on Computer architecture education, 1997

Shared Memory Performance Profiling.
Proceedings of the Sixth ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming (PPOPP), 1997

Optimizing Communication in HPF programs for Fine-Grain Distributed Shared Memory.
Proceedings of the Sixth ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming (PPOPP), 1997

Exploiting Hardware Performance Counters with Flow and Context Sensitive Profiling.
Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation (PLDI), 1997

The Use of Program Profiling for Software Maintenance with Applications to the Year 2000 Problem.
Proceedings of the Software Engineering, 1997

Experience with a Language for Writing Coherence Protocols.
Proceedings of the Conference on Domain-Specific Languages, 1997

1996
Compiler-directed Shared-Memory Communication for Iterative Parallel Applications.
Proceedings of the 1996 ACM/IEEE Conference on Supercomputing, 1996

Teapot: Language Support for Writing Memory Coherence Protocols.
Proceedings of the ACM SIGPLAN'96 Conference on Programming Language Design and Implementation (PLDI), 1996

Instruction Scheduling and Executable Editing.
Proceedings of the 29th Annual IEEE/ACM International Symposium on Microarchitecture, 1996

Efficient Path Profiling.
Proceedings of the 29th Annual IEEE/ACM International Symposium on Microarchitecture, 1996

HPF on Fine-Grain Distributed Shared Memory: Early Experience.
Proceedings of the Languages and Compilers for Parallel Computing, 1996

The Tempest approach to distributed shared memory.
Proceedings of the 1996 International Conference on Computer Design (ICCD '96), 1996

1995
Where Is Software Headed? A Virtual Roundtable.
Computer, 1995

Storm Watch: A Tool for Visualizing Memory System Protocols.
Proceedings of the Proceedings Supercomputing '95, San Diego, CA, USA, December 4-8, 1995, 1995

Efficient Support for Irregular Applications on Distributed-Memory Machines.
Proceedings of the Fifth ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming (PPOPP), 1995

EEL: Machine-Independent Executable Editing.
Proceedings of the ACM SIGPLAN'95 Conference on Programming Language Design and Implementation (PLDI), 1995

Tempest: A Substrate for Portable Parallel Programs.
Proceedings of the COMPCON '95: Technologies for the Information Superhighway, 1995

1994
Optimally Profiling and Tracing Programs.
ACM Trans. Program. Lang. Syst., 1994

Rewriting Executable Files to Measure Program Behavior.
Softw. Pract. Exp., 1994

The Wisconsin Wind Tunnel project: an annotated bibliography.
SIGARCH Comput. Archit. News, 1994

Application-specific protocols for user-level shared memory.
Proceedings of the Proceedings Supercomputing '94, 1994

Static branch frequency and program profile analysis.
Proceedings of the 27th Annual International Symposium on Microarchitecture, San Jose, California, USA, November 30, 1994

Using the Run-Time Sizes of Data Structures to Guide Parallel-Thread Creation.
Proceedings of the 1994 ACM Conference on LISP and Functional Programming, 1994

Tempest and Typhoon: User-Level Shared Memory.
Proceedings of the 21st Annual International Symposium on Computer Architecture. Chicago, 1994

Cachier: A Tool for Automatically Inserting CICO Annotations.
Proceedings of the 1994 International Conference on Parallel Processing, 1994

Fine-grain Access Control for Distributed Shared Memory.
Proceedings of the ASPLOS-VI Proceedings, 1994

LCM: Memory System Support for Parallel Language Implementation.
Proceedings of the ASPLOS-VI Proceedings, 1994

Where is Time Spent in Message-Passing and Shared-Memory Programs?
Proceedings of the ASPLOS-VI Proceedings, 1994

1993
Loop-Level Parallelism in Numeric and Symbolic Programs.
IEEE Trans. Parallel Distributed Syst., 1993

Cooperative Shared Memory: Software and Hardware Support for Scalable Multiprocesors.
ACM Trans. Comput. Syst., 1993

Wisconsin Architectural Research Tool Set.
SIGARCH Comput. Archit. News, 1993

Compiling for Shared-Memory and Message-Passing Computers.
LOPLAS, 1993

Efficient Program Tracing.
Computer, 1993

The Wisconsin Wind Tunnel: Virtual Prototyping of Parallel Computers.
Proceedings of the 1993 ACM SIGMETRICS conference on Measurement and modeling of computer systems, 1993

A Concurrent Copying Garbage Collector for Languages that Distinguish (Im)mutable Data.
Proceedings of the Fourth ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming (PPOPP), 1993

Branch Prediction For Free.
Proceedings of the ACM SIGPLAN'93 Conference on Programming Language Design and Implementation (PLDI), 1993

Mechanisms for Cooperative Shared Memory.
Proceedings of the 20th Annual International Symposium on Computer Architecture, 1993

1992
Dynamic Program Parallelization.
Proceedings of the Conference on Lisp and Functional Programming, 1992

C**: A Large-Grain, Object-Oriented, Data-Parallel Programming Language.
Proceedings of the Languages and Compilers for Parallel Computing, 1992

1991
Compiling Lisp Programs for Parallel Execution.
LISP Symb. Comput., 1991

1990
Abstract Execution: A Technique for Efficiently Tracing Programs.
Softw. Pract. Exp., 1990

Cache Considerations for Multiprocessor Programmers.
Commun. ACM, 1990

Exact Data Dependence Analysis Using Data Access Descriptors.
Proceedings of the 1990 International Conference on Parallel Processing, 1990

1989
Multiprocessing Extensions in Spur Lisp.
IEEE Softw., 1989

1988
Restructuring Lisp Programs for Concurrent Execution.
Proceedings of the ACM/SIGPLAN PPEALS 1988, 1988

Detecting Conflicts Between Structure Accesses.
Proceedings of the ACM SIGPLAN'88 Conference on Programming Language Design and Implementation (PLDI), 1988

1986
Register allocation in the SPUR Lisp compiler.
Proceedings of the 1986 SIGPLAN Symposium on Compiler Construction, 1986

Evaluation of the SPUR Lisp Architecture.
Proceedings of the 13th Annual Symposium on Computer Architecture, Tokyo, Japan, June 1986, 1986

1983
On the performance of Courier remote procedure calls under 4.1c BSD.
Perform. Evaluation, 1983

1982
A comparison of microcode, assembly code, and high-level languages on the VAX-11 and RISC I.
SIGARCH Comput. Archit. News, 1982


  Loading...