Cormac Flanagan

Affiliations:
  • University of California, Santa Cruz, USA


According to our database1, Cormac Flanagan authored at least 97 papers between 1993 and 2021.

Collaborative distances:

Awards

ACM Fellow

ACM Fellow 2020, "For contributions to static and dynamic program debugging and verification methods".

Timeline

Legend:

Book 
In proceedings 
Article 
PhD thesis 
Dataset
Other 

Links

Online presence:

On csauthors.net:

Bibliography

2021
Multi-Execution Lattices Fast and Slow.
CoRR, 2021

2020
The anchor verifier for blocking and non-blocking concurrent software.
Proc. ACM Program. Lang., 2020

Transparent IFC Enforcement: Possibility and (In)Efficiency Results.
Proceedings of the 33rd IEEE Computer Security Foundations Symposium, 2020

2019
IDVE: an integrated development and verification environment for JavaScript.
Proceedings of the Conference Companion of the 3rd International Conference on Art, 2019

Optimising Faceted Secure Multi-Execution.
Proceedings of the 32nd IEEE Computer Security Foundations Symposium, 2019

2018
Secure serverless computing using dynamic information flow control.
Proc. ACM Program. Lang., 2018

A Better Facet of Dynamic Information Flow Control.
Proceedings of the Companion of the The Web Conference 2018 on The Web Conference 2018, 2018

VerifiedFT: a verified, high-performance precise dynamic race detector.
Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2018

ESVERIFY: Verifying Dynamically-Typed Higher-Order Functional Programs by SMT Solving.
Proceedings of the 30th Symposium on Implementation and Application of Functional Languages, 2018

Faceted Secure Multi Execution.
Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, 2018

2017
Multiple Facets for Dynamic Information Flow with Exceptions.
ACM Trans. Program. Lang. Syst., 2017

BigFoot: static check placement for dynamic race detection.
Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, 2017

Correctness of Partial Escape Analysis for Multithreading Optimization.
Proceedings of the 19th Workshop on Formal Techniques for Java-like Programs, 2017

Using Precise Taint Tracking for Auto-sanitization.
Proceedings of the 2017 Workshop on Programming Languages and Analysis for Security, 2017

2016
Faceted Dynamic Information Flow via Control and Data Monads.
Proceedings of the Principles of Security and Trust - 5th International Conference, 2016

Precise, dynamic information flow for database-backed applications.
Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, 2016

Macrofication: Refactoring by Reverse Macro Expansion.
Proceedings of the Programming Languages and Systems, 2016

Reactive programming with reactive variables.
Proceedings of the Companion Proceedings of the 15th International Conference on Modularity, Málaga, Spain, March 14, 2016

2015
Cooperative types for controlling thread interference in Java.
Sci. Comput. Program., 2015

End-To-End Policy-Agnostic Security for Database-Backed Applications.
CoRR, 2015

Game Semantics for Type Soundness.
Proceedings of the 30th Annual ACM/IEEE Symposium on Logic in Computer Science, 2015

Array Shadow State Compression for Precise Dynamic Race Detection (T).
Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering, 2015

2014
Developments in automated verification techniques.
Int. J. Softw. Tools Technol. Transf., 2014

Practices of PLDI.
ACM SIGPLAN Notices, 2014

Dynamic detection of object capability violations through model checking.
Proceedings of the DLS'14, 2014

Sweeten your JavaScript: hygienic macros for ES5.
Proceedings of the DLS'14, 2014

2013
PLDI 2002: Extended static checking for Java.
ACM SIGPLAN Notices, 2013

Faceted execution of policy-agnostic programs.
Proceedings of the 2013 ACM SIGPLAN Workshop on Programming Languages and Analysis for Security, 2013

RedCard: Redundant Check Elimination for Dynamic Race Detectors.
Proceedings of the ECOOP 2013 - Object-Oriented Programming, 2013

2012
Sound predictive race detection in polynomial time.
Proceedings of the 39th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2012

Multiple facets for dynamic information flow.
Proceedings of the 39th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2012

Detecting inconsistencies via universal reachability analysis.
Proceedings of the International Symposium on Software Testing and Analysis, 2012

A Functional View of Imperative Information Flow.
Proceedings of the Programming Languages and Systems - 10th Asian Symposium, 2012

2011
Futures.
Proceedings of the Encyclopedia of Parallel Computing, 2011

Cooperative Concurrency for a Multicore World - (Extended Abstract).
Proceedings of the Runtime Verification - Second International Conference, 2011

Cooperative reasoning for preemptive execution.
Proceedings of the 16th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2011

Correct blame for contracts: no more scapegoating.
Proceedings of the 38th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2011

Virtual values for language extension.
Proceedings of the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2011

Temporal higher-order contracts.
Proceedings of the Proceeding of the 16th ACM SIGPLAN international conference on Functional Programming, 2011

2010
Hybrid type checking.
ACM Trans. Program. Lang. Syst., 2010

Space-efficient gradual typing.
High. Order Symb. Comput., 2010

FastTrack: efficient and precise dynamic race detection.
Commun. ACM, 2010

Effects for cooperable and serializable threads.
Proceedings of TLDI 2010: 2010 ACM SIGPLAN International Workshop on Types in Languages Design and Implementation, 2010

Adversarial memory for detecting destructive races.
Proceedings of the 2010 ACM SIGPLAN Conference on Programming Language Design and Implementation, 2010

Permissive dynamic information flow analysis.
Proceedings of the 2010 Workshop on Programming Languages and Analysis for Security, 2010

The RoadRunner dynamic analysis framework for concurrent programs.
Proceedings of the 9th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, 2010

2009
Compositional reasoning and decidable checking for dependent contract types.
Proceedings of the 3rd ACM Workshop Programming Languages meets Program Verification, 2009

