Readings
A collection of 294 papers and articles I've saved over the years. I haven't read all of them. But I've read a good amount. I will eventually update this with that kind of information and maybe some description of the best ones. This is definitely not an exhaustive list of papers, just ones I could easily find. I will continue to add more and organize better as time goes on. I also wrote about the making of this archive.
Computer Philosophy (38)
A Formulation of the Simple Theory of Types — Alonzo Church
A Simple Proof of Gödel's Incompleteness Theorems — Arindama Singh
Abstraction Abstracted — Russ Abbott, Chengyu Sun
Abstraction in Computer Science — Timothy Colburn · Gary Shute
Boxes and Diamonds: An Open Introduction to Modal Logic
Computation and Cognitive Science: Introduction to Special Issue — Mark Sprevak
Computational Artifacts: Towards a Philosophy of Computer Science — Raymond Turner
Computing with Uncertainty and Its Implications to Universality — Naya Nagy and Selim G. Akl
Decoupling as a Fundamental Value of Computer Science — Timothy Colburn · Gary Shute
Engaging the Action-Oriented Nature of Computation: Towards a Rhetorical Code Studies — Kevin Michael Brock
Explaining Engineered Computing Systems’ Behaviour: The Role of Abstraction and Idealization — Nicola Angius
Expressing ‘the structure of’ in homotopy type theory — David Corfield
If a tree casts a shadow, is it telling the time? — Russ Abbott
Implementation is Semantic Interpretation — William J. Rapaport
Implementation is semantic interpretation: further thoughts — William J. Rapaport
Interactions Between Philosophy and Artificial Intelligence: The Role of Intuition and Non-Logical Reasoning in Intelligence — Aaron Sloman
Intrinsic Propensity for Vulnerability in Computers? Arbitrary Code Execution in the Universal Turing Machine — Pontus Johnson
Irreversibility and Heat Generation in the Computing Process — R. Landauer
Levels of Abstraction and the Turing Test — Luciano Floridi
Minds, Machines and Gödel — J. R. Lucas
Modelling Epistemic Updates with Functional Programming — Jan van Eijck, Simona Orzan
Not all computational methods are effective methods — Mark Sprevak
On Implementing a Computation — David J. Chalmers
Programming Languages as Technical Artifacts — Raymond Turner
Programming with Epistemic Logic — Markus Eger, Chris Martens
Situations, Actions, and Causal Laws — John McCarthy
SOFTWARE IS AN ABSTRACT ARTIFACT — Nurbay IRMAK
Software, Abstraction, and Ontology — Timothy R. Colburn
Some Philosophical Problems from the Standpoint of Artificial Intelligence — John McCarthy and Patrick J. Hayes
The Ethical Compiler: Addressing the Is-Ought Gap in Compilation (Invited Talk) — William J. Bowman
The Interactive Nature of Computing: Refuting the Strong Church-Turing Thesis — Dina Goldin*, Peter Wegner
The Situation Calculus: A Case for Modal Logic — Gerhard Lakemeyer
Three challenges to Chalmers on computational implementation — Mark Sprevak
Triviality arguments about computational implementation — Mark Sprevak
Two Puzzles About Computation — Samson Abramsky
Understanding Computers and Cognition: A New Foundation for Design — Terry Winograd, Fernando Flores
Verificationism Then and Now — Per Martin-Löf
What We Talk About When We Talk About Programs — Violetta Lonati
Databases (26)
1982 - Heuretics: Theoretical & Experimental Study of Heuristic Rules — Lenat, Douglas B.
1983 - Why AM and Eurisko Appear to Work — Lenat, Douglas B.; Brown, John Seely
A commutative replicated data type for cooperative editing — Nuno Preguiça, Joan Manuel Marquès, Marc Shapiro, Mihai Leția
A comprehensive study of Convergent and Commutative Replicated Data Types — Marc Shapiro, Nuno Preguiça, Carlos Baquero, Marek Zawirski
A coordination-free, convergent, and safe replicated tree — Sreeja Nair, Filipe Meirim, Mário Pereira, Carla Ferreira, Marc Shapiro
An Analysis of Trace Data for Predictive File Caching in Mobile Computing — Geoffrey H. Kuenning, Gerald J. Popek, Peter L. Reicher
Are CRDTs suitable for shared editing? — Kevin
Aria: A Fast and Practical Deterministic OLTP Database — Yi Lu, Xiangyu Yu, Lei Cao, Samuel Madden
BlinkDB: Queries with Bounded Errors and Bounded Response Times on Very Large Data — Samer Agarwal, Barzan Mozafari, Aurojit Panda, Henry Milner, Samuel Madden, Ion Stoica
Calvin: Fast Distributed Transactions for Partitioned Database Systems — Alexander Thomson, Thaddeus Diamond, Shu-Chun Weng, Kun Ren, Philip Shao, Daniel J. Abadi
EmptyHeaded: A Relational Engine for Graph Processing — Christopher R. Aberger, Susan Tu, Kunle Olukotun, Christopher Ré
Evaluating OxiGraph Server as a triple store for small and medium-sized datasets — Masashi Yokochi and Nishad Thalhath
Lazy Evaluation of Transactions in Database Systems — Jose M. Faleiro, Alexander Thomson, Daniel J. Abadi
More Modern B-Tree Techniques — Goetz Graefe
Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types — Petru Nicolaescu, Kevin Jahns, Michael Derntl, Ralf Klamma
New Directions in Cloud Programming — Alvin Cheung, Natacha Crooks, Joseph M. Hellerstein, Matthew Milano
No Size Fits All - Running the Star Schema Benchmark with SPARQL and RDF Aggregate Views — Benedikt Kämpgen and Andreas Harth
Real time group editors without Operational transformation — Gérald Oster, Pascal Urso, Pascal Molli, Abdessamad Imine
Rethinking Serializable Multiversion Concurrency Control (Extended Version) — Jose M. Faleiro, Daniel J. Abadi
Sparrow: Distributed, Low Latency Scheduling — Kay Ousterhout, Patrick Wendell, Matei Zaharia, Ion Stoica
Telex: Principled System Support for Write-Sharing in Collaborative Applications — Lamia Benmouffok, Jean-Michel Busca, Joan Manuel Marquès, Marc Shapiro, Pierre Sutra, Georgios Tsoukalas
The Case for Determinism in Database Systems — Alexander Thomson, Daniel J. Abadi
The Design and Implementation of Modern Column-Oriented Database Systems — Daniel Abadi, Peter Boncz, Stavros Harizopoulos, Stratos Idreos, Samuel Madden
The End of an Architectural Era (It's Time for a Complete Rewrite) — Michael Stonebraker, Samuel Madden, Daniel J. Abadi, Stavros Harizopoulos, Nabil Hachem, Avanti Garde Consulting, LLC, Pat Helland, Microsoft Corporation
Virtual Time — David R. Jefferson
Worst-Case Optimal Graph Joins in Almost No Space — Diego Arroyuelo, Aidan Hogan, Gonzalo Navarro, Juan L. Reutter, Javiel Rojas-Ledesma, and Adrián Soto
Feeling of Computing (Covered) (22)
A Case for Feminism in Programming Language Design — Felienne Hermans and Ari Schlesinger
A Small Matter of Programming: Perspectives on End User Computing — Bonnie A. Nardi
As We May Think — Vannevar Bush
Augmenting Human Intellect: A Conceptual Framework — D. C. Engelbart
Beyond Being There — Jim Hollan and Scott Stornetta
Beyond efficiency — David H. Ackley
Can Machines Think? — W. Mays, Ph.D.
Choose Boring Technology — Dan McKinley
Computing Machinery and Intelligence — A. M. Turing
Interpreting the Rule(s) of Code: Performance, Performativity, and Production — Laurence Diver
Is the whole universe a computer? — Jack Copeland, Mark Sprevak, and Oron Shagrir
Let's Take Esoteric Programming Languages Seriously — Jeremy Singer; Steve Draper
Man-Computer Symbiosis — J. C. R. Licklider
Moving Beyond Syntax: Lessons from 20 Years of Blocks Programming in AgentSheets — Alexander Repenning
Myths and mythconceptions: What Does It Mean to Be a Programming Language, Anyhow? — Mary Shaw
No Silver Bullet—Essence and Accident in Software Engineering — Frederick P. Brooks, Jr.
Out of the Tar Pit — Ben Moseley and Peter Marks
Personal Dynamic Media — Alan Kay and Adele Goldberg
Propositions as Types — Philip Wadler
PYGMALION: A Creative Programming Environment — David Canfield Smith
The Mythical Man-Month — Frederick P. Brooks, Jr.
Time, Clocks, and the Ordering of Events in a Distributed System — Leslie Lamport
Feeling of Computing (Potential) (114)
“Beards, Sandals, and Other Signs of Rugged Individualism”: Masculine Culture within the Computing Professions — Nathan Ensmenger
1982 - Heuretics: Theoretical & Experimental Study of Heuristic Rules — Lenat, Douglas B.
A Cumulative Culture Theory for Developer Problem-Solving — Catherine M. Hicks, Ana Hevesi
A Laboratory for Teaching Object-Oriented Thinking — Kent Beck, Apple Computer, Inc. Ward Cunningham, Wyatt Software Services, Inc.
A Visual Programming Environment — Dan Ingalls, Scott Wallace, Yu-Ying Chow, Frank Ludolph, Ken Doyle
Aesthetic Programming — Paul A. Fishwick
Aesthetics and the Human Factor in Programming — Andrei P. Ershov
Against a Universal Definition of 'Type' — Tomas Petricek
An Interview with J. C. R. Licklider — William Aspray and Arthur Norberg
Back to the Future: The Story of Squash — Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace
BEINGS: KNOWLEDGE AS INTERACTING EXPERTS — Douglas B. Lenat
BOXER: A RECONSTRUCTABLE COMPUTATIONAL MEDIUM — Andrea A. Gieger and Harold Abelson
Can Programmers Escape the Gentle Tyranny of Call/Return? — Marcel Weiher
Can Programming Be Liberated from the Von Neumann Style? A Functional Style and Its Algebra of Programs — John Backus
Can Programming Be Liberated, Period? — David Harel
Chronicle of the Death of a Laboratory: Douglas Engelbart and the Failure of the Knowledge Workshop — Thierry Bardini and Michael Friedewald
Cognitive Dimensions of Notations — T. R. G. Green
Cognitive Support in Software Engineering Tools: A Distributed Cognition Framework — Andrew Walenstein
Communal computing for 21st-century science — Bret Victor and Luke Iannini, Dynamind Foundation; Shawn Douglas, UCSF Dept. of Cellular and Molecular Pharmacology
Computational musicking: music + coding as a hybrid practice — Cameron L. Roberts & Michael S. Horn
Computer Criticism vs. Technocentric Thinking — Seymour Papert
Computer Programs, Dialogicality, and Intentionality — Josh Tenenberg, Yifat Ben-David Kolikant
Computing versus Human Thinking — Peter Naur
Conscious Machines and Consciousness Oriented Programming — Norbert Batfai
Convivial Design Heuristics for Software Systems — Stephen Kell
Critical Architecture/Software Theory — Tomas Petricek
Croquet – A Collaborative System Architecture — David A. Smith, Alan Kay, Andreas Raab, MIT Media Laboratory
Cultures of Programming — Tomas Petricek
Debugging Parallel Programs with Instant Replay — Thomas J. LeBlanc and John M. Mellor-Crummey
Design Organization Criteria — Melvin E. Conway
Designing the Whyline: A Debugging Interface for Asking Questions about Program Behavior — Andrew J. Ko; Brad A. Myers
Direct Manipulation: A Step Beyond Programming Languages — Ben Shneiderman
Directness and Liveness in the Morphic User Interface Construction Environment — John H. Maloney, Randall B. Smith
Distributed Cognition: Toward a New Foundation for Human-Computer Interaction Research — James Hollan, Edwin Hutchins, and David Kirsh
Do Architects and Designers Think about Interactivity Differently? — David Kirsh
Elephant 2000: A Programming Language Based on Speech Acts — John McCarthy, Stanford University
End-User Development — Henry Lieberman, Fabio Paternò and Volker Wulf
Experiences With the Alternate Reality Kit — Randall B. Smith
Funding a Revolution: Government Support for Computing Research — Committee on Innovations in Computing and Communications: Lessons from History, National Research Council
Getting Computers to Understand — Butler Lampson
Hackers, Computers, and Cooperations: A Critical History of Logo and Constructionist Learning — Morgan C. Ames
If What We Made Were Real: Against Imperialism and Cartesianism in Computer Science, and for a Discipline That Creates Real Artifacts for Real Communities, Following the Faculties of Real Cognition — Antranig Basman
Improving Our Ability to Improve: A Call for Investment in a New Future — Dr. Douglas C. Engelbart
In Search of Types — Stephen Kell
Intuition in Software Development — P. Naur
J.C.R. Licklider's Vision for the IPTO — Chigusa Ishikawa Kita
Languages for Computer Music — Roger B. Dannenberg
Large Models of What? Mistaking Engineering Achievements for Human Linguistic Agency — Abeba Birhane, Marek McGann
LINDA IN CONTEXT — Nicholas Cafriero and David Gelernter
Lisp, Jazz, Aikido: Three Expressions of a Single Essence — Didier Verna
Live, Rich, and Composable: Qualities for Programming Beyond Static Text — Joshua Horowitz and Jeffrey Heer
Looking for a Humane Interface: Will Computers Ever Become Easy to Use? — Jef Raskin
Maniposynth: Bimodal Tangible Functional Programming — Brian Hempel, Ravi Chugh
Memorandum for: Members and Affiliates of the Intergalactic Computer Network — J. C. R. Licklider
Metaphor in Computer Science — T. R. Colburn; G. M. Shute
Micropipelines — Ivan E. Sutherland
Miscomputation in software: Learning to live with errors — Tomas Petricek
Natural Language, Semantic Analysis and Interactive Fiction — Graham Nelson
Next-Paradigm Programming Languages: What Will They Look Like and What Changes Will They Bring? — Yannis Smaragdakis
Not Yet Try Plugboard — Rex Rice
Notation as a Tool of Thought — Kenneth E. Ivers
Notes on Postmodern Programming — James Noble, Robert Biddle
On a 'Buzzword': Hierarchical Structure — David Parnas
On the Role of Scientific Thought — E. W. Dijkstra
Once more—a computer revolution — Joseph Weizenbaum
Pad++: A Zoomable Graphical Sketchpad for Exploring Alternate Interface Physics — Benjamin B. Bederson, James D. Hollan, Ken Perlin, Jonathan Meyer, David Bacon
PLANNER: A Language for Proving Theorems in Robots — Carl Hewitt
Playground: An Object-Oriented Simulation System with Agent Rules for Children of All Ages — Jay Fenton, Kent Beck
Program Verification — Timothy R. Colburn, James H. Fetzer, Terry L. Rankin
Program Verification: The Very Idea — James H. Fetzer
Programming as an Experience: The Inspiration for Self — Randall B. Smith and David Ungar
Programming language theory: Thinking the unthinkable (Work in progress) — Tomas Petricek
Programming Languages and the Structure of the United States Code [1] — James Grimmelmann
Programming Pearls — Jon Bentley
Reclaiming the Unexplored in Hybrid Visual Programming — Michael Homer
Reimagining the Programming Experience — Mehrdad Afshari
Scripting Graphical Applications: Demonstration — Brad A. Myers
Sketchpad, a Man-Machine Graphical Communication System — Ivan Edward Sutherland
Social Processes and Proofs of Theorems and Programs — Richard A. De Millo, Richard J. Lipton and Alan J. Perlis
Software and Anarchy — Gnuxie Lulamoon and Hayley Patton
Some Moral and Technical Consequences of Automation — Norbert Wiener
Statecharts: A Visual Formalism for Complex Systems — David Harel
Steps Toward Expressive Programming Systems: A Science Experiment — Yoshiki Ohshima, Dan Amelang, Ted Kaehler, Bert Freudenberg, Aran Lunzer, Alan Kay, Ian Piumarta, Takashi Yamamiya, Alan Borning, Hesam Samimi, Bret Victor, Kim Rose
Story-thinking, computational thinking, programming and software engineering — Austen Rainer, Catherine Menon
Supporting Informal Communication via Ephemeral Interest Groups — Laurence Brothers, Jim Hollan, Jakob Nielsen, Scott Stornetta, Steve Abney, George Furnas, and Michael Littman
Technology and Courage — Ivan Sutherland
The Cathedral and the Bazaar — Eric S. Raymond
The Centaur Programmer - How Kasparov's Advanced Chess Spans Over to the Software Development of the Future — Pedro Alves and Bruno Pereira Cipriano
The Computer Boys Take Over — Nathan Ensmenger
The Computer Programming Language — Donald E. Knuth
The Connection Machine — W. Daniel Hills
The Craft of Programming — Neville Holmes
The Dangerous Dogmas of Software Engineering — Paul Ralph, Briony J. Oates
The Declarative Imperative: Experiences and Conjectures in Distributed Logic — Joseph M. Hellerstein
The Emperor's Old Clothes — C. A. R. Hoare
The Future of Computing: Logic or Biology — Leslie Lamport
The Humble Programmer — Edsger W. Dijkstra
The Programming Language as a Musical Instrument — Alan Blackwell and Nick Collins
The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory — Alan Borning
The Real Computer Revolution Hasn't Happened Yet — Alan Kay
The Secret History of Information Hiding — David L. Parnas
The Social Dynamics of Pair Programming — Jan Chong, Tom Hurlbutt
The Structure and Legal Interpretation of Computer Programs — James Gimmelmann
The Ultimate Display — Ivan E. Sutherland
Three Paradigms of Computer Science — Amnon H. Eden
Toward Rapid Transformation of Ideas into Software — Mehrdad Ashah, Zhendong Su
Towards Endowing System Development with True Wisdom — David Harel, Guy Katz, Rami Marelly, and Assaf Marron
Tracing the Dynabook: A Study of Technocultural Transformations — John W. Maxwell
When Technology Became Language: The Origins of the Linguistic Conception of Computer Programming, 1950-1960 — David Nofre, Mark Priestley, Gerard Alberts
Why Can't Programming Be Like Sketching? — Clayton Lewis
Why Functional Programming Matters — John Hughes
Why not? — Adriane Chapman
Why Programming Is a Good Medium for Expressing Poorly Understood and Sloppily-Formulated Ideas — Marvin Minsky
Zig-Zag Path to Understanding — Rolf Landauer
Historical (32)
1983 - Why AM and Eurisko Appear to Work — Lenat, Douglas B.; Brown, John Seely
A Mathematical Theory of Communication — C. E. Shannon
Advanced Intellect-Augmentation Techniques — D. C. Engelbart and Staff of Augmentation Research Center
Afterword: What is a Dynabook? — Alan Kay
An axiomatic basis for computer programming — C. A. R. Hoare
An Empirical Study of FORTRAN Programs — Donald E. Knuth
An Idiosyncratic Systems Approach to Interactive Graphics — Nicholas Negroponte
Architectural Considerations for a New Generation of Protocols — David D. Clark and David L. Tennenhouse
ATG Education Research: The Authoring Tools Thread — Jim Spohrer
First Draft of a Report on the EDVAC — John von Neumann
Hints for Computer System Design — Butler W. Lampson
Interaction at Lincoln Laboratory in the 1960s: Looking Forward - Looking Back — William Buxton
Networked Computing in the 1990s — Lawrence G. Tesler
On Dynamic Program Relocation — W. C. McGee
On Reversible Subroutines and Computers that Run Backwards — E. D. Reilly, Jr. and F. D. Federighi
Put That There: A Voice and Gesture Interactive System Implemented at the Architecture Machine Group — Christopher Schmandt, Eric A. Hulten
Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I — John McCarthy
Smalltalk-80: Bits of History, Words of Advice — Glenn Krasner
STEPS Toward The Reinvention of Programming — Alan Kay, Dan Ingalls, Yoshiki Ohshima, Ian Piumarta, Andreas Raab
Summaries — Dave Damouth: ANALOG INPUTS TO INFORMATION SYSTEMS; John Urbach: ARCHIVAL STORAGE; J.G. Mitchell: CONSIDERATIONS FOR FUTURE OFFICE SYSTEMS; Alan Kay: DISPLAY TRANSUCERS
Systems Software Research is Irrelevant — Rob Pike
The Cedar Programming Environment: A Midterm Report and Examination — Warren Teitelman
The Design Philosophy of the DARPA Internet Protocols — David D. Clark
The Development of the C Language — Dennis M. Ritchie
The Differential Analyzer: A New Machine for Solving Differential Equations. — V. Bush, Eng.D.
The Education of a Computer — Grace Murray Hopper, Remington Rand Corp.
The Evolution of Smalltalk — Daniel Ingalls
The FORTRAN Automatic Coding System — J. W. Backus, R. J. Beeber, S. Best, R. Goldberg, L. M. Haibt, H. L. Herrick, R. A. Nelson, D. Sayre, P. B. Sheridan, H. Stern, I. Ziller, R. A. Hughes, and R. Nutt
The Interrelation Between Programming Languages and Machine Organization — R. S. Barton
The Smalltalk-76 Programming System Design and Implementation — Daniel H. H. Ingalls
The Structure of Cedar — Daniel C. Swinehart, Polle T. Zellweger, and Robert B. Hagmann
The Voice of the Turtle: Whatever Happened to AI? — Doug Lenat
Programming Languages (51)
50,000,000,000 Instructions Per Second : Design and Implementation of a 256-Core BrainFuck Computer — Sang-Woo Jun
A Concurrent Trace-based Just-In-Time Compiler for Single-threaded JavaScript — Jungwoo Ha, Mohammad R. Haghighat, Shengnan Cong, Kathryn S. McKinley
A Perspective on the Evolution of Live Programming — Steven L. Tanimoto
Allocation Removal by Partial Evaluation in a Tracing JIT — Carl Friedrich Bolz, Antonio Cuni, Maciej Fijałkowski, Michael Leuschel, Samuele Pedroni, Armin Rigo
An Efficient Implementation of SELF, a Dynamically-Typed Object-Oriented Language Based on Prototypes — Craig Chambers, David Ungar, Elgin Lee
An Incremental Approach to Compiler Construction — Abdulaziz Ghuloum
Bidirectional Typing Rules: A Tutorial — David Raymond Christiansen
Building JIT Compilers for Dynamic Languages with Low Development Effort — Baptiste Saleil and Marc Feeley
Compiler and Runtime Support for Continuation Marks — Matthew Flatt and R. Kent Dybvig
Compilers: Backend to Frontend and Back to Front Again — Abdulaziz Ghuloum
Coordination Languages and their Significance — David Gelernter and Nicholas Carriero
Copy-and-Patch Compilation — Haoran Xu, Fredrik Kjolstad
CS 7600 Survey Paper: On-Stack Replacement — Ming-Ho Yee
Debugging Optimized Code with Dynamic Deoptimization — Urs Hölzle, Craig Chambers, David Ungar
Dynamo: A Transparent Dynamic Optimization System — Evelyn D. Duesterwald, Sanjeev Banerjee, David S. H. Chang, David S. H. Chang
Effect Handlers, Evidently — Ningning Xie, Jonathan Immanuel Brachthäuser, Daniel Hillerström, Philipp Schuster, and Daan Leijen
Efficient global register allocation — Ian Rogers
From APIs to Languages: Generalising Method Names — Michael Homer, Timothy Jones, and James Noble
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire — Erik Meijer, Maarten Fokkinga, Ross Patterson
Generating Explorable Narrative Spaces with Answer Set Programming — Chinmaya Dabral, Chris Martens
Hash Map Inlining — Dibakar Gope, Mikko H. Lipasti
Hop, Skip, & Jump — Kunshan Wang, Stephen M. Blackburn, Antony L. Hosking, and Michael Norrish
Immix: A Mark-Region Garbage Collector with Space Efficiency, Fast Collection, and Mutator Performance — Stephen M. Blackburn, Kathryn S. McKinley
Interprocedural Specialization of Higher-Order Dynamic Languages Without Static Analysis — Baptiste Saleil and Marc Feeley
Is there a use for linear logic? — Philip Wadler
Josephine — Alan Jeffrey
Let's Build a Quasiquoter — Veit's Blog
Linear Scan Register Allocation — Massimiliano Poletto and Vivek Sarkar
Linear types can change the world — Philip Wadler
LLVM: A Compilation Framework for Lifelong Program Analysis and Transformation — Chris Lattner, Vikram Adve
On Understanding Data Abstraction Revisited — William R. Cook
OPTGEN: A Generator for Local Optimizations — Sebastian Buchwald
Optimizing Compilation with the Value State Dependence Graph — Alan C. Lawrence
Optimizing Dynamically-Dispatched Calls with Run-Time Type Feedback — Urs Hölzle, David Ungar
ParaLog_e: A Paraconsistent Evidential Logic Programming Language — Bráulio Coelho Ávila, Jair Minoro Abe
Programming with time: cyber-physical programming with impromptu — Andrew Sorensen, Henry Gardner
Replay Compilation: Improving Debuggability of a Just-in-Time Compiler — Kazunori Ogata, Tamiya Onodera, Kiyokuni Kawachiya
Representing Type Information in Dynamically Typed Languages — David Gudeman
Self-Optimizing AST Interpreters — Thomas Würthinger, Andreas Wöß, Lukas Stadler, Doug Simon, Christian Wimmer, Gilles Duboscq
Simple and Effective Type Check Removal through Lazy Basic Block Versioning — Maxime Chevalier-Boisvert and Marc Feeley
Simple and Efficient Construction of Static Single Assignment Form — Matthias Braun, Sebastian Buchwald, Sebastian Hack, Roland Leiska, Christoph Mallon, and Andreas Zinkau
Simple Generational Garbage Collection and Fast Allocation — Andrew W. Appel
Simple Optimizing JIT Compilation of Higher-Order Dynamic Programming Languages — Baptiste Saleil
Symbolic execution with SYMCC: Don't interpret, compile! — Sebastian Poeplau and Aurélien Francillon
Tag-Free Garbage Collection for Strongly Typed Programming Languages — Benjamin Goldberg
The Lisp in the Cellar — Frédéric Pétrotchki
TigerShrimp: An Understandable Tracing JIT Compiler — Jakob Erlandsson, Simon Kärrman
Trace-based Just-in-Time Type Specialization for Dynamic Languages — Andreas Gal, Brendan Eich, Mike Shaver, David Anderson, David Mandelin, Mohammad R. Haghighat, Blake Kaplan, Graydon Hoare, Boris Zbarsky, Jason Orendorff, Jesse Ruderman, Edwin Smith, Rick Reinman, Michael Bebenita, Mason Chang, Michael Franz
Visualizing JIT Compiler Graphs — HeuiChan Lim and Stephen Kobourov
What Is Answer Set Programming? — Vladimir Lifschitz
Worlds: Controlling the Scope of Side Effects — Alessandro Warth, Yoshiki Ohshima, Ted Kaehler, and Alan Kay
Security (11)
A Lightweight Hypervisor for Malware Analysis — Apeksha Godiyal, Anh Nguyen, Nabil Schear
Aggregation and Correlation of Intrusion-Detection Alerts — Hervé Debar, Andreas Wespi
Backtracking Intrusion — Samuel T. King, Peter M. Chen
Communication Theory of Secrecy Systems — C. E. Shannon
IntroLib: Efficient and transparent library call introspection for malware forensics — Zhuì Deng, Dongyan Xu, Xiangyu Zhang, Xuxiang Jiang
Poirot: Aligning Attack Behavior with Kernel Audit Records for Cyber Threat Hunting — Sadegh M. Milajerdi, Birhanu Eshete, Rigel Gjomemo, and V. N. Venkatakrishnan
ProTracer: Towards Practical Provenance Tracking by Alternating Between Logging and Sampling — Xiangyu Liu, Pengfei Hu, Pengfei Hu, Pengfei Hu
Return-Oriented Programming: Systems, Languages, and Applications — Ryan Roemer, Erik Buchanan, Hovav Shacham and Stefan Savage
Snort - Lightweight Intrusion Detection for Networks — Martin Roesch
SPDER: Stealthy Binary Program Instrumentation — Zhiheng Xiang, Zhiyong Zhang, and Dongrui Xu
Threat Intelligence Computing — Xiaokui Shu, Frederico Araujo, Douglas L. Schales, Marc Ph. Stoecklin, Jiyong Jang, Heqing Huang, and Josyula R. Rao