Programs written in powerful, higher-order languages like Scheme, ML, and Common Lisp should run as fast as their FORTRAN and C counterparts. They should, but they don't. A major reason is the level of optimisation applied to these two classes of languages. Many FORTRAN and C compilers employ an arsenal of sophisticated global optimisations that depend upon data-flow analysis: common-subexpression elimination, loop-invariant detection, induction-variable elimination, and many, many more. Compilers for higher-order languages do not provide these optimisations. Without them, Scheme, LISP and ML compilers are doomed to produce code that runs slower than their FORTRAN and C counterparts.
The problem is the lack of an explicit control-flow graph at compile time, something which traditional data-flow analysis techniques require. In this dissertation, I present a technique for recovering the control-flow graph of a Scheme program at compile time. I give examples of how this information can be used to perform several data-flow analysis optimisations, including copy propagation, induction-variable elimination, useless-variable elimination, and type recovery.
The analysis is defined in terms of a non-standard semantic interpretation. The denotational semantics is carefully developed, and several theorems establishing the correctness of the semantics and the implementing algorithms are proven.
Cited By
- Zhao Z, Wang X, Xu Z, Tang Z, Li Y and Di P Incremental Call Graph Construction in Industrial Practice Proceedings of the 45th International Conference on Software Engineering: Software Engineering in Practice, (471-482)
- Park J, An S and Ryu S Automatically deriving JavaScript static analyzers from specifications using Meta-level static analysis Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (1022-1034)
- Koppel J, Kearl J and Solar-Lezama A (2022). Automatically deriving control-flow graph generators from operational semantics, Proceedings of the ACM on Programming Languages, 6:ICFP, (742-771), Online publication date: 29-Aug-2022.
- Liu B and Huang J (2022). SHARP: fast incremental context-sensitive pointer analysis for Java, Proceedings of the ACM on Programming Languages, 6:OOPSLA1, (1-28), Online publication date: 29-Apr-2022.
- Abadi A, Makovitzki B, Shemer R and Tyszberowicz S A lightweight approach for sound call graph approximation Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing, (1837-1844)
- Stiévenart Q, Van Es N, Van der Plas J and De Roover C (2022). A parallel worklist algorithm and its exploration heuristics for static modular analyses, Journal of Systems and Software, 181:C, Online publication date: 1-Nov-2021.
- Lu J, He D and Xue J (2021). Eagle, ACM Transactions on Software Engineering and Methodology, 30:4, (1-46), Online publication date: 31-Oct-2021.
- Germane K and McCarthy J (2021). Newly-single and loving it: improving higher-order must-alias analysis with heap fragments, Proceedings of the ACM on Programming Languages, 5:ICFP, (1-28), Online publication date: 22-Aug-2021.
- Gilray T, Kumar S and Micinski K Compiling data-parallel Datalog Proceedings of the 30th ACM SIGPLAN International Conference on Compiler Construction, (23-35)
- Ueno H, Toman J, Kobayashi N and Tsukada T Counterexample generation for program verification based on ownership refinement types Proceedings of the 2021 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, (44-57)
- Bruce B, Zhang T, Arora J, Xu G and Kim M JShrink: in-depth investigation into debloating modern Java applications Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (135-146)
- Grech N, Kong M, Jurisevic A, Brent L, Scholz B and Smaragdakis Y (2020). MadMax, Communications of the ACM, 63:10, (87-95), Online publication date: 23-Sep-2020.
- Li Y, Tan T, Møller A and Smaragdakis Y (2020). A Principled Approach to Selective Context Sensitivity for Pointer Analysis, ACM Transactions on Programming Languages and Systems, 42:2, (1-40), Online publication date: 30-Jun-2020.
- Sui L, Dietrich J, Tahir A and Fourtounis G On the recall of static call graph construction in practice Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, (1049-1060)
- Antoniadis A, Filippakis N, Krishnan P, Ramesh R, Allen N and Smaragdakis Y Static analysis of Java enterprise applications: frameworks and caches, the elephants in the room Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation, (794-807)
- Keidel S and Erdweg S (2019). Sound and reusable components for abstract interpretation, Proceedings of the ACM on Programming Languages, 3:OOPSLA, (1-28), Online publication date: 10-Oct-2019.
- Lu J and Xue J (2019). Precision-preserving yet fast object-sensitive pointer analysis with partial context sensitivity, Proceedings of the ACM on Programming Languages, 3:OOPSLA, (1-29), Online publication date: 10-Oct-2019.
- Facchinetti L, Palmer Z and Smith S (2019). Higher-order Demand-driven Program Analysis, ACM Transactions on Programming Languages and Systems, 41:3, (1-53), Online publication date: 30-Sep-2019.
- Khatchadourian R, Tang Y, Bagherzadeh M and Ahmed S Safe automated refactoring for intelligent parallelization of Java 8 streams Proceedings of the 41st International Conference on Software Engineering, (619-630)
- Liu B, Huang J and Rauchwerger L (2019). Rethinking Incremental and Parallel Pointer Analysis, ACM Transactions on Programming Languages and Systems, 41:1, (1-31), Online publication date: 31-Mar-2019.
- Merriënboer B, Breuleux O, Bergeron A and Lamblin P Automatic differentiation in ML Proceedings of the 32nd International Conference on Neural Information Processing Systems, (8771-8781)
- Bastani O, Sharma R, Aiken A and Liang P (2018). Active learning of points-to specifications, ACM SIGPLAN Notices, 53:4, (678-692), Online publication date: 2-Dec-2018.
- Li Y, Tan T, Møller A and Smaragdakis Y (2018). Precision-guided context sensitivity for pointer analysis, Proceedings of the ACM on Programming Languages, 2:OOPSLA, (1-29), Online publication date: 24-Oct-2018.
- Grech N, Kong M, Jurisevic A, Brent L, Scholz B and Smaragdakis Y (2018). MadMax: surviving out-of-gas conditions in Ethereum smart contracts, Proceedings of the ACM on Programming Languages, 2:OOPSLA, (1-27), Online publication date: 24-Oct-2018.
- Kim S, Rival X and Ryu S (2018). A Theoretical Foundation of Sensitivity in an Abstract Interpretation Framework, ACM Transactions on Programming Languages and Systems, 40:3, (1-44), Online publication date: 30-Sep-2018.
- Terao T Lazy Abstraction for Higher-Order Program Verification Proceedings of the 20th International Symposium on Principles and Practice of Declarative Programming, (1-13)
- Keidel S, Poulsen C and Erdweg S (2018). Compositional soundness proofs of abstract interpreters, Proceedings of the ACM on Programming Languages, 2:ICFP, (1-26), Online publication date: 30-Jul-2018.
- Bastani O, Sharma R, Aiken A and Liang P Active learning of points-to specifications Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation, (678-692)
- Nguyễn P, Gilray T, Tobin-Hochstadt S and Van Horn D (2017). Soft contract verification for higher-order stateful programs, Proceedings of the ACM on Programming Languages, 2:POPL, (1-30), Online publication date: 1-Jan-2018.
- Grech N and Smaragdakis Y (2017). P/Taint: unified points-to and taint analysis, Proceedings of the ACM on Programming Languages, 1:OOPSLA, (1-28), Online publication date: 12-Oct-2017.
- Tan T, Li Y and Xue J (2017). Efficient and precise points-to analysis: modeling the heap by merging equivalent automata, ACM SIGPLAN Notices, 52:6, (278-291), Online publication date: 14-Sep-2017.
- Thiessen R and Lhoták O (2017). Context transformations for pointer analysis, ACM SIGPLAN Notices, 52:6, (263-277), Online publication date: 14-Sep-2017.
- Dietrich J, Sui L, Rasheed S and Tahir A On the construction of soundness oracles Proceedings of the 6th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis, (37-42)
- Balatsouras G, Ferles K, Kastrinis G and Smaragdakis Y A Datalog model of must-alias analysis Proceedings of the 6th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis, (7-12)
- Tan T, Li Y and Xue J Efficient and precise points-to analysis: modeling the heap by merging equivalent automata Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, (278-291)
- Thiessen R and Lhoták O Context transformations for pointer analysis Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, (263-277)
- Padhye R and Sen K Travioli Proceedings of the 39th International Conference on Software Engineering, (473-483)
- Germane K and Might M (2017). A posteriori environment analysis with Pushdown Delta CFA, ACM SIGPLAN Notices, 52:1, (19-31), Online publication date: 11-May-2017.
- Baydin A, Pearlmutter B, Radul A and Siskind J (2017). Automatic differentiation in machine learning, The Journal of Machine Learning Research, 18:1, (5595-5637), Online publication date: 1-Jan-2017.
- Germane K and Might M A posteriori environment analysis with Pushdown Delta CFA Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, (19-31)
- Gilray T, Adams M and Might M (2016). Allocation characterizes polyvariance: a unified methodology for polyvariant control-flow analysis, ACM SIGPLAN Notices, 51:9, (407-420), Online publication date: 5-Dec-2016.
- Wei S, Tripp O, Ryder B and Dolby J Revamping JavaScript static analysis via localization and remediation of root causes of imprecision Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, (487-498)
- Gilray T, Adams M and Might M Allocation characterizes polyvariance: a unified methodology for polyvariant control-flow analysis Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming, (407-420)
- Spaccasassi C and Koutavas V Type-Based Analysis for Session Inference Extended Abstract 36th IFIP WG 6.1 International Conference on Formal Techniques for Distributed Objects, Components, and Systems - Volume 9688, (248-266)
- Sena D, Coelho R, Kulesza U and Bonifácio R Understanding the exception handling strategies of Java libraries Proceedings of the 13th International Conference on Mining Software Repositories, (212-222)
- Leißa R, Boesche K, Hack S, Membarth R and Slusallek P (2015). Shallow embedding of DSLs via online partial evaluation, ACM SIGPLAN Notices, 51:3, (11-20), Online publication date: 11-May-2016.
- Sena D, Coelho R and Kulesza U Integrated analysis of exception flows and handler actions in Java libraries Proceedings of the 31st Annual ACM Symposium on Applied Computing, (1520-1526)
- Stancu C, Wimmer C, Brunthaler S, Larsen P and Franz M (2015). Safe and efficient hybrid memory management for Java, ACM SIGPLAN Notices, 50:11, (81-92), Online publication date: 28-Jan-2016.
- Darais D, Might M and Van Horn D (2015). Galois transformers and modular abstract interpreters: reusable metatheory for program analysis, ACM SIGPLAN Notices, 50:10, (552-571), Online publication date: 18-Dec-2015.
- Dietrich J, Hollingum N and Scholz B (2015). Giga-scale exhaustive points-to analysis for Java in under a minute, ACM SIGPLAN Notices, 50:10, (535-551), Online publication date: 18-Dec-2015.
- Feng Y, Wang X, Dillig I and Lin C (2015). EXPLORER : query- and demand-driven exploration of interprocedural control flow properties, ACM SIGPLAN Notices, 50:10, (520-534), Online publication date: 18-Dec-2015.
- Ferrara P, Tripp O and Pistoia M MorphDroid Proceedings of the 31st Annual Computer Security Applications Conference, (371-380)
- Ali K, Rapoport M, Lhoták O, Dolby J and Tip F (2015). Type-Based Call Graph Construction Algorithms for Scala, ACM Transactions on Software Engineering and Methodology, 25:1, (1-43), Online publication date: 2-Dec-2015.
- Leißa R, Boesche K, Hack S, Membarth R and Slusallek P Shallow embedding of DSLs via online partial evaluation Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, (11-20)
- Darais D, Might M and Van Horn D Galois transformers and modular abstract interpreters: reusable metatheory for program analysis Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, (552-571)
- Dietrich J, Hollingum N and Scholz B Giga-scale exhaustive points-to analysis for Java in under a minute Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, (535-551)
- Feng Y, Wang X, Dillig I and Lin C EXPLORER : query- and demand-driven exploration of interprocedural control flow properties Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, (520-534)
- Kobayashi N and Li X Automata-Based Abstraction Refinement for µHORS Model Checking Proceedings of the 2015 30th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS), (713-724)
- Stancu C, Wimmer C, Brunthaler S, Larsen P and Franz M Safe and efficient hybrid memory management for Java Proceedings of the 2015 International Symposium on Memory Management, (81-92)
- Voirol N, Kneuss E and Kuncak V Counter-example complete verification for higher-order functions Proceedings of the 6th ACM SIGPLAN Symposium on Scala, (18-29)
- Glaze D and Van Horn D (2014). Abstracting abstract control, ACM SIGPLAN Notices, 50:2, (11-22), Online publication date: 12-May-2015.
- Leißa R, Köster M and Hack S A graph-based higher-order intermediate representation Proceedings of the 13th Annual IEEE/ACM International Symposium on Code Generation and Optimization, (202-212)
- Andreasen E and Møller A (2014). Determinacy in static analysis for jQuery, ACM SIGPLAN Notices, 49:10, (17-31), Online publication date: 31-Dec-2015.
- Bergstrom L, Fluet M, Le M, Reppy J and Sandler N (2014). Practical and effective higher-order optimizations, ACM SIGPLAN Notices, 49:9, (81-93), Online publication date: 26-Nov-2014.
- Glaze D and Van Horn D Abstracting abstract control Proceedings of the 10th ACM Symposium on Dynamic languages, (11-22)
- Andreasen E and Møller A Determinacy in static analysis for jQuery Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, (17-31)
- Stancu C, Wimmer C, Brunthaler S, Larsen P and Franz M Comparing points-to static analysis with runtime recorded profiling data Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools, (157-168)
- Bergstrom L, Fluet M, Le M, Reppy J and Sandler N Practical and effective higher-order optimizations Proceedings of the 19th ACM SIGPLAN international conference on Functional programming, (81-93)
- Ali K, Rapoport M, Lhoták O, Dolby J and Tip F Constructing Call Graphs of Scala Programs Proceedings of the 28th European Conference on ECOOP 2014 --- Object-Oriented Programming - Volume 8586, (54-79)
- Smaragdakis Y, Kastrinis G and Balatsouras G Introspective analysis Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, (485-495)
- Smaragdakis Y, Kastrinis G and Balatsouras G (2014). Introspective analysis, ACM SIGPLAN Notices, 49:6, (485-495), Online publication date: 5-Jun-2014.
- Hardekopf B, Wiedermann B, Churchill B and Kashyap V Widening for Control-Flow Proceedings of the 15th International Conference on Verification, Model Checking, and Abstract Interpretation - Volume 8318, (472-491)
- Broadbent C, Carayol A, Hague M and Serre O (2013). C-SHORe, ACM SIGPLAN Notices, 48:9, (13-24), Online publication date: 12-Nov-2013.
- Smaragdakis Y, Balatsouras G and Kastrinis G (2013). Set-based pre-processing for points-to analysis, ACM SIGPLAN Notices, 48:10, (253-270), Online publication date: 12-Nov-2013.
- Sumner W and Zhang X Identifying execution points for dynamic analyses Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering, (81-91)
- Liang S, Keep A, Might M, Lyde S, Gilray T, Aldous P and Van Horn D Sound and precise malware analysis for android via pushdown reachability and entry-point saturation Proceedings of the Third ACM workshop on Security and privacy in smartphones & mobile devices, (21-32)
- Smaragdakis Y, Balatsouras G and Kastrinis G Set-based pre-processing for points-to analysis Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications, (253-270)
- Broadbent C, Carayol A, Hague M and Serre O C-SHORe Proceedings of the 18th ACM SIGPLAN international conference on Functional programming, (13-24)
- Leonard T, Hall-May M and Surridge M (2013). Modelling Access Propagation in Dynamic Systems, ACM Transactions on Information and System Security, 16:2, (1-31), Online publication date: 1-Sep-2013.
- Sergey I, Devriese D, Might M, Midtgaard J, Darais D, Clarke D and Piessens F (2013). Monadic abstract interpreters, ACM SIGPLAN Notices, 48:6, (399-410), Online publication date: 23-Jun-2013.
- Kastrinis G and Smaragdakis Y (2013). Hybrid context-sensitivity for points-to analysis, ACM SIGPLAN Notices, 48:6, (423-434), Online publication date: 23-Jun-2013.
- Sergey I, Devriese D, Might M, Midtgaard J, Darais D, Clarke D and Piessens F Monadic abstract interpreters Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation, (399-410)
- Kastrinis G and Smaragdakis Y Hybrid context-sensitivity for points-to analysis Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation, (423-434)
- Park C, Sen K and Iancu C Scaling data race detection for partitioned global address space programs Proceedings of the 27th international ACM conference on International conference on supercomputing, (47-58)
- Gilray T and Might M A Survey of Polyvariance in Abstract Interpretations Revised Selected Papers of the 14th International Symposium on Trends in Functional Programming - Volume 8322, (134-148)
- Lyde S and Might M Control-Flow Analysis with SAT Solvers Revised Selected Papers of the 14th International Symposium on Trends in Functional Programming - Volume 8322, (125-133)
- Kastrinis G and Smaragdakis Y Efficient and effective handling of exceptions in java points-to analysis Proceedings of the 22nd international conference on Compiler Construction, (41-60)
- Nasre R (2012). Exploiting the structure of the constraint graph for efficient points-to analysis, ACM SIGPLAN Notices, 47:11, (121-132), Online publication date: 8-Jan-2013.
- Tobin-Hochstadt S and Van Horn D (2012). Higher-order symbolic execution via contracts, ACM SIGPLAN Notices, 47:10, (537-554), Online publication date: 15-Nov-2012.
- Tobin-Hochstadt S and Van Horn D Higher-order symbolic execution via contracts Proceedings of the ACM international conference on Object oriented programming systems languages and applications, (537-554)
- Earl C, Sergey I, Might M and Van Horn D (2012). Introspective pushdown analysis of higher-order programs, ACM SIGPLAN Notices, 47:9, (177-188), Online publication date: 15-Oct-2012.
- Wilkerson J (2012). A Source Code Change Impact Analysis Algorithm for Iterative Software Development, International Journal of Decision Support System Technology, 4:4, (60-75), Online publication date: 1-Oct-2012.
- Midtgaard J, Adams M and Might M A structural soundness proof for shivers's escape technique Proceedings of the 19th international conference on Static Analysis, (352-369)
- Madhavan R, Ramalingam G and Vaswani K Modular heap analysis for higher-order programs Proceedings of the 19th international conference on Static Analysis, (370-387)
- Calvert P and Mycroft A Control flow analysis for the join calculus Proceedings of the 19th international conference on Static Analysis, (181-197)
- Earl C, Sergey I, Might M and Van Horn D Introspective pushdown analysis of higher-order programs Proceedings of the 17th ACM SIGPLAN international conference on Functional programming, (177-188)
- Nasre R Exploiting the structure of the constraint graph for efficient points-to analysis Proceedings of the 2012 international symposium on Memory Management, (121-132)
- Midtgaard J (2012). Control-flow analysis of functional programs, ACM Computing Surveys, 44:3, (1-33), Online publication date: 1-Jun-2012.
- Tobita Y, Tsukada T and Kobayashi N Exact flow analysis by higher-order model checking Proceedings of the 11th international conference on Functional and Logic Programming, (275-289)
- Ryder B and Wiedermann B (2012). Language design and analyzability, Software—Practice & Experience, 42:1, (3-18), Online publication date: 1-Jan-2012.
- Might M and Van Horn D Family of abstract interpretations for static analysis of concurrent higher-order programs Proceedings of the 18th international conference on Static analysis, (180-197)
- Grabowski R, Hofmann M and Li K Type-Based enforcement of secure programming guidelines -- code injection prevention at SAP Proceedings of the 8th international conference on Formal Aspects of Security and Trust, (182-197)
- Van Horn D and Might M (2011). Abstracting abstract machines, Communications of the ACM, 54:9, (101-109), Online publication date: 1-Sep-2011.
- Xiao X and Zhang C Geometric encoding Proceedings of the 2011 International Symposium on Software Testing and Analysis, (188-198)
- Guarnieri S, Pistoia M, Tripp O, Dolby J, Teilhet S and Berg R Saving the world wide web from vulnerable JavaScript Proceedings of the 2011 International Symposium on Software Testing and Analysis, (177-187)
- Tóth M and Bozó I Static analysis of complex software systems implemented in erlang Proceedings of the 4th Summer School conference on Central European Functional Programming School, (440-498)
- Ducournau R (2011). Implementing statically typed object-oriented programming languages, ACM Computing Surveys, 43:3, (1-48), Online publication date: 1-Apr-2011.
- Guha A, Saftoiu C and Krishnamurthi S Typing local control and state using flow analysis Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software, (256-275)
- Ong C and Ramsay S Verifying higher-order functional programs with pattern-matching algebraic data types Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (587-598)
- Prabhu T, Ramalingam S, Might M and Hall M EigenCFA Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (511-522)
- Smaragdakis Y, Bravenboer M and Lhoták O Pick your contexts well Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (17-30)
- Ong C and Ramsay S (2011). Verifying higher-order functional programs with pattern-matching algebraic data types, ACM SIGPLAN Notices, 46:1, (587-598), Online publication date: 26-Jan-2011.
- Prabhu T, Ramalingam S, Might M and Hall M (2011). EigenCFA, ACM SIGPLAN Notices, 46:1, (511-522), Online publication date: 26-Jan-2011.
- Smaragdakis Y, Bravenboer M and Lhoták O (2011). Pick your contexts well, ACM SIGPLAN Notices, 46:1, (17-30), Online publication date: 26-Jan-2011.
- Vardoulakis D and Shivers O Ordering multiple continuations on the stack Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation, (13-22)
- Sumner W and Zhang X Memory indexing Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering, (217-226)
- Tobin-Hochstadt S and Felleisen M (2010). Logical types for untyped languages, ACM SIGPLAN Notices, 45:9, (117-128), Online publication date: 27-Sep-2010.
- Holdermans S and Hage J (2010). Polyvariant flow analysis with higher-ranked polymorphic types and higher-order effect operators, ACM SIGPLAN Notices, 45:9, (63-74), Online publication date: 27-Sep-2010.
- Van Horn D and Might M (2010). Abstracting abstract machines, ACM SIGPLAN Notices, 45:9, (51-62), Online publication date: 27-Sep-2010.
- Tobin-Hochstadt S and Felleisen M Logical types for untyped languages Proceedings of the 15th ACM SIGPLAN international conference on Functional programming, (117-128)
- Holdermans S and Hage J Polyvariant flow analysis with higher-ranked polymorphic types and higher-order effect operators Proceedings of the 15th ACM SIGPLAN international conference on Functional programming, (63-74)
- Van Horn D and Might M Abstracting abstract machines Proceedings of the 15th ACM SIGPLAN international conference on Functional programming, (51-62)
- Might M Abstract interpreters for free Proceedings of the 17th international conference on Static analysis, (407-421)
- Sallenave O and Ducournau R Efficient compilation of .NET programs for embedded systems Proceedings of the Workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems, (1-8)
- Might M, Smaragdakis Y and Van Horn D (2010). Resolving and exploiting the k-CFA paradox, ACM SIGPLAN Notices, 45:6, (305-315), Online publication date: 12-Jun-2010.
- Might M, Smaragdakis Y and Van Horn D Resolving and exploiting the k-CFA paradox Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation, (305-315)
- Beringer L, Grabowski R and Hofmann M Verifying pointer and string analyses with region type systems Proceedings of the 16th international conference on Logic for programming, artificial intelligence, and reasoning, (82-102)
- Might M Shape analysis in the absence of pointers and structure Proceedings of the 11th international conference on Verification, Model Checking, and Abstract Interpretation, (263-278)
- Li X and Ogawa M (2009). An Ahead-of-time Yet Context-Sensitive Points-to Analysis for Java, Electronic Notes in Theoretical Computer Science (ENTCS), 253:5, (31-46), Online publication date: 1-Dec-2009.
- Ducournau R, Morandat F and Privat J Empirical assessment of object-oriented implementations with multiple inheritance and static typing Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications, (41-60)
- Ducournau R, Morandat F and Privat J (2009). Empirical assessment of object-oriented implementations with multiple inheritance and static typing, ACM SIGPLAN Notices, 44:10, (41-60), Online publication date: 25-Oct-2009.
- Lundberg J, Gutzmann T, Edvinsson M and Löwe W (2009). Fast and precise points-to analysis, Information and Software Technology, 51:10, (1428-1439), Online publication date: 1-Oct-2009.
- Dimoulas C, Pucella R and Felleisen M Future contracts Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming, (195-206)
- Lövei L Automated module interface upgrade Proceedings of the 8th ACM SIGPLAN workshop on ERLANG, (11-22)
- Danvy O and Millikin K (2009). Refunctionalization at work, Science of Computer Programming, 74:8, (534-549), Online publication date: 1-Jun-2009.
- Tóth M, Bozó I, Horváth Z, Lövei L, Tejfel M and Kozsik T Impact analysis of erlang programs using behaviour dependency graphs Proceedings of the Third summer school conference on Central European functional programming school, (372-390)
- Grothoff C (2008). The Runabout, Software—Practice & Experience, 38:14, (1531-1560), Online publication date: 30-Nov-2008.
- Van Horn D and Mairson H (2008). Deciding kCFA is complete for EXPTIME, ACM SIGPLAN Notices, 43:9, (275-282), Online publication date: 27-Sep-2008.
- Van Horn D and Mairson H Deciding kCFA is complete for EXPTIME Proceedings of the 13th ACM SIGPLAN international conference on Functional programming, (275-282)
- Fisher D and Shivers O (2008). Building language towers with ziggurat, Journal of Functional Programming, 18:5-6, (707-780), Online publication date: 1-Sep-2008.
- Might M and Shivers O (2008). Exploiting reachability and cardinality in higher-order flow analysis, Journal of Functional Programming, 18:5-6, (821-864), Online publication date: 1-Sep-2008.
- Midtgaard J and Jensen T A Calculational Approach to Control-Flow Analysis by Abstract Interpretation Proceedings of the 15th international symposium on Static Analysis, (347-362)
- Van Horn D and Mairson H Flow Analysis, Linearity, and PTIME Proceedings of the 15th international symposium on Static Analysis, (255-269)
- Maule A, Emmerich W and Rosenblum D Impact analysis of database schema changes Proceedings of the 30th international conference on Software engineering, (451-460)
- Ong C Verification of higher-order computation Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems, (299-306)
- Tobin-Hochstadt S and Felleisen M (2008). The design and implementation of typed scheme, ACM SIGPLAN Notices, 43:1, (395-406), Online publication date: 14-Jan-2008.
- Tobin-Hochstadt S and Felleisen M The design and implementation of typed scheme Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (395-406)
- Shroff P, Skalka C and Smith S The nuggetizer Proceedings of the 5th Asian conference on Programming languages and systems, (2-18)
- Van Horn D and Mairson H Relating complexity and precision in control flow analysis Proceedings of the 12th ACM SIGPLAN international conference on Functional programming, (85-96)
- Sereni D Termination analysis and call graph construction for higher-order functional programs Proceedings of the 12th ACM SIGPLAN international conference on Functional programming, (71-84)
- Van Horn D and Mairson H (2007). Relating complexity and precision in control flow analysis, ACM SIGPLAN Notices, 42:9, (85-96), Online publication date: 1-Oct-2007.
- Sereni D (2007). Termination analysis and call graph construction for higher-order functional programs, ACM SIGPLAN Notices, 42:9, (71-84), Online publication date: 1-Oct-2007.
- Foley S Tactics for minimal interference from class loading in real-time Java™ Proceedings of the 5th international workshop on Java technologies for real-time and embedded systems, (23-32)
- Zhang W and Ryder B (2007). Automatic construction of accurate application call graph with library call abstraction for Java, Journal of Software Maintenance and Evolution: Research and Practice, 19:4, (231-252), Online publication date: 1-Jul-2007.
- Ramanathan M, Grama A and Jagannathan S Static specification inference using predicate mining Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation, (123-134)
- Zhang W and Ryder B Discovering accurate interclass test dependences Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, (55-62)
- Ramanathan M, Grama A and Jagannathan S (2007). Static specification inference using predicate mining, ACM SIGPLAN Notices, 42:6, (123-134), Online publication date: 10-Jun-2007.
- Might M and Shivers O (2007). Analyzing the environment structure of higher-order languages using frame strings, Theoretical Computer Science, 375:1-3, (137-168), Online publication date: 20-Apr-2007.
- Jones N and Andersen N (2007). Flow analysis of lazy higher-order functional programs, Theoretical Computer Science, 375:1-3, (120-136), Online publication date: 20-Apr-2007.
- Kumar R and Chakraborty S (2007). Precise static type analysis for object oriented programs, ACM SIGPLAN Notices, 42:2, (17-26), Online publication date: 1-Feb-2007.
- Reppy J and Xiao Y Specialization of CML message-passing primitives Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (315-326)
- Might M Logic-flow analysis of higher-order programs Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (185-198)
- Reppy J and Xiao Y (2007). Specialization of CML message-passing primitives, ACM SIGPLAN Notices, 42:1, (315-326), Online publication date: 17-Jan-2007.
- Might M (2007). Logic-flow analysis of higher-order programs, ACM SIGPLAN Notices, 42:1, (185-198), Online publication date: 17-Jan-2007.
- Hashimoto M A method of safety analysis for runtime code update Proceedings of the 11th Asian computing science conference on Advances in computer science: secure software and related issues, (60-74)
- Fisher D and Shivers O Static analysis for syntax objects Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming, (111-121)
- Might M and Shivers O Improving flow analyses via ΓCFA Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming, (13-25)
- Fisher D and Shivers O (2006). Static analysis for syntax objects, ACM SIGPLAN Notices, 41:9, (111-121), Online publication date: 16-Sep-2006.
- Might M and Shivers O (2006). Improving flow analyses via ΓCFA, ACM SIGPLAN Notices, 41:9, (13-25), Online publication date: 16-Sep-2006.
- Reppy J Type-sensitive control-flow analysis Proceedings of the 2006 workshop on ML, (74-83)
- Shivers O and Fisher D (2006). Multi-return function call, Journal of Functional Programming, 16:4-5, (547-582), Online publication date: 1-Jul-2006.
- Might M and Shivers O (2006). Environment analysis via ΔCFA, ACM SIGPLAN Notices, 41:1, (127-140), Online publication date: 12-Jan-2006.
- Might M and Shivers O Environment analysis via ΔCFA Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (127-140)
- Sereni D and Jones N Termination analysis of higher-order functional programs Proceedings of the Third Asian conference on Programming Languages and Systems, (281-297)
- Spoon S and Shivers O Dynamic data polyvariance using source-tagged classes Proceedings of the 2005 symposium on Dynamic languages, (35-48)
- Balaban I, Tip F and Fuhrer R Refactoring support for class library migration Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (265-279)
- Balaban I, Tip F and Fuhrer R (2005). Refactoring support for class library migration, ACM SIGPLAN Notices, 40:10, (265-279), Online publication date: 12-Oct-2005.
- Glew N, Palsberg J and Grothoff C Type-safe optimisation of plugin architectures Proceedings of the 12th international conference on Static Analysis, (135-154)
- Mock M, Atkinson D, Chambers C and Eggers S (2005). Program Slicing with Dynamic Points-To Sets, IEEE Transactions on Software Engineering, 31:8, (657-678), Online publication date: 1-Aug-2005.
- Danvy O and Nielsen L (2005). CPS transformation of beta-redexes, Information Processing Letters, 94:5, (217-224), Online publication date: 15-Jun-2005.
- Fu C, Milanova A, Ryder B and Wonnacott D (2005). Robustness Testing of Java Server Applications, IEEE Transactions on Software Engineering, 31:4, (292-311), Online publication date: 1-Apr-2005.
- Brylow D and Palsberg J (2004). Deadline Analysis of Interrupt-Driven Software, IEEE Transactions on Software Engineering, 30:10, (634-655), Online publication date: 1-Oct-2004.
- Danvy O A rational deconstruction of landin's SECD machine Proceedings of the 16th international conference on Implementation and Application of Functional Languages, (52-71)
- Fu C, Ryder B, Milanova A and Wonnacott D Testing of java web services for robustness Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis, (23-34)
- Dor N, Adams S, Das M and Yang Z Software validation via scalable path-sensitive value flow analysis Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis, (12-22)
- Rountev A, Kagan S and Gibas M Static and dynamic analysis of call chains in java Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis, (1-11)
- Fu C, Ryder B, Milanova A and Wonnacott D (2004). Testing of java web services for robustness, ACM SIGSOFT Software Engineering Notes, 29:4, (23-34), Online publication date: 1-Jul-2004.
- Dor N, Adams S, Das M and Yang Z (2004). Software validation via scalable path-sensitive value flow analysis, ACM SIGSOFT Software Engineering Notes, 29:4, (12-22), Online publication date: 1-Jul-2004.
- Rountev A, Kagan S and Gibas M (2004). Static and dynamic analysis of call chains in java, ACM SIGSOFT Software Engineering Notes, 29:4, (1-11), Online publication date: 1-Jul-2004.
- Whaley J and Lam M (2004). Cloning-based context-sensitive pointer alias analysis using binary decision diagrams, ACM SIGPLAN Notices, 39:6, (131-144), Online publication date: 9-Jun-2004.
- Whaley J and Lam M Cloning-based context-sensitive pointer alias analysis using binary decision diagrams Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation, (131-144)
- Rountev A, Milanova A and Ryder B (2004). Fragment Class Analysis for Testing of Polymorphism in Java Software, IEEE Transactions on Software Engineering, 30:6, (372-387), Online publication date: 1-Jun-2004.
- Flanagan C, Sabry A, Duba B and Felleisen M (2004). The essence of compiling with continuations, ACM SIGPLAN Notices, 39:4, (502-514), Online publication date: 1-Apr-2004.
- Shivers O (2004). Higher-order control-flow analysis in retrospect, ACM SIGPLAN Notices, 39:4, (257-269), Online publication date: 1-Apr-2004.
- Kranz D, Kelsey R, Rees J, Hudak P, Philbin J and Adams N (2004). Orbit, ACM SIGPLAN Notices, 39:4, (175-191), Online publication date: 1-Apr-2004.
- von Behren R, Condit J, Zhou F, Necula G and Brewer E (2003). Capriccio, ACM SIGOPS Operating Systems Review, 37:5, (268-281), Online publication date: 1-Dec-2003.
- von Behren R, Condit J, Zhou F, Necula G and Brewer E Capriccio Proceedings of the nineteenth ACM symposium on Operating systems principles, (268-281)
- Brylow D and Palsberg J (2003). Deadline analysis of interrupt-driven software, ACM SIGSOFT Software Engineering Notes, 28:5, (198-207), Online publication date: 1-Sep-2003.
- Brylow D and Palsberg J Deadline analysis of interrupt-driven software Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering, (198-207)
- Palacz K, Baker J, Flack C, Grothoff C, Yamauchi H and Vitek J Engineering a customizable intermediate representation Proceedings of the 2003 workshop on Interpreters, virtual machines and emulators, (67-76)
- Rountev A, Milanova A and Ryder B Fragment class analysis for testing of polymorphism in Java software Proceedings of the 25th International Conference on Software Engineering, (210-220)
- Monnier S and Shao Z (2003). Inlining as staged computation, Journal of Functional Programming, 13:3, (647-676), Online publication date: 1-May-2003.
- Fischbach A and Hannan J (2003). Specification and correctness of lambda lifting, Journal of Functional Programming, 13:3, (509-543), Online publication date: 1-May-2003.
- Ryder B Dimensions of precision in reference analysis of object-oriented programming languages Proceedings of the 12th international conference on Compiler construction, (126-137)
- Mock M, Atkinson D, Chambers C and Eggers S Improving program slicing with dynamic points-to data Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering, (71-80)
- Mock M, Atkinson D, Chambers C and Eggers S (2002). Improving program slicing with dynamic points-to data, ACM SIGSOFT Software Engineering Notes, 27:6, (71-80), Online publication date: 1-Nov-2002.
- Reppy J (2002). Optimizing Nested Loops Using Local CPS Conversion, Higher-Order and Symbolic Computation, 15:2-3, (161-180), Online publication date: 1-Sep-2002.
- Yi K and Ryu S (2002). A cost-effective estimation of uncaught exceptions in standard ML programs, Theoretical Computer Science, 277:1-2, (185-217), Online publication date: 28-Apr-2002.
- Jensen T Types in program analysis The essence of computation, (204-222)
- Souter A and Pollock L Incremental Call Graph Reanalysis for Object-Oriented Software Maintenance Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
- Neubauer M and Sperber M (2001). Down with Emacs Lisp, ACM SIGPLAN Notices, 36:10, (38-49), Online publication date: 1-Oct-2001.
- Dimock A, Westmacott I, Muller R, Turbak F and Wells J (2001). Functioning without closure, ACM SIGPLAN Notices, 36:10, (14-25), Online publication date: 1-Oct-2001.
- Neubauer M and Sperber M Down with Emacs Lisp Proceedings of the sixth ACM SIGPLAN international conference on Functional programming, (38-49)
- Dimock A, Westmacott I, Muller R, Turbak F and Wells J Functioning without closure Proceedings of the sixth ACM SIGPLAN international conference on Functional programming, (14-25)
- Danvy O and Nielsen L Defunctionalization at work Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming, (162-174)
- Kobayashi N (2001). Type-Based Useless-Variable Elimination, Higher-Order and Symbolic Computation, 14:2-3, (221-260), Online publication date: 1-Sep-2001.
- Hind M Pointer analysis Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, (54-61)
- Palsberg J Type-based analysis and applications Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, (20-27)
- Barthe G and Serpette B Static reduction analysis for imperative object oriented languages Proceedings of the 7th international conference on Logic for programming and automated reasoning, (344-361)
- Tip F and Palsberg J (2000). Scalable propagation-based call graph construction algorithms, ACM SIGPLAN Notices, 35:10, (281-293), Online publication date: 1-Oct-2000.
- Sundaresan V, Hendren L, Razafimahefa C, Vallée-Rai R, Lam P, Gagnon E and Godin C (2000). Practical virtual method call resolution for Java, ACM SIGPLAN Notices, 35:10, (264-280), Online publication date: 1-Oct-2000.
- Tip F and Palsberg J Scalable propagation-based call graph construction algorithms Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (281-293)
- Sundaresan V, Hendren L, Razafimahefa C, Vallée-Rai R, Lam P, Gagnon E and Godin C Practical virtual method call resolution for Java Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (264-280)
- Hannan J and Hicks P (2000). Higher-Order UnCurrying, Higher-Order and Symbolic Computation, 13:3, (179-216), Online publication date: 1-Sep-2000.
- Di Blasio P, Fisher K and Talcott C (2000). A Control-Flow Analysis for a Calculus of Concurrent Objects, IEEE Transactions on Software Engineering, 26:7, (617-634), Online publication date: 1-Jul-2000.
- Kobayashi N Type-based useless variable elimination Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation, (84-93)
- Kobayashi N (1999). Type-based useless variable elimination, ACM SIGPLAN Notices, 34:11, (84-93), Online publication date: 1-Nov-1999.
- Wand M and Siveroni I Constraint systems for useless variable elimination Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (291-302)
- Pessaux F and Leroy X Type-based analysis of uncaught exceptions Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (276-290)
- Shao Z (1998). Typed cross-module compilation, ACM SIGPLAN Notices, 34:1, (141-152), Online publication date: 1-Jan-1999.
- Benton N, Kennedy A and Russell G (1998). Compiling standard ML to Java bytecodes, ACM SIGPLAN Notices, 34:1, (129-140), Online publication date: 1-Jan-1999.
- Reynolds J (1998). Definitional Interpreters Revisited, Higher-Order and Symbolic Computation, 11:4, (355-361), Online publication date: 1-Dec-1998.
- Palsberg J (1998). Equality-based flow analysis versus recursive types, ACM Transactions on Programming Languages and Systems, 20:6, (1251-1264), Online publication date: 1-Nov-1998.
- Dolby J and Chien A (1998). An evaluation of automatic object inline allocation techniques, ACM SIGPLAN Notices, 33:10, (1-20), Online publication date: 1-Oct-1998.
- Dolby J and Chien A An evaluation of automatic object inline allocation techniques Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (1-20)
- Shao Z Typed cross-module compilation Proceedings of the third ACM SIGPLAN international conference on Functional programming, (141-152)
- Benton N, Kennedy A and Russell G Compiling standard ML to Java bytecodes Proceedings of the third ACM SIGPLAN international conference on Functional programming, (129-140)
- Ashley J and Dybvig R (1998). A practical and flexible flow analysis for higher-order languages, ACM Transactions on Programming Languages and Systems, 20:4, (845-868), Online publication date: 1-Jul-1998.
- Palsberg J Eta-Redexes in Partial Evaluation Partial Evaluation - Practice and Theory, DIKU 1998 International Summer School, (356-366)
- Cheng P, Harper R and Lee P (1998). Generational stack collection and profile-driven pretenuring, ACM SIGPLAN Notices, 33:5, (162-173), Online publication date: 1-May-1998.
- Cheng P, Harper R and Lee P Generational stack collection and profile-driven pretenuring Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, (162-173)
- Schmidt D (1998). Trace-Based Abstract Interpretation of Operational Semantics, Lisp and Symbolic Computation, 10:3, (237-271), Online publication date: 1-May-1998.
- Jagannathan S, Thiemann P, Weeks S and Wright A Single and loving it Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (329-341)
- DeFouw G, Grove D and Chambers C Fast interprocedural class analysis Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (222-236)
- Palsberg J and Pavlopoulou C From polyvariant flow information to intersection and union types Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (197-208)
- Schmidt D Data flow analysis is model checking of abstract interpretations Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (38-48)
- Wright A and Jagannathan S (1998). Polymorphic splitting, ACM Transactions on Programming Languages and Systems, 20:1, (166-207), Online publication date: 1-Jan-1998.
- Danvy O and Schultz U (1997). Lambda-dropping, ACM SIGPLAN Notices, 32:12, (90-106), Online publication date: 1-Dec-1997.
- Danvy O and Schultz U Lambda-dropping Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, (90-106)
- Grove D, DeFouw G, Dean J and Chambers C (1997). Call graph construction in object-oriented languages, ACM SIGPLAN Notices, 32:10, (108-124), Online publication date: 9-Oct-1997.
- Grove D, DeFouw G, Dean J and Chambers C Call graph construction in object-oriented languages Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (108-124)
- Ashley J (1997). The effectiveness of flow analysis for inlining, ACM SIGPLAN Notices, 32:8, (99-111), Online publication date: 1-Aug-1997.
- Dimock A, Muller R, Turbak F and Wells J (1997). Strongly typed flow-directed representation transformations (extended abstract), ACM SIGPLAN Notices, 32:8, (11-24), Online publication date: 1-Aug-1997.
- Banerjee A (1997). A modular, polyvariant and type-based closure analysis, ACM SIGPLAN Notices, 32:8, (1-10), Online publication date: 1-Aug-1997.
- Ashley J The effectiveness of flow analysis for inlining Proceedings of the second ACM SIGPLAN international conference on Functional programming, (99-111)
- Dimock A, Muller R, Turbak F and Wells J Strongly typed flow-directed representation transformations (extended abstract) Proceedings of the second ACM SIGPLAN international conference on Functional programming, (11-24)
- Banerjee A A modular, polyvariant and type-based closure analysis Proceedings of the second ACM SIGPLAN international conference on Functional programming, (1-10)
- Deutsch A On the complexity of escape analysis Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (358-371)
- Palsberg J (1996). Compiler technology for object-oriented languages, ACM Computing Surveys, 28:4es, (161-es), Online publication date: 1-Dec-1996.
- Grove D A comparison of algorithms for interprocedural class analysis Proceedings of the 1996 conference of the Centre for Advanced Studies on Collaborative research
- Diwan A, Moss J and McKinley K (1996). Simple and effective analysis of statically-typed object-oriented programs, ACM SIGPLAN Notices, 31:10, (292-305), Online publication date: 1-Oct-1996.
- Diwan A, Moss J and McKinley K Simple and effective analysis of statically-typed object-oriented programs Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (292-305)
- Atkinson D and Griswold W The design of whole-program analysis tools Proceedings of the 18th international conference on Software engineering, (16-27)
- Jagannathan S and Wright A (1996). Flow-directed inlining, ACM SIGPLAN Notices, 31:5, (193-205), Online publication date: 1-May-1996.
- Flanagan C, Flatt M, Krishnamurthi S, Weirich S and Felleisen M (1996). Catching bugs in the web of program invariants, ACM SIGPLAN Notices, 31:5, (23-32), Online publication date: 1-May-1996.
- Jagannathan S and Wright A Flow-directed inlining Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, (193-205)
- Flanagan C, Flatt M, Krishnamurthi S, Weirich S and Felleisen M Catching bugs in the web of program invariants Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, (23-32)
- Colby C and Lee P Trace-based program analysis Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (195-207)
- Ashley J A practical and flexible flow analysis for higher-order languages Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (184-194)
- Grove D The impact of interprocedural class analysis on optimization Proceedings of the 1995 conference of the Centre for Advanced Studies on Collaborative research
- Grove D, Dean J, Garrett C and Chambers C (1995). Profile-guided receiver class prediction, ACM SIGPLAN Notices, 30:10, (108-123), Online publication date: 17-Oct-1995.
- Grove D, Dean J, Garrett C and Chambers C Profile-guided receiver class prediction Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications, (108-123)
- Henglein F and Rehof J Safe polymorphic type inference for a dynamically typed language Proceedings of the seventh international conference on Functional programming languages and computer architecture, (192-203)
- Kelsey R (1995). A correspondence between continuation passing style and static single assignment form, ACM SIGPLAN Notices, 30:3, (13-22), Online publication date: 1-Mar-1995.
- Kelsey R A correspondence between continuation passing style and static single assignment form Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations, (13-22)
- Jagannathan S and Weeks S A unified treatment of flow analysis in higher-order languages Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (393-407)
- Flanagan C and Felleisen M The semantics of future and its use in program optimization Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (209-220)
- Emami M, Ghiya R and Hendren L Context-sensitive interprocedural points-to analysis in the presence of function pointers Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, (242-256)
- Deutsch A Interprocedural may-alias analysis for pointers Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, (230-241)
- Sabry A and Felleisen M Is continuation-passing useful for data flow analysis? Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, (1-12)
- Wright A and Cartwright R (1994). A practical soft type system for Scheme, ACM SIGPLAN Lisp Pointers, VII:3, (250-262), Online publication date: 1-Jul-1994.
- Shao Z and Appel A (1994). Space-efficient closure representations, ACM SIGPLAN Lisp Pointers, VII:3, (150-161), Online publication date: 1-Jul-1994.
- Wright A and Cartwright R A practical soft type system for Scheme Proceedings of the 1994 ACM conference on LISP and functional programming, (250-262)
- Shao Z and Appel A Space-efficient closure representations Proceedings of the 1994 ACM conference on LISP and functional programming, (150-161)
- Emami M, Ghiya R and Hendren L (1994). Context-sensitive interprocedural points-to analysis in the presence of function pointers, ACM SIGPLAN Notices, 29:6, (242-256), Online publication date: 1-Jun-1994.
- Deutsch A (1994). Interprocedural may-alias analysis for pointers, ACM SIGPLAN Notices, 29:6, (230-241), Online publication date: 1-Jun-1994.
- Sabry A and Felleisen M (1994). Is continuation-passing useful for data flow analysis?, ACM SIGPLAN Notices, 29:6, (1-12), Online publication date: 1-Jun-1994.
- Wand M and Steckler P Selective and lightweight closure conversion Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (435-445)
- Griswold W Direct update of data flow representations for a meaning-preserving program restructuring tool Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering, (42-55)
- Griswold W (1993). Direct update of data flow representations for a meaning-preserving program restructuring tool, ACM SIGSOFT Software Engineering Notes, 18:5, (42-55), Online publication date: 1-Dec-1993.
- Flanagan C, Sabry A, Duba B and Felleisen M The essence of compiling with continuations Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation, (237-247)
- Flanagan C, Sabry A, Duba B and Felleisen M (1993). The essence of compiling with continuations, ACM SIGPLAN Notices, 28:6, (237-247), Online publication date: 1-Jun-1993.
- Lakhotia A Constructing call multigraphs using dependence graphs Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (273-284)
- Lawall J and Danvy O Separating stages in the continuation-passing style transformation Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (124-136)
- Huelsbergen L and Larus J Dynamic program parallelization Proceedings of the 1992 ACM conference on LISP and functional programming, (311-323)
- Sabry A and Felleisen M Reasoning about programs in continuation-passing style. Proceedings of the 1992 ACM conference on LISP and functional programming, (288-298)
- Rozas G Taming the Y operator Proceedings of the 1992 ACM conference on LISP and functional programming, (226-234)
- Huelsbergen L and Larus J (1992). Dynamic program parallelization, ACM SIGPLAN Lisp Pointers, V:1, (311-323), Online publication date: 1-Jan-1992.
- Sabry A and Felleisen M (1992). Reasoning about programs in continuation-passing style., ACM SIGPLAN Lisp Pointers, V:1, (288-298), Online publication date: 1-Jan-1992.
- Rozas G (1992). Taming the Y operator, ACM SIGPLAN Lisp Pointers, V:1, (226-234), Online publication date: 1-Jan-1992.
- Shivers O (1991). The semantics of Scheme control-flow analysis, ACM SIGPLAN Notices, 26:9, (190-198), Online publication date: 1-Sep-1991.
- Shivers O The semantics of Scheme control-flow analysis Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, (190-198)
Index Terms
- Control-flow analysis of higher-order languages of taming lambda
Recommendations
A polymorphic modal type system for lisp-like multi-staged languages
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesThis article presents a polymorphic modal type system and its principal type inference algorithm that conservatively extend ML by all of Lisp's staging constructs (the quasi-quotation system). The combination is meaningful because ML is a practical ...
A polymorphic modal type system for lisp-like multi-staged languages
Proceedings of the 2006 POPL ConferenceThis article presents a polymorphic modal type system and its principal type inference algorithm that conservatively extend ML by all of Lisp's staging constructs (the quasi-quotation system). The combination is meaningful because ML is a practical ...
Definitional Interpreters for Higher-Order Programming Languages
Higher-order programming languages (i.e., languages in which procedures or labels can occur as values) are usually defined by interpreters that are themselves written in a programming language based on the lambda calculus (i.e., an applicative language ...