[ECOOP 2024] | Mover Logic: A Concurrent Program Logic for Reduction and Rely-Guarantee Reasoning |
Cormac Flanagan and Stephen N. Freund | |
European Conference on Object-Oriented Programming – ECOOP, 2024. | |
Distinguished Paper Award | |
Extended Version | |
[OOPSLA 2020] | The Anchor Verifier for Blocking and Non-blocking Concurrent Software |
Cormac Flanagan and Stephen N. Freund | |
ACM Proceedings of the ACM on Programming Languages – OOPSLA, 2020. | |
Artifact :: Appendix :: Talk | |
[PPoPP 2018] | VerifiedFT: A Verified, High-Performance Precise Dynamic Race Detector |
James R. Wilcox, Cormac Flanagan, Stephen N. Freund | |
ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2018. | |
Artifact | |
[PLDI 2017] | BigFoot: Static Check Placement for Dynamic Race Detection |
Dustin Rhodes, Cormac Flanagan, Stephen N. Freund | |
ACM Conference on Programming Language Design and Implementation, 2017. | |
Distinguished Artifact Award | |
Artifact :: extended technical report | |
[FTFJP 2017] | Correctness of Partial Escape Analysis for Multithreading Optimization |
Dustin Rhodes, Cormac Flanagan, Stephen N. Freund | |
Workshop on Formal Techniques for Java-like Programs, 2017. | |
[SCP 2015] | Cooperative types for controlling thread interference in Java |
Jaeheon Yi, Tim Disney, Stephen N. Freund, Cormac Flanagan | |
Science of Computer Programming, 2015. | |
[ASE 2015] | Array Shadow State Compression for Precise Dynamic Race Detection |
James Wilcox, Parker Finch, Cormac Flanagan, and Stephen N. Freund | |
International Conference on Automated Software Engineering, 2015. | |
(extended technical report.) | |
[ECOOP 2013] | RedCard: Redundant Check Elimination For Dynamic Race Detectors |
Cormac Flanagan and Stephen N. Freund | |
European Conference on Object-Oriented Programming, 2013. | |
Best Paper Award | |
(Technical report with proofs.) | |
[ISSTA 2012] | Types for Precise Thread Interference |
Jaeheon Yi, Tim Disney, Stephen N. Freund, Cormac Flanagan | |
ACM International Symposium on Software Testing and Analysis, 2012. | |
[FOOL 2011] | Types for Precise Thread Interference |
Jaeheon Yi, Tim Disney, Stephen N. Freund, and Cormac Flanagan | |
Workshop on Foundations and Developments of Object-Oriented | |
Languages, 2011. | |
[CACM 2010] | FastTrack: Efficient and Precise Dynamic Race Detection |
Cormac Flanagan and Stephen N. Freund | |
Communications of the ACM, 2010. | |
[PLDI 2010] | Adversarial Memory for Detecting Destructive Races |
Cormac Flanagan and Stephen N. Freund | |
PLDI Most Influential Paper Award | |
ACM Conference on Programming Language Design and Implementation, 2010. | |
[PASTE 2010] | The RoadRunner Dynamic Analysis Framework for Concurrent Programs |
Cormac Flanagan and Stephen N. Freund | |
ACM Workshop on Program Analysis for Software Tools and Engineering, 2010. | |
[PLDI 2009] | FastTrack: Efficient and Precise Dynamic Race Detection |
Cormac Flanagan and Stephen N. Freund | |
ACM Conference on Programming Language Design and Implementation, 2009. | |
(Selected for publication as CACM Research Highlight) | |
[ESOP 2009] | SingleTrack: A Dynamic Determinism Checker for Multithreaded Programs |
Caitlin Sadowski, Cormac Flanagan, and Stephen N. Freund | |
European Symposium on Programming, 2009. | |
[PLDI 2008] | Velodrome: A Sound and Complete Dynamic Analysis for Atomicity |
Cormac Flanagan, Stephen N. Freund, and Jaeheon Yi | |
ACM Conference on Programming Language Design and Implementation, 2008. | |
[TOPLAS 2008] \ | Types for Atomicity: Static Checking and Inference for Java (appendix) |
Cormac Flanagan, Stephen N. Freund, Marina Lifshin, and Shaz Qadeer | |
ACM Transactions on Programming Languages and Systems, 2008. | |
[SCP 2008] | Atomizer: A Dynamic Atomicity Checker for Multithreaded Programs |
Cormac Flanagan and Stephen N. Freund | |
Science of Computer Programming, 2008. | |
[SCP 2007] | Type Inference Against Races |
Cormac Flanagan and Stephen N. Freund | |
Science of Computer Programming, 2007. | |
[TOPLAS 2006] | Types for Safe Locking: Static Race Detection for Java |
Martin Abadi, Cormac Flanagan, and Stephen N. Freund | |
ACM Transactions on Programming Languages and Systems, 2006. | |
[RV 2006] | Dynamic Architecture Extraction |
Cormac Flanagan and Stephen N. Freund | |
Formal Approaches to Testing and Runtime Verification, 2006. | |
[SFP 2006] | Sage: Hybrid Checking for Flexible Specifications |
Jessica Gronski, Kenneth Knowles, Aaron Tomb, Stephen N. Freund, and | |
Cormac Flanagan | |
Workshop on Scheme and Functional Programming, 2006. | |
(extended version) | |
[FOOL 2006] | Hybrid Types, Invariants, and Refinements for Imperative Objects |
Cormac Flanagan, Stephen N. Freund, and Aaron Tomb | |
Workshop on Foundations and Developments of Object-Oriented Languages, 2006. | |
[TLDI 2005] | Type Inference For Atomicity |
Cormac Flanagan, Stephen N. Freund, and Marina Lifshin | |
ACM Workshop on Types in Language Design and Implementation, 2005. | |
[TSE 2005] | Exploiting Purity for Atomicity |
Cormac Flanagan, Stephen N. Freund, and Shaz Qadeer | |
IEEE Transactions on Software Engineering, 2005. | |
[TCS 2005] | Modular Verification of Multithreaded Programs |
Cormac Flanagan, Stephen N. Freund, Shaz Qadeer and Sanjit A. Seshia | |
Theoretical Computer Science, 2005. | |
[SCOOL 2005] | Automatic Synchronization Correction |
Cormac Flanagan and Stephen N. Freund | |
Workshop on Synchronization and Concurrency in Object-Oriented Languages, 2005. | |
[ISSTA 2004] | Exploiting Purity for Atomicity |
Cormac Flanagan, Stephen N. Freund, and Shaz Qadeer | |
ACM International Symposium on Software Testing and Analysis, 2004. | |
Distinguished Paper Award | |
Also see TSE 2005 | |
[POPL 2004] | Atomizer: A Dynamic Atomicity Checker for Multithreaded Programs |
Cormac Flanagan and Stephen N. Freund | |
ACM Symposium on Principles of Programming Languages, 2004. | |
[SAS 2004] | Type Inference Against Races |
Cormac Flanagan and Stephen N. Freund | |
Static Analysis Symposium, 2004. | |
[JOT 2004] | Checking Concise Specifications For Multithreaded Software |
Stephen N. Freund and Shaz Qadeer | |
Journal of Object Technology, 2004. | |
[PADTAD 2004] | Atomizer: A Dynamic Atomicity Checker for Multithreaded Programs (Summary) |
Cormac Flanagan and Stephen N. Freund | |
Workshop on Parallel and Distributed Systems: Testing and Debugging, 2004. | |
[CC 2003] | Run-Time Type Checking for Binary Programs |
Mike Burrows, Stephen N. Freund, and Janet Wiener | |
International Conference on Compiler Construction, 2003. | |
[JAR 2003] | A Type System for the Java Bytecode Language and Verifier |
Stephen N. Freund and John C. Mitchell | |
Journal of Automated Reasoning, 2003. | |
[FTFJP 2003] | Checking Concise Specifications for Multithreaded Software |
Stephen N. Freund and Shaz Qadeer | |
Workshop on Formal Techniques for Java-like Programs, 2003. | |
An extended version appears below as Williams College Technical Note 01-2002. | |
[ESOP 2002] | Thread-Modular Verification for Shared-Memory Programs |
Cormac Flanagan, Stephen N. Freund, and Shaz Qadeer | |
European Symposium on Programming, 2002. | |
Also see TCS 2005 | |
[LL2 2002] | Safe Asynchronous Exceptions For Python |
Stephen N. Freund and Mark P. Mitchell | |
Second Lightweight Languages Workshop, 2002. | |
[PASTE 2001] | Detecting Race Conditions in Large Programs |
Cormac Flanagan and Stephen N. Freund | |
ACM Workshop on Program Analysis for Software Tools and Engineering, 2001. | |
Also see TOPLAS 2006 | |
[PLDI 2000] | Type-Based Race Detection for Java |
Cormac Flanagan and Stephen N. Freund | |
ACM Conference on Programming Language Design and Implementation, 2000. | |
Also see TOPLAS 2006 | |
[LICS 2000] | Type-Based Race Detection for Java (summary) |
Cormac Flanagan and Stephen N. Freund | |
LICS short topic presentation, 2000. | |
[TOPLAS 1999] | A Type System for Object Initialization in the Java Bytecode Language |
Stephen N. Freund and John C. Mitchell | |
ACM Transactions on Programming Languages and Systems, 1999. | |
[OOPLSA 1999] | A Formal Framework for the Java Bytecode Language and Verifier |
Stephen N. Freund and John C. Mitchell | |
ACM Conference on Object-Oriented Programming: Systems, Languages and Applications, 1999. | |
[OOPSLA 1998] | A Type System for Object Initialization in the Java Bytecode Language |
Stephen N. Freund and John C. Mitchell | |
ACM Conference on Object-Oriented Programming: Systems, Languages and Applications, 1998. | |
Also see TOPLAS 2008 | |
[FUJ 1998] | The Costs and Benefits of Java Bytecode Subroutines |
Stephen N. Freund | |
Formal Underpinnings of Java Workshop at OOPSLA, 1998. | |
[HOOTS 1998] | A Type System for Object Initialization in the Java Bytecode Language (summary) |
Stephen N. Freund and John C. Mitchell | |
HOOTS II, 1998. Also presented at Workshop for Security and Languages, 1998. | |
[OOPLSA 1997] | Adding Type Parameterization to the Java Language |
Ole Agesen, Stephen N. Freund, and John C. Mitchell | |
ACM Conference on Object-Oriented Programming: Systems, Languages and Applications, 1997. | |
[SIGCSE 1996] | Thetis: An ANSI C Programming Environment Designed for Introductory Use |
Stephen N. Freund and Eric Roberts | |
ACM SIGCSE Technical Symposium on Computer Science Education, 1996. |
[2017] | BigFoot: Static Check Placement for Dynamic Race Detection |
Dustin Rhodes, Cormac Flanagan, Stephen N. Freund | |
Williams College Technical Report CSTR-201702, 2017. | |
[2017] | The FastTrack2 Race Detector |
Cormac Flanagan and Stephen N. Freund | |
Williams College Technical Report CSTR-201701, 2017. | |
[2015] | Array Shadow State Compression for Precise Dynamic Race Detection |
James Wilcox, Parker Finch, Cormac Flanagan, and Stephen N. Freund | |
Williams College Technical Report CSTR-201510, 2015. | |
[2013] | RedCard: Redundant Check Elimination For Dynamic Race Detectors |
Stephen N. Freund and Cormac Flanagan | |
University of California at Santa Cruz Technical Report UCSC-SOE-13-05, 2013. | |
[2011] | Types for Precise Thread Interference |
Jaeheon Yi, Tim Disney, Stephen N. Freund, and Cormac Flanagan | |
University of California at Santa Cruz Technical Report UCSC-SOE-11-22, 2011. | |
[2004] \ | Modular Verification of Multithreaded Programs |
Cormac Flanagan, Stephen N. Freund, Shaz Qadeer, and Sanjit A. Seshia | |
Williams College Technical Note 04-08, 2004. | |
[2004] | Type Inference Against Races (extended version) |
Cormac Flanagan and Stephen N. Freund | |
Williams College Technical Note 04-06, 2004. | |
[2004] | Exploiting Purity for Atomicity (extended version) |
Cormac Flanagan, Stephen N. Freund, and Shaz Qadeer | |
Williams College Technical Note 04-05, 2004. | |
[2004] | Partial Type And Effect Inference for Rcc/Java in NP-Complete |
Cormac Flanagan and Stephen N. Freund | |
Williams College Technical Note 04-01, 2004. | |
[2002] | Checking Concise Specifications for Multithreaded Software (extended version) |
Stephen N. Freund and Shaz Qadeer | |
Williams College Technical Note 01-2002, 2002. | |
[2002] | Safe Asynchronous Exceptions For Python |
Stephen N. Freund and Mark P. Mitchell | |
Williams College Technical Note 02-2002, 2002. Presented at the Second Lightweight Languages Workshop, 2002. | |
[2001] | Thread-Modular Verification for Shared-Memory Programs |
Cormac Flanagan, Stephen N. Freund, and Shaz Qadeer | |
SRC Technical Note 2001-003, 2001. | |
[1999] | A Type System for Java Bytecode Subroutines and Exceptions |
Stephen N. Freund and John C. Mitchell | |
Stanford Computer Science Technical Note STAN-CS-TN-99-91, 1999. |
Why
Undergraduates Should Learn the Principles of Programming
Languages
Stephen N. Freund (Williams College), Kim Bruce, Chair
(Pomona College), Kathi Fisler (WPI), Dan Grossman
(University of Washington), Matthew Hertz (Canisius
College), Doug Lea (SUNY Oswego), Gary T. Leavens
(University of Central Florida), Andrew Myers (Cornell
University), Larry Snyder (University of Washington),
2010.
What a Programming
Languages Curriculum Should Include
Kim Bruce, Stephen N. Freund, Robert Harper, Jim Larus, and
Gary Leavens
Proceedings of the SIGPLAN Workshop on Undergraduate
Programming Language Curricula, 2008.
Programming Languages in
a Liberal Arts Education
Kim Bruce and Stephen N. Freund
Proceedings of the SIGPLAN Workshop on Undergraduate
Programming Language Curricula, 2008.
Programming Languages as
Part of Core Computer Science
Kim Bruce and Stephen N. Freund
Proceedings of the SIGPLAN Workshop on Undergraduate
Programming Language Curricula, 2008.
The Role of
Programming Languages in Teaching Concurrency
Kim Bruce, Stephen N. Freund, and Doug Lea
Curricula for Concurrency Workshop, 2009.