Bio


Aiken's research focuses on developing techniques for the construction of reliable software systems. His interests include both static and dynamic methods of analyzing programs, and span both detecting errors and verifying the absence of errors in software. Most of his research combines a theoretical component (for example, proving the soundness of an analysis technique) and a practical component, which often involves the implementation and measurement of advanced program analysis algorithms. Finally, his research also extends to the design of new programming languages and programming techniques in which it is easier to write software that can be checked for a wide variety of errors.

Academic Appointments


Professional Education


  • PhD, Cornell (1988)

2015-16 Courses


All Publications


  • A Direct Manipulation Environment for Programming Semantic Zoom Visualizations of Tabular Data. Journal of Visual Languages and Computing Woodruff, A., Olston, C., Aiken, A., Chu, M., Ercegovac, V., Lin, M. ; 5 (12): 551-571
  • Detecting Races in Relay Ladder Logic Programs. Software Tools for Technology Transfer Su, Z., Aiken, A., Fähndrich, M. ; 2000 (3): 93-105
  • Terra: A Multi-Stage Language for High-Performance Computing ACM SIGPLAN NOTICES DeVito, Z., Hegarty, J., Aiken, A., Hanrahan, P., Vitek, J. 2013; 48 (6): 105-115
  • Stochastic Superoptimization ACM SIGPLAN NOTICES Schkufza, E., Sharma, R., Aiken, A. 2013; 48 (4): 305-315
  • Data-Driven Equivalence Checking. Sharma, R., Schkufza, E., Churchill, B., Aiken, A. 2013
  • Crowd-scale Interactive Formal Reasoning and Analytics. Fast, E., Lee, C., Aiken, A., Bernstein, M., Koller, D., Smith, E. 2013
  • A Data Driven Approach for Algebraic Loop Invariants Sharma, R., Gupta, S., Hariharan, B., Aiken, A., Liang, P., Nori, A., V. 2013
  • Verification as Learning Geometric Concepts. Sharma, R., Gupta, S., Hariharan, B., Aiken, A., Nori, A. 2013
  • Language Support for Dynamic, Hierarchical Data Partitioning. Treichler, S., Bauer, M., Aiken, A. 2013
  • An Introduction to Data Representation Synthesis COMMUNICATIONS OF THE ACM Hawkins, P., Rinard, M., Aiken, A., Sagiv, M., Fisher, K. 2012; 55 (12): 91-99
  • Understanding the Behavior of Database Operations under Program Control ACM SIGPLAN NOTICES Tamayo, J. M., Aiken, A., Bronson, N., Sagiv, M. 2012; 47 (10): 983-995
  • Automated Error Diagnosis Using Abductive Inference ACM SIGPLAN NOTICES Dillig, I., Dillig, T., Aiken, A. 2012; 47 (6): 181-191
  • Concurrent Data Representation Synthesis ACM SIGPLAN NOTICES Hawkins, P., Aiken, A., Fisher, K., Rinard, M., Sagiv, M. 2012; 47 (6): 417-427
  • Legion: Expressing Locality and Independence with Logical Regions 2012 INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS (SC) Bauer, M., Treichler, S., Slaughter, E., Aiken, A. 2012
  • Minimum Satisfying Assignments for SMT. Dillig, I., Dillig, T., McMillan, K., Aiken, A. 2012
  • Interpolants as Classifiers. Sharma, R., Nori, A., Aiken, A. 2012
  • An Introduction to Data Representation Synthesis. Communications of the ACM Hawkins, P., Aiken, A., Fisher, K., Rinard, M., Sagiv, M. 2012; 12 (55): 91-99
  • Automated Error Diagnosis Using Abductive Inference Dillig, I., Dillig, T. 2012
  • Reasoning about Lock Placements PROGRAMMING LANGUAGES AND SYSTEMS Hawkins, P., Aiken, A., Fisher, K., Rinard, M., Sagiv, M. 2012; 7211: 336-356
  • Cuts from proofs: a complete and practical technique for solving linear inequalities over integers FORMAL METHODS IN SYSTEM DESIGN Dillig, I., Dillig, T., Aiken, A. 2011; 39 (3): 246-260
  • Programming the Memory Hierarchy Revisited: Supporting Irregular Parallelism in Sequoia ACM SIGPLAN NOTICES Bauer, M., Clark, J., Schkufza, E., Aiken, A. 2011; 46 (8): 13-23
  • Precise Reasoning for Programs Using Containers POPL 11: PROCEEDINGS OF THE 38TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES Dillig, I., Dillig, T., Aiken, A. 2011: 187-200
  • Simplifying Loop Invariant Generation Using Splitter Predicates. Sharma, R., Dillig, I., Dillig, T. 2011
  • Liszt: A Domain Specific Language for Building Portable Mesh-based PDE Solvers. DeVito, Z., Joubert, N., Palacios, F., Oakley, S., Medina, M., Barrientos, M., Aiken, A. 2011
  • Inferring Data Polymorphism in Systems Code. Hackett, B., Aiken, A. 2011
  • Advice for Program Chairs. ACM Sigplan Notices Aiken, A. 2011; 4 (46): 19-25
  • Online Detection of Multi-Component Interactions in Production Systems 2011 IEEE/IFIP 41ST INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN) Oliner, A. J., Aiken, A. 2011: 49-60
  • Precise and Compact Modular Procedure Summaries for Heap Manipulating Programs PLDI 11: PROCEEDINGS OF THE 2011 ACM CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION Dillig, I., Dillig, T., Aiken, A., Sagiv, M. 2011: 567-577
  • Testing Atomicity of Composed Concurrent Operations OOPSLA 11: PROCEEDINGS OF THE 2011 ACM INTERNATIONAL CONFERENCE ON OBJECT ORIENTED PROGRAMMING SYSTEMS LANGUAGES AND APPLICATIONS Shacham, O., Bronson, N., Aiken, A., Sagiv, M., Vechev, M., Yahav, E. 2011: 51-64
  • Automatic Fine-Grain Locking using Shape Properties OOPSLA 11: PROCEEDINGS OF THE 2011 ACM INTERNATIONAL CONFERENCE ON OBJECT ORIENTED PROGRAMMING SYSTEMS LANGUAGES AND APPLICATIONS Golan-Gueta, G., Bronson, N., Aiken, A., Ramalingam, G., Sagiv, M., Yahav, E. 2011: 225-241
  • Data Representation Synthesis PLDI 11: PROCEEDINGS OF THE 2011 ACM CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION Hawkins, P., Aiken, A., Fisher, K., Rinard, M., Sagiv, M. 2011: 38-49
  • Expanding the Frontiers of Computer Science: Designing a Curriculum to Reflect a Diverse Field SIGCSE 10: PROCEEDINGS OF THE 41ST ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION Sahami, M., Aiken, A., Zelenski, J. 2010: 47-51
  • A Query Language for Understanding Component Interactions in Production Systems. Oliner, A., Aiken, A. 2010
  • Data Structure Fusion PROGRAMMING LANGUAGES AND SYSTEMS Hawkins, P., Aiken, A., Fisher, K., Rinard, M., Sagiv, M. 2010; 6461: 204-221
  • Fluid Updates: Beyond Strong vs. Weak Updates PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS Dillig, I., Dillig, T., Aiken, A. 2010; 6012: 246-266
  • Small Formulas for Large Programs: On-Line Constraint Simplification in Scalable Static Analysis STATIC ANALYSIS Dillig, I., Dillig, T., Aiken, A. 2010; 6337: 236-252
  • Community Epidemic Detection Using Time-Correlated Anomalies RECENT ADVANCES IN INTRUSION DETECTION Oliner, A. J., Kulkarni, A. V., Aiken, A. 2010; 6307: 360-381
  • Using Correlated Surprise to Infer Shared Influence 2010 IEEE-IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS DSN Oliner, A. J., Kulkarni, A. V., Aiken, A. 2010: 191-200
  • Cuts from Proofs: A Complete and Practical Technique for Solving Linear Inequalities over Integers COMPUTER AIDED VERIFICATION, PROCEEDINGS Dillig, I., Dillig, T., Aiken, A. 2009; 5643: 233-247
  • A capability calculus for concurrency and determinism ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS Terauchi, T., Aiken, A. 2008; 30 (5)
  • Witnessing side effects ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS Terauchi, T., Aiken, A. 2008; 30 (3)
  • Sound, Complete and Scalable Path-Sensitive Analysis PLDI'08: PROCEEDINGS OF THE 2008 SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN & IMPLEMENTATION Dillig, I., Dillig, T., Aiken, A. 2008: 270-280
  • Binary Translation Using Peephole Superoptimizers. Bansal, S., Aiken, A. 2008
  • A Capability Calculus for Concurrency and Determinism (extended version). Transactions on Programming Languages and Systems Terauchi, T., Aiken, A. 2008; 5 (30): 1-30
  • Alert Detection in System Logs ICDM 2008: EIGHTH IEEE INTERNATIONAL CONFERENCE ON DATA MINING, PROCEEDINGS Oliner, A. J., Aiken, A., Stearley, J. 2008: 959-964
  • A Tuning Framework for Software-Managed Memory Hierarchies PACT'08: PROCEEDINGS OF THE SEVENTEENTH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES Ren, M., Park, J. Y., Houston, M., Aiken, A., Daily, W. J. 2008: 280-291
  • Verifying the safety of user pointer dereferences PROCEEDINGS OF THE 2008 IEEE SYMPOSIUM ON SECURITY AND PRIVACY Bugrara, S., Aiken, A. 2008: 325-338

    View details for DOI 10.1109/SP.2008.15

    View details for Web of Science ID 000256560300022

  • A Portable Runtime Interface For Multi-Level Memory Hierarchies PPOPP'08: PROCEEDINGS OF THE 2008 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING Houston, M., Park, J., Ren, M., Knight, T., Fatahalian, K., Aiken, A., Dally, W. J., Hanrahan, P. 2008: 143-152
  • Regularly annotated set constraints ACM SIGPLAN NOTICES Kodumal, J., Aiken, A. 2007; 42 (6): 331-341
  • Conditional Must Not Aliasing for Static Race Detection CONFERENCE RECORD OF POPL 2007: THE 34TH ACM SIGPLAN SIGACT SYMPOSIUM ON PRINCIPLES OF PROGAMMING LANGUAGES Naik, M., Aiken, A. 2007: 327-338
  • Measuring Empirical Computational Complexity. Goldsmith, S., Aiken, A., Wilkerson, D. 2007
  • Compilation for Explicitly Managed Memory Hierarchies. Knight, T., Park, J., Ren, M., Houston, M., Erez, M., Fatahalian, K., Aiken, A. 2007
  • Saturn: A Scalable Framework for Error Detection using Boolean Satisfiability. Transactions on Programming Languages and Systems Xie, Y., Aiken, A. 2007; 3 (29): 1-16
  • Compilation for Explicitly Managed Memory Hierarchies PROCEEDINGS OF THE 2007 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING PPOPP'07 Knight, T. J., Park, J. Y., Ren, M., Houston, M., Erez, M., Fatahalian, K., Aiken, A., Dally, W. J., Hanrahan, P. 2007: 226-236
  • SATURN: A scalable framework for error detection using Boolean satisfiability Xie, Y., Aiken, A. ASSOC COMPUTING MACHINERY. 2007
  • Static Error Detection using Semantic Inconsistency Inference PLDI'07: PROCEEDINGS OF THE 2007 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION Dillig, I., Dillig, T., Aiken, A. 2007: 435-445
  • Automatic generation of peephole superoptimizers ACM SIGPLAN NOTICES Bansal, S., Aiken, A. 2006; 41 (11): 394-403
  • Flow-insensitive type qualifiers ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS Foster, J. S., Johnson, R., Kodumal, J., Aiken, A. 2006; 28 (6): 1035-1087
  • Effective static race detection for Java ACM SIGPLAN NOTICES Naik, M., Aiken, A., Whaley, J. 2006; 41 (6): 308-319
  • A capability calculus for concurrency and determinism CONCUR 2006 - CONCURRENCY THEORY, PROCEEDINGS Terauchi, T., Aiken, A. 2006; 4137: 218-232
  • Static Detection of Security Vulnerabilities in Scripting Languages. Xie, Y., Aiken, A. 2006
  • Sequoia: Programming the Memory Hierarchy. Fatahalian, K., Knight, T., Houston, M., Erez, M., Horn, D., Leem, L., Aiken, A. 2006
  • Statistical Debugging: Simultaneous Identification of Multiple Bugs Zheng, A., Jordan, M., Liblit, B., Naik, M., Aiken, A. 2006
  • On Typability for Rank-2 Intersection Types with Polymorphic Recursion. Terauchi, T., Aiken, A. 2006
  • How is Aliasing Used in Systems Software? Hackett, B., Aiken, A. 2006
  • Static detection of security vulnerabilities in scripting languages USENIX ASSOCIATION PROCEEDINGS OF THE 15TH USENIX SECURITY SYMPOSIUM Xie, Y., Aiken, A. 2006: 179-192
  • Relational queries over program traces Goldsmith, S., O'Callahan, R., Aiken, A. ASSOC COMPUTING MACHINERY. 2005: 385-402
  • Witnessing side-effects Terauchi, T., Aiken, A. ASSOC COMPUTING MACHINERY. 2005: 105-115
  • Scalable statistical bug isolation Liblit, B., Naik, M., Zheng, A. X., Aiken, A., Jordon, M. I. ASSOC COMPUTING MACHINERY. 2005: 15-26
  • Scalable error detection using boolean satisfiability Xie, Y. C., Aiken, A. ASSOC COMPUTING MACHINERY. 2005: 351-363
  • Context- and Path-Sensitive Memory Leak Detection. Xie, Y., Aiken, A. 2005
  • Soundness and its Role in Bug Detection Systems (position paper). Xie, Y., Naik, M., Hackett, B., Aiken, A. 2005
  • Banshee: A scalable constraint-based analysis toolkit STATIC ANALYSIS, PROCEEDINGS Kodumal, J., Aiken, A. 2005; 3672: 218-234
  • Secure information flow as a safety problem STATIC ANALYSIS, PROCEEDINGS Terauchi, T., Aiken, A. 2005; 3672: 352-367
  • Saturn: A SAT-based tool for bug detection COMPUTER AIDED VERIFICATION, PROCEEDINGS Xie, Y. C., Aiken, A. 2005; 3576: 139-143
  • The set constraint/CFL reachability connection in practice Kodumal, J., Aiken, A. ASSOC COMPUTING MACHINERY. 2004: 207-218
  • Public Deployment of Cooperative Bug Isolation. Liblit, B., Naik, M., Zheng, A., Aiken, A., Jordan, M., I. 2004
  • Statistical Debugging of Sampled Programs. Zheng, A., Jordan, M., I., Liblit, B., Aiken, A. 2004
  • Type Systems for Distributed Data Sharing. Liblit, B., Aiken, A., Yelick, K. 2003
  • Bug Isolation via Remote Program Sampling. Liblit, B., Aiken, A., Zheng, A., Jordan, M., I. 2003
  • Sampling User Executions for Bug Isolation. Liblit, B., Aiken, A., Zheng, A., Jordan, M., I. 2003
  • Checking and Inferring Local Non-Aliasing Aiken, A., Foster, J., Kodumal, J., Terauchi, T. 2003
  • Winnowing: Local Algorithms for Document Fingerprinting. Schleimer, S., Wilkerson, D., Aiken, A. 2003
  • Flow-Sensitive Type Qualifiers. Foster, J., Terauchi, T., Aiken, A. 2002
  • First-Order Theory of Subtyping Constraints Su, Z., Aiken, A., Niehren, J., Priesnitz, T., Trienen, R. 2002
  • Entailment with Conditional Equality Constraints, Su, Z., Aiken, A. 2001
  • Language Support for Regions. Gay, D., Aiken, A. 2001
  • A First Step Towards Automated Detection of Buffer Overrun Vulnerabilities. Wagner, D., Foster, J., Brewer, E., Aiken, A. 2000
  • Polymorphic versus Monomorphic Flow-Insensitive Points-to Analysis for C. Foster, J., Fähndrich, M., Aiken, A. 2000
  • Projection Merging: Reducing Redundancies in Inclusion Constraint Graphs. Fähndrich, M., Su, Z., Aiken, A. 2000
  • Type Systems for Distributed Data Structures. Liblit, B., Aiken, A. 2000
  • Optimal Representations of Polymorphic Types with Subtyping. Higher-Order and Symbolic Computation Aiken, A., Wimmers, E., Palsberg, J. 1999; 3 (12)
  • Introduction to Set Constraint-Based Program Analysis. Science of Computer Programming Aiken, A. 1999; 1999 (35): 79-111
  • A Theory of Type Qualifiers. Foster, J., Fähndrich, M., Aiken, A. 1999
  • A Toolkit for Constructing Type- and Constraint-Based Program Analyses (invited paper). Aiken, A., Fähndrich, M., Foster, J., Su, Z. 1998
  • Barrier Inference. Gay, D., Aiken, A. 1998
  • Partial Online Cycle Elimination in Inclusion Constraint Graphs. Fähndrich, M., Foster, J., Su, Z., Aiken, A. 1998
  • Detecting Races in Relay Ladder Logic Programs. Aiken, A., Fähndrich, M., Su, Z. 1998
  • Titanium: A High-Performance Java Dialect. Yelick, K., Semenzato, L., Pike, G., Miyamoto, C., Liblit, B., Krishnamurthy, A., Aiken, A. 1998
  • Memory Management with Explicit Regions. Gay, D., Aiken, A. 1998
  • Attack Resistant Trust Metrics for Public Key Certification. Levien, R., Aiken, A. 1998
  • Program Analysis Using Mixed Term and Set Constraints. Fähndrich, M., Aiken, A. 1997
  • Optimal Representations of Polymorphic Types with Subtyping (Extended Abstract). Aiken, A., Wimmers, E., Palsberg, J. 1997
  • Refined Type Inference for ML. Fähndrich, M., Aiken, A. 1997
  • Making Set-Constraint Program Analyses Scale. Fähndrich, M., Aiken, A. 1996
  • Cool: A Portable Project for Teaching Compiler Construction. CM Sigplan Notices Aiken, A. 1996; 7 (31): 19-26
  • Tioga-2: A Direct Manipulation Database Visualization Environment. Aiken, A., Chen, J., Stonebraker, M., Woodruff, A. 1996
  • Decidability of Systems of Set Constraints with Negative Constraints. Information and Computation Aiken, A., Kozen, D., Wimmers, E. 1995; 1 (122): 30-44
  • Navigation and Coordination Primitives for Multidimensional Browsers. Woodruff, A., Su, A., Stonebraker, M., Paxson, C., Chen, J., Aiken, A. edited by Woodruff, A., Su, A., Stonebraker, M. 1995
  • Dynamic Typing vs. Subtype Inference. Aiken, A., Fähndrich, M. 1995
  • Resource-Constrained Software Pipelining, IEEE Transactions on Distributed and Parallel Systems Aiken, A., Nicolau, A., Novack, S. 1995; 12 (6): 1248-1270
  • The Tioga-2 Database Visualization Environment. Aiken, A., Chen, J., Lin, M., Spalding, M., Stonebraker, M., Woodruff, A. 1995
  • Better Static Memory Management: Improvements to Region-Based Analysis of Higher-Order Languages. Aiken, A., Fähndrich, M., Levien, R. 1995
  • Safe-A Semantic Technique for Transforming Programs in the Presence of Errors. ACM Transactions on Programming Languages and Systems Aiken, A., Williams, J., Wimmers, E. 1995; 1 (17): 63-84
  • Soft Typing with Conditional Types. Aiken, A., Wimmers, E., Lakshman, T., K. 1994
  • Zooming and Tunneling in Tioga: Supporting Navigation in Multidimensional Space. Woodruff, A., Wisnovsky, P., Taylor, C., Stonebraker, M., Paxson, C., Chen, J., Aiken, A. 1994
  • Using the Run-Time Sizes of Data Structures to Guide Parallel Thread Creation. Huelsbergen, L., Larus, J., Aiken, A. 1994
  • Set Constraints: Results, Applications, and Future Directions. Aiken, A. 1994
  • Directional Type Checking of Logic Programs. Aiken, A., Lakshman, T., K. 1994
  • Type Inclusion Constraints and Type Inference. Aiken, A., Wimmers, E. 1993
  • The Complexity of Set Constraints. Aiken, A., Kozen, D., Vardi, M., Wimmers, E. 1993
  • Solving Systems of Set Constraints. Aiken, A., Wimmers, E. 1992
  • Behavior of Database Production Rules: Termination, Confluence, and Observable Determinism. Aiken, A., Widom, J., Hellerstein, J., M. 1992
  • IMPLEMENTING REGULAR TREE EXPRESSIONS LECTURE NOTES IN COMPUTER SCIENCE Aiken, A., Murphy, B. R. 1991; 523: 427-447
  • A Realistic Resource-Constrained Software Pipelining Algorithm Advances in Languages and Compilers for Parallel Processing Aiken, A., Nicolau, A. edited by Aiken, A., Nicolau, A., Gelernter et al., D. MIT Press, Cambridge, Massachusetts. 1991: 274-290
  • Static Type Inference in a Dynamically Typed Language. Aiken, A., Murphy, B. 1991
  • A Theory of Compaction-Based Parallelization. Theoretical Computer Science Aiken, A. 1990; 2 (73): 121-154
  • Fine-Grain Parallelization and the Wavefront Method Languages and Compilers for Parallel Computing Aiken, A., Nicolau, A. edited by Aiken, A., Nicolau, A., Gelernter et al., D. MIT Press, Cambridge, Massachusetts. 1990: 1-16
  • Program Transformation in the Presence of Errors. Aiken, A., Williams, J., Wimmers, E. 1990
  • Fine-Grain Compilation for Pipelined Machines Journal of Supercomputing Nicolau, A., Pingali, K., Aiken, A. 1988; 3 (2): 279-295
  • Optimal Loop Parallelization. Aiken, A., Nicolau, A. 1988
  • Perfect Pipelining: A New Loop Parallelization Technique. Aiken, A., Nicolau, A. 1988
  • A Development Environment for Horizontal Microcode (revised). IEEE Transactions on Software Engineering Aiken, A., Nicolau, A. 1988; 5 (14): 584-594
  • A Development Environment for Horizontal Microcode. Aiken, A., Nicolau, A. 1986