Efficient purely-dynamic information flow analysis.
Proceedings of the 2009 Workshop on Programming Languages and Analysis for Security, 2009

SideTrack: generalizing dynamic atomicity analysis.
Proceedings of the 7th Workshop on Parallel and Distributed Systems: Testing, 2009

SingleTrack: A Dynamic Determinism Checker for Multithreaded Programs.
Proceedings of the Programming Languages and Systems, 2009

09361 Abstracts Collection - Design and Validation of Concurrent Systems.
Proceedings of the Design and Validation of Concurrent Systems, 30.08. - 04.09.2009, 2009

2008
Types for atomicity: Static checking and inference for Java.
ACM Trans. Program. Lang. Syst., 2008

Atomizer: A dynamic atomicity checker for multithreaded programs.
Sci. Comput. Program., 2008

Velodrome: a sound and complete dynamic atomicity checker for multithreaded programs.
Proceedings of the ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation, 2008

2007
Type inference against races.
Sci. Comput. Program., 2007

Cartesian Partial-Order Reduction.
Proceedings of the Model Checking Software, 2007

Unifying Hybrid Types and Contracts.
Proceedings of the Eighth Symposium on Trends in Functional Programming, 2007

Status report: specifying javascript with ML.
Proceedings of the ACM Workshop on ML, 2007, Freiburg, Germany, October 5, 2007, 2007

Type Reconstruction for General Refinement Types.
Proceedings of the Programming Languages and Systems, 2007

2006
Types for safe locking: Static race detection for Java.
ACM Trans. Program. Lang. Syst., 2006

Hybrid type checking.
Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2006

Dynamic Architecture Extraction.
Proceedings of the Formal Approaches to Software Testing and Runtime Verification, 2006

2005
Exploiting Purity for Atomicity.
IEEE Trans. Software Eng., 2005

Modular verification of multithreaded programs.
Theor. Comput. Sci., 2005

Type inference for atomicity.
Proceedings of TLDI'05: 2005 ACM SIGPLAN International Workshop on Types in Languages Design and Implementation, 2005

Automatic type inference via partial evaluation.
Proceedings of the 7th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, 2005

Dynamic partial-order reduction for model checking software.
Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2005

Extending JML for Modular Specification and Verification of Multi-threaded Programs.
Proceedings of the ECOOP 2005, 2005

2004
Automatic software model checking via constraint logic.
Sci. Comput. Program., 2004

Verifying Commit-Atomicity Using Model-Checking.
Proceedings of the Model Checking Software, 2004

Atomizer: A Dynamic Atomicity Checker for Multithreaded Programs (Summary).
Proceedings of the 18th International Parallel and Distributed Processing Symposium (IPDPS 2004), 2004

2003
Transactions for Software Model Checking.
Proceedings of the 2003 Workshop on Software Model Checking, 2003

Types for atomicity.
Proceedings of TLDI'03: 2003 ACM SIGPLAN International Workshop on Types in Languages Design and Implementation, 2003

Thread-Modular Model Checking.
Proceedings of the Model Checking Software, 2003

A type and effect system for atomicity.
Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation 2003, 2003

Automatic Software Model Checking Using CLP.
Proceedings of the Programming Languages and Systems, 2003

Theorem Proving Using Lazy Proof Explication.
Proceedings of the Computer Aided Verification, 15th International Conference, 2003

2002
DrScheme: a programming environment for Scheme.
J. Funct. Program., 2002

Predicate abstraction for software verification.
Proceedings of the Conference Record of POPL 2002: The 29th SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2002

Extended Static Checking for Java.
Proceedings of the 2002 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2002

Thread-Modular Verification for Shared-Memory Programs.
Proceedings of the Programming Languages and Systems, 2002

A Modular Checker for Multithreaded Programs.
Proceedings of the Computer Aided Verification, 14th International Conference, 2002

2001
Annotation inference for modular checkers.
Inf. Process. Lett., 2001

Avoiding exponential explosion: generating compact verification conditions.
Proceedings of the Conference Record of POPL 2001: The 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2001

Detecting race conditions in large programs.
Proceedings of the 2001 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis For Software Tools and Engineering, 2001

Houdini, an Annotation Assistant for ESC/Java.
Proceedings of the FME 2001: Formal Methods for Increasing Software Productivity, 2001

2000
Type-based race detection for Java.
Proceedings of the 2000 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2000

1999
Componential Set-Based Analysis.
ACM Trans. Program. Lang. Syst., 1999

The Semantics of Future and an Application.
J. Funct. Program., 1999

Types for Safe Locking.
Proceedings of the Programming Languages and Systems, 1999

Object Types against Races.
Proceedings of the CONCUR '99: Concurrency Theory, 1999

1997
DrScheme: A Pedagogic Programming Environment for Scheme.
Proceedings of the Programming Languages: Implementations, 1997

1996
Static Debugging: Browsing the Web of Program Invariants.
Proceedings of the ACM SIGPLAN'96 Conference on Programming Language Design and Implementation (PLDI), 1996

pHluid: The Design of a Parallel Functional Language Implementation on Workstations.
Proceedings of the 1996 ACM SIGPLAN International Conference on Functional Programming, 1996

1995
The Semantics of Future and Its Use in Program Optimizations.
Proceedings of the Conference Record of POPL'95: 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 1995

1993
The essence of compiling with continuations (with retrospective)
Proceedings of the 20 Years of the ACM SIGPLAN Conference on Programming Language Design and Implementation 1979-1999, 1993

The Essence of Compiling with Continuations.
Proceedings of the ACM SIGPLAN'93 Conference on Programming Language Design and Implementation (PLDI), 1993


  Loading...