Publications

2022

Low-Latency, High-Throughput Garbage Collection, W. Zhao, S. Blackburn, and K. S. McKinley, The ACM Conference on Programming Language Design and Implementation (PLDI), June 2022. PLDI Distinguished Paper. Extended version, arXiv:2210.17175.


2021

Adaptive Huge-Page Subrelease for Non-Moving Memory Allocators in Warehouse-Scale Computers, M. Maas, C. Kennelly, D. Gove, K. S. McKinley, and P. Turner, The ACM International Conference on Memory Management (ISMM), June 2021.


2020

Learning-based Memory Allocation for C++ Server Workloads, M. Maas, D. G. Andersen, M. Isard, M. M. Javanmard, K. S. McKinley, and C. Raffel, The ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), March 2020. SIGPLAN Research Highlight. CACM Research Highlight (to appear).


2019

Author Growth Outsrips Publication Growth in Computer Science and Publication Quality Correlates with Collaboration, S.M. Blackburn, K. S. McKinley, and L. Xie, arXiv 1909.022212, September, 2019.

GOTO Rankings Considered Helpful, E. Berger, S.M. Blackburn, Carla Brodley, H.V. Jagadish, K. S. McKinley, M. Shin, K. Wang, and L. Xie, Communications of the ACM (CACM), 62 (7): 29--30, July 2019.

Crystal Gazer: Profile-Driven Write-Rationing Garbage Collection for Hybrid Memories, S. Akram, J. B. Sartor, K. S. McKinley, and L. Eeckhout, ACM SIGMETRICS Conference on Measurement & Modeling Computer Systems, June 2019.

StreamBox-HBM: Stream Analytics on High Bandwidth Hybrid Memory, H. Miao, J. Jeon, G. Pekhimenko, K. S. McKinley, and F. X. Lin, The ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), April 2019.

Emulating and Evaluating Hybrid Memory for Managed Languages on NUMA Hardware, S. Akram, J. B. Sartor, K. S. McKinley, and L. Eeckhout, IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), March 2019.


2018

Write-Rationing Garbage Collection for Hybrid Memories, S. Akram, J. B. Sartor, K. S. McKinley, and L. Eeckhout, The ACM Conference on Programming Language Design and Implementation (PLDI), Philadelphia, PA, June 2018.

Improving Diversity in Computing Research: An Overview of CRA-W Activities, L. L. Pollock, L. A. Clarke, B. Bizot, T. Camp, C. Ellis, K. S. McKinley, J. G. Stout, 1st Workshop on Gender Diversity in Software Engineering, May 2018.


2017

Swayam: Distributed Autoscaling to Meet SLAs of Machine Learning Inference Services with Resource Efficiency, A. Gujarati, S. Elnikety, Y. He, K. S. McKinley, and B. B. Brandenburg, ACM/IFIP/USENIX Middlewear, Las Vegas, Nevada, December 2017. Best Student Paper

Exploiting Heterogeneity for Tail Latency and Energy Efficiency, Md. E. Haque, Y. He, S. Elnikety, T. D. Nguyen, R. Bianchini, and K. S. McKinley, ACM/IEEE MICRO, Boston, MA, October 2017.

Static Stages for Heterogeneous Programming, A. Sampson, T. Mytkowicz, and K. S. McKinley, The ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) Vancouver, Canada, October 2017. Artifact evaluated. Distinguished Artifact Award.

StreamBox: Modern Stream Processing on a Multicore Machine, H. Miao, H. Park, J. Jeon, G. Pekhimenko, K. S. McKinley, and F. X. Lin, USENIX Annual Technical Conference (ATC), pp. 617-629, Santa Clara, CA, July 2017.

Debugging Probabilistic Programs, C. Nandi, D. Grossman, A. Sampson, T. Mytkowicz, and K. S. McKinley, The ACM SIGPLAN Workshop Machine Learning and Programming Languages (MAPL), pp. 18-26, Barcelona, Spain, June 2017. [Talk]


2016

Elfen Scheduling: Fine-Grain Principled Borrowing from Latency-Critical Workloads Using Simultaneous Multithreading, X. Yang, S. M. Blackburn, and K. S. McKinley, The USENIX Annual Technical Conference (ATC), pp. 309-322, June 2016. [Talk]

Range Translations for Fast Virtual Memory, J. Gandhi, V. Karakostas, F. Ayar, A. Cristal, M. D. Hill, K. S. McKinley, M. Nemirovsky, M. M. Swift, O. Unsal, IEEE MICRO Top Picks, 36(3):118-126, May-June 2016.

Portable Performance on Asymmetric Multicore Processors, I. Jibaja, T. Cao, S. Blackburn, and K. McKinley, The ACM/IEEE International Symposium on Code Generation and Optimization (CGO), pp. 24-35, Barcelona, Spain, March 2016.

Work Stealing for Interactive Services to Meet Target Latency, J. Li, K. Agrawal, S. Elnikety, Y. He, I. A. Lee, C. Lu, K. S. McKinley The ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP), Barcelona, Spain, pp. 14:1-13, March 2016.

Energy-Efficient Address Translation, V. Karakostas, J. Gandhi, F. Ayar, A. Cristal, M. D. Hill, K. S. McKinley, M. Nemirovsky, M. M. Swift, O. Unsal, The IEEE Symposium on High Performance Computer Architecture (HPCA), pp. 24-35, Barcelona, Spain, March 2016.


2015

Vector Parallelism in JavaScript: Language and Compiler Support for SIMD, I. Jibaja, P. Jensen, J. McCutchan, D. Gohman, N. Hu, M. Haghighat, S. Blackburn, and K. McKinley, The ACM/IEEE International Conference on Parallel Architectures and Compilation Techniques (PACT), pp. 407-418, San Francisco, CA, October, 2015.

Quantification, Communication, and Interpretation of Uncertainty in Simulation and Data Science, Ross Whitaker, William Thompson, James Berger, Baruch Fischhof, Michael Goodchild, Mary Hegarty, Christopher Jermaine, Kathryn S. McKinley, Alex Pang, Joanne Wendelberger, CRA Computing Computing Community Consortuim (CCC), pp. 1-22, September, 2015.

More on Improving Reviewing Quality with Double-Blind Reviewing, External Review Committees, Author Response, and in Person Program Committee Meetings, K. S. McKinley, June 2015.

Uncertain<T>: Abstractions for Uncertain Hardware and Software, J. Bornholt, T. Mytkowicz, and K. S. McKinley, IEEE MICRO Top Picks, 35(3):132-143, May-June, 2015.

Computer Performance Microscopy with Shim, X. Yang, S. M. Blackburn, and K. S. McKinley, The ACM/IEEE International Symposium on Computer Architecture, (ISCA), pp. 170-184, June, 2015. Selected for IEEE MICRO Top Picks 2016, Honorable Mention. Open source implementation.

Redundant Memory Mappings for Fast Access to Large Memories, V. Karakostas, J. Gandhi, F. Ayar, A. Cristal, M. D. Hill, K. S. McKinley, M. Nemirovsky, M. M. Swift, O. Unsal, The ACM/IEEE International Symposium on Computer Architecture, (ISCA), pp. 66-78, June, 2015. Selected for IEEE MICRO Top Picks 2016.

Does Automated Refactoring Obviate Systematic Edits? N. Meng, L. Hua, M. Kim, and K. S. McKinley, The ACM International Conference on Software Engineering (ICSE), pp. 392-402, May, 2015.

Few-to-Many: Incremental Parallelism to Reduce Tail Latency in Interactive Services, M. E. Haque, Y. H. Eom, Y. He, R. Bianchini, S. Elnikety, and K. S McKinley, The ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pp. 161-175, March, 2015.

Programming the Internet of Uncertain <T>hings, J. Bornholt, N. Meng, T. Mytkowicz, and K. S. McKinley, Sensors to Cloud Architectures Workshop (SCAW), pp. 1-7, Feb, 2015.

From Graduate Student to Fellow: Research Community, Membership Levels, and Recognition, K. S. McKinley, Computer Research News (CRN), 27(1), January 2015.


2014

Practical Fine-Grained Decentralized Information Flow Control Using Laminar, D. Porter, M. D. Bond, I. Roy, K. S. McKinley, and E. Witchel, ACM Transactions on Programming Languages and Systems (TOPLAS), 37(1): Article 4:1-51, November, 2014.

A Theoretical Foundation for Scheduling and Designing Heterogeneous Processors for Interactive Applications, S. Ren, Y. He, and K. S. McKinley, The International Symposuium on Distributed Computing (DISC), pp. 152-166, October, 2014. Extended MSR Technical report with proofs. MSR-TR-2014-101, 2014.

Fast Conservative Garbage Collection, R. Shahriyar, S. M. Blackburn, and K. S. McKinley, ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Portland, OR, pp. 121-139, October, 2014. Evaluated Artifact (Implementation).

Cooperative Cache Scrubbing, J. B.Sartor, W. Heirman, S. M. Blackburn, L. Eeckhout, and K. S. McKinley, The International Conference on Parallel Architectures and Compiler Techniques (PACT), August, 2014. Best Paper Nominee (4/37).

Author Retrospective for Optimizing for Parallelism and Data Locality, K. S. McKinley, ICS 25th Anniversary Volume, 2014. Selected 35 from 1000+ ICS papers. The original: Optimizing for Parallelism and Data Locality, K. Kennedy and K. S. McKinley, 1992 ACM International Conference on Supercomputing, Washington, D.C., July 1992.

Myths and Realities: The Performance Impact of Garbage Collection, S. M. Blackburn, P. Cheng, and K. S. McKinley, ACM SIGMETRICS Conference on Measurement & Modeling Computer Systems, pp. 25-36, New York, NY, June 2004. Test of Time Award (August, 2014)

Debugging Mixed-Environment Programs with Blink, B. Lee, M. Hirzel, R. Grimm, and K. S. McKinley, Software - Practice and Experience, pp. 1-30, May 2014. doi: 10.1002/spe.2276.

Expressing and Verifying Probabilistic Assertions, A. Sampson, P. Panchekha, T. Mytkowicz, K. S. McKinley, D. Grossman, and L. Ceze, The ACM Conference on Programming Language Design and Implementation (PLDI), June 2014.

Uncertain<T>: A First-Order Type for Uncertain Data, J. Bornholt, T. Mytkowicz, and K. S. McKinley, The ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Salt Lake City, UT, March 2014. Selected for ACM SIGPLAN Research Highlight 2014 and IEEE MICRO Top Picks 2015.

CRA-W Grad Cohort: Equipping the Next Generation of Computing Research PhDs for Success, K. S. McKinley, Computer Research News (CRN), 26(6):1-3, February, 2014.


2013

Diglossia: Detecting Code Injection Attacks with Precision and Efficiency, S. Son, K. S. McKinley, and V. Shmatikov, ACM Conference on Computer and Communications Security (CCS), Berlin, Germany, November 2013.

The Yin and Yang of Hardware Heterogeneity: Can Software Survive? K. S. McKinley, ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Indianapolis, IN, October 2013. Keynote.

Bound Partial-Order Reduction, K. E. Coons, M. Msuvathi, and K. S. McKinley, ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Indianapolis, IN, October 2013. [Companion Proofs]

Taking Off the Gloves with Reference Counting Immix, R. Shahriyar, S. M. Blackburn, X. Yang, and K. S. McKinley, ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Indianapolis, IN, October 2013.

The Latency, Accuracy, and Battery (LAB) Abstraction: Programmer Productivity and Energy Efficiency for Continuous Mobile Context Sensing, A. Kansal, S. Saponas, A. J. Brush, K. S. McKinley, T. Mytkowicz, and R. Ziola, ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), Indianapolis, IN, October 2013.

Exploiting Processor Heterogeneity in Interactive Systems, S. Ren, Y. He, S. Elnikety, and K. S. McKinley, The USENIX International Conference on Autonomic Computing (ICAC), San Jose, CA, June 2013.

Using Managed Runtime Systems to Tolerate Holes in Wearable Memories, T. Goa, K. Strauss, S. M. Blackburn, K. S. McKinley, Doug Burger, and James Larus, The ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Seattle, WA, June, 2013.

Expanding the Pipeline: Diversity Drives Innovation, K. S. McKinley and T. Camp, Computing Research News (CRN), 25(5):2-6, May, 2013. [html]

Lase: Locating and Applying Systematic Edits by Learning from Examples, N. Meng, M. Kim, and K. S. McKinley, The ACM/IEEE International Conference on Software Engineering (ICSE), San Francisco, CA, pp. 502-511, May 2013.

FixMeUp: Repairing Access-Control Bugs in Web Applications, S. Son, K. S. McKinley, and V. Shmatikov, Network and Distributed System Security Symposium (NDSS), San Diego, CA, February, 2013.

Written Testimony to the House Science Committee's Subcommittee on Research and Science Education, K. S. McKinley, February 14, 2013.


2012

The New Global Ecosystem in Advanced Computing: Implications for U.S. Competitiveness and National Security, Committee on Global Approaches to Advanced Computing (member), Board on Global Science and Technology Policy and Global Affairs Division, National Research Council of the National Academies, The National Academies Press, Washington, D.C., 2012.

Automating Object Transformations for Dynamic Software Updating, S. Magill, M. Hicks, S. Subramaniam, and K. S. McKinley, ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Tucson, AZ, pp. 265-280, October, 2012.

The Model Is Not Enough: Understanding Energy Consumption in Mobile Devices, J. Bornholt, T. Mytkowicz, and K. S. McKinley, Hot Chips, San Jose, CA, August 2012.

Looking Back and Looking Forward: Power, Performance, and Upheaval, H. Esmaeilzadeh, T. Cao, X. Yang, S. M. Blackburn, and K. S. McKinley, Communications of the ACM (CACM), Research Highlights, 55(7), July, 2012. (Summarizes ``Looking Back on the Language and Hardware Revolutions: Measured Power, Performance, and Scaling,'' from ASPLOS 2011 for wider CACM audience.) [DATA: the power and performance data]

The Yin and Yang of Power and Performance for Asymmetric Hardware and Managed Software, T. Cao, T. Gao, S. M. Blackburn, and K.S. McKinley, ACM/IEEE International Symposium on Computer Architecture, Portland, OR, June, 2012.

Marco: Safe, Expressive Macros for any Language, B. Lee, R. Grimm, M. Hirzel, and K. S. McKinley, European Conference on Object Oriented Programming (ECOOP), Beijing, China, June, 2012.

What is happening to Power, Performance, and Software? H. Esmaeilzadeh, T. Cao, X. Yang, S. M. Blackburn, and K. S. McKinley, IEEE Top Picks, 32(3), March, 2012. (Summarizes ``Looking Back on the Language and Hardware Revolutions: Measured Power, Performance, and Scaling,'' from ASPLOS 2011 for architects.) [DATA: the power and performance data]

History-Aware Data Structure Repair Using SAT, R. N. Zaeem, D. Gopinath, S. Khurshid, and K. S. McKinley, International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS), Tallinn, Estonia, March, 2012.


2011

Virtual Machine Services: An Opportunity for Hardware Customization, T. Cao, S. M. Blackburn, and K.S. McKinley, Workshop on Energy-efficient Computing for a Sustainable World, San Palo, Brazil, December, 2011.

RoleCast: Finding Missing Security Checks When You Do Not Know What Checks Are, S. Son, K. S. McKinley, and V. Shmatikov, ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Portland, OR, pp. 1069-1084, October 2011.

Why Nothing Matters: The Impact of Zeroing, X. Yang, S. M. Blackburn, D. Frampton, J. Sartor, and K. S. McKinley, ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Portland, OR, pp. 307-324, October 2011.

A Security Policy Oracle: Detecting Security Holes using Multiple API Implementations, V. Srivastava, M. D. Bond, K. S. McKinley, and V. Shmatikov, The ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), San Jose, CA, pp. 343-354, June, 2011.

Systematic Editing: Generating Program Transformations from an Example, N. Meng, M. Kim, and K. S. McKinley, The ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), San Jose, CA, pp. 329-342, June, 2011.

Deferred Gratification: Engineering for High Performance Garbage Collection from the Get Go, I. Jibaja, S. M. Blackburn, and K. S. McKinley, The ACM SIGPLAN Workshop on Memory System Performance and Correctness (MSPC), San Jose, CA, June, 2011.

Looking Back on the Language and Hardware Revolutions: Measured Power, Performance, and Scaling, H. Esmaeilzadeh, T. Cao, X. Yang, S. M. Blackburn, and K. S. McKinley, The ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Newport Beach, CA, pp. 319-332, March 2011. [DATA: the power and performance data] Selected for Communications of the ACM (CACM) Reseach Highlights 2012 and IEEE Top Picks 2012.

The Good Block: Hardware/Software Design for Composable, Block-Atomic Processors, B. Maher, K. E. Coons, D. Burger, and K. S. McKinley, Workshop on Interaction between Compilers and Computer Architectures (INTERACT-15), February 2011.

A Shape Analysis for Optimizing Parallel Graph Programs, D. Prountzos, R. Manevich, K. Pingali, and K. S. McKinley,, ACM SIGPLAN Conference on the Principles of Programming Languages (POPL), Austin, TX, pp. 159-172, January 2011.


2010

The Future of Computing Performance: Game Over or Next Level?, Samuel H. Fuller and Lynette I. Millett, Editors, National Research Council Committee on Sustaining Growth in Computing Performance (member), National Academies Press, 2010.

Detecting Memory Leaks in Managed Languages with Cork, M. Jump and K. S. McKinley, Software: Practice and Experience, 40(1):1-22, 2010.

Evolving Compiler Heuristics to Manage Communication and Contention, M. E. Taylor, K. E. Coons, B. Robatmili, B. A. Maher, D. Burger, and K. S. McKinley, The 24th Conference on Artificial Intelligence--New Scientific and Technical Advances in Research (NECTAR) track, Atlanta, GA, July, 2010.

Pacer: Proportional Detection of Data Races, M. D. Bond, K. E. Coons, and K. S. McKinley, The ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Toronto, Canada, pp. 255-268, June, 2010.

Jinn: Synthesizing Dynamic Bug Detectors for Foreign Language Interfaces, B. Lee, B. Wiedermann, M. Hirzel, R. Grimm, and K. S. McKinley, The ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Toronto, Canada, pp. 36-49, June, 2010.

Z-Rays: Divide Arrays and Conquer Speed and Flexibility, J. B. Sartor, S. M. Blackburn, M. Hirzel, D. Frampton, and K. S. McKinley, The ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Toronto, Canada, pp. 471-482, June, 2010.

Efficient, Context-Sensitive Detection of Real-World Semantic Attacks, M. D. Bond, V. Srivastava, K. S. McKinley, and V. Shmatikov, ACM SIGPLAN Fifth Workshop on Programming Languages and Analysis for Security (PLAS), Toronto, Canada, June, 2010.

Power and Performance of Native and Java Benchmarks on 130nm to 32nm Process Technologies, H. Esmaeilzadeh, X. Yang, S. M. Blackburn, and K. S. McKinley, Proceedings of the 6th Annual Workshop on Modeling, Benchmarking and Simulations (MOBS-6), Saint Malo, France, June 2010.


2009

Debug All Your Code: Portable Mixed-Environment Debugging, B. Lee, M. Hirzel, R. Grimm, and K.S. McKinley, ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Orlando, FL, pp. 207-226, October 2009.

A Concurrent Dynamic Analysis Framework for Multicore Hardware, J. Ha, M. Arnold, S. M. Blackburn, and K. S. McKinley, ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Orlando, FL, pp. 155-174, October 2009.

Jvolve: Dynamic Software Updates for Java, S. Subramaniam, M. Hicks, and K. S. McKinley, The ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Dublin, Ireland, pp. 1-12, June 2009.

Laminar: Practical Fine-Grained Decentralized Information Flow Control, I. Roy, D. Porter, M. D. Bond, K. S. McKinley, and E. Witchel, The ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Dublin, Ireland, pp. 63-74, June 2009.

Dynamic Shape Analysis, M. Jump and K. S. McKinley, The ACM SIGPLAN International Symposium on Memory Management (ISMM), Dublin, Ireland, pp. 119-128, June 2009.

A Concurrent Trace-based Just-In-Time Compiler for Single-threaded JavaScript, J. Ha, M. R. Haghighat, S. Cong, and K. S. McKinley, Workshop on Parallel Execution of Sequential Programs on Multi-core Architectures (PESPMA), Austin, TX, pp. 47-54, June 2009.

An Evaluation of the TRIPS Computer System, M. Gebhart, B. A. Maher, J. Burrill, K. E. Coons, J. Diamond, P. Gratz, M. Marino, N. Ranganathan, B. Robatmili, A. Smith, D. Burger, S. W. Keckler, and K. S. McKinley, The ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Washington, D.C., pp. 1-12, March 2009. [Extended Technical Report] UT Computer Sciences TR-08-31, 2009. Best Paper Award.

Leak Pruning, M. D. Bond and K. S. McKinley, The ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Washington, D.C., pp. 277-288, March 2009.

HeDGE: Hybrid Dataflow Graph Execution in the Issue Logic, S. Subramanian and K. S. McKinley, The 4th International Conference on High Performance and Embedded Architectures and Compilers (HiPEAC), pp. 308-323, January 2009.


2008

Strategies for Mapping Dataflow Blocks to Distributed Hardware, B. Robatmili, K. E. Coons, D. Burger, and K. S. McKinley, IEEE/ACM International Symposium on Microarchitecture (MICRO), Lake Como, Italy, pp. 23-34, November 2008.

Tolerating Memory Leaks, M. D. Bond and K. S. McKinley, ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Nashville, TN, pp. 109-126, October 2008.

Feature Selection and Policy Optimization for Distributed Instruction Placement Using Reinforcement Learning, K. E. Coons, B. Robatmili, M. E. Taylor, B. A. Maher, D. Burger, and K. S. McKinley, The International Conference on Parallel Architectures and Compiler Techniques (PACT), Toronto Canada, pp. 32-42, October 2008.

Wake Up and Smell the Coffee: Evaluation Methodology for the 21st Century, S. M. Blackburn, K. S. McKinley, R. Garner, C. Hoffman, A. M. Khan, R. Bentzur A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer, M. Hirzel, A. Hosking, M. Jump, H. Lee, J. E. B. Moss, A. Phansalkar, D. Stefanovic, T. VanDrunen, D. von Dincklage, and B. Wiedermann, Communications of the ACM (CACM) Research Highlights (Invited), 51(8) pages 83-89, August, 2008. [DaCapo Java Benchmark Suite]

Editorial: Improving Publication Quality by Reducing Bias with Double-Blind Reviewing and Author Response, K. S. McKinley, ACM SIGPLAN Notices, 43(8):5-9, August 2008. [html version] Based on another eight years of conference reviewing and chairing experiences, I updated my recommendations: [html 2015 update]. superseding my prior recommendations,

Register Bank Assignment for Spatially Partitioned Registers, B. Robatmili, K. E. Coons, D. Burger, and K. S. McKinley, Languages and Compilers for Parallel Architectures (LCPC), Alberta, Canada, August, 2008.

Immix: A Mark-Region Garbage Collector with Space Efficiency, Fast Collection, and Mutator Locality, S. M. Blackburn and K. S. McKinley, ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Tuscon AZ, pages 22-32, June 2008.

No Bit Left Behind: The Limits of Heap Data Compression, J. B. Sartor, M. Hirzel, and K. S. McKinley, ACM SIGPLAN International Symposium on Memory Management (ISMM), Tuscon AZ, pages 111-120, June 2008. [Extended Technical Report] UT Computer Sciences TR-08-17, 2008.

Microarchitectural Characterization of Production JVMs and Java Workloads, J. Ha, M. Gustafsson, S. M. Blackburn, and K. S. McKinley, IBM CAS Workshop, Austin, TX, February 2008. [Full Results]


2007

Probabilistic Calling Context, M. D. Bond and K. S. McKinley, ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Montreal, Canada, pages 97-112, October 2007.

Tracking Bad Apples: Reporting the Origin of Null and Undefined Value Errors, M. D. Bond, N. Nethercote, S. W. Kent, S. Z. Guyer, and K. S. McKinley, ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Montreal, Canada, pages 405-422, October 2007. [Bad Apples Suite]

STARC: Static Analysis for Efficient Repair of Complex Data, B. Elkarablieh, S. Khurshid, and D. Vu, K. S. McKinley, ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Montreal, Canada, pages 387-404, October 2007.

Recovering and Using Use-Case-Diagram-To-Source-Code Traceability Links, Mark Grechanik, Kathryn S. McKinley, and Dewayne E. Perry, The 6th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2007), Dubrovnik, Croatia, pp. 95-104, September 2007.

Correcting the dynamic call graph using control flow constraints, Byeongcheol Lee, Kevin Resnick, Michael D. Bond, and Kathryn S. McKinley, International Conference on Compiler Construction (CC '07), Braga, Portugal, pp. 80-95, March 2007. [Extended Technical Report] UT Computer Sciences TR-06-55, 2006.

Cork: Dynamic Memory Leak Detection for Garbage-Collected Languages, M. Jump and K. S. McKinley, ACM SIGPLAN Conference on the Principles of Programming Languages (POPL), Nice, France, pp. 31-38, January 2007. [Extended Technical Report UT Computer Sciences TR-06-07, 2007.

O Java, Java! Wherefore Art Thou Java?, K. S. McKinley and S. M. Blackburn , Invited paper, Workshop on Computer Architecture Evaluation using Commercial Workloads (CAECW), Phoenix, AZ, January 2007.

Profile-Based Pretenuring, S. M. Blackburn, M. Hertz, K. S. McKinley, J. E. B. Moss, and T. Yang, ACM Transactions on Programming Languages and Systems (TOPLAS), 29(1):2:1-57, 2007.


2006

Dataflow Predication, A. Smith, R. Nagarajan, K. Sankaralingam, R. McDonald, D. Burger, S. W. Keckler, and K. S. McKinley, IEEE MICRO, pp. 89-102, December 2006.

Merging Head and Tail Duplication for Convergent Hyperblock Formation, B. A. Maher, A. Smith, D. Burger, and K. S. McKinley, IEEE MICRO, pp. 65-76, December 2006.

The DaCapo Benchmarks: Java Benchmarking Development and Analysis, S. M. Blackburn, R. Garner, C. Hoffman, A. M. Khan, K. S. McKinley, R. Bentzur A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer, M. Hirzel, A. Hosking, M. Jump, H. Lee, J. E. B. Moss, A. Phansalkar, D. Stefanovic, T. VanDrunen, D. von Dincklage, and B. Wiedermann,, The ACM SIGPLAN Conference on Object Oriented Programming Systems, Languages and Applications (OOPSLA), Portland, OR, pp. 169-190, October 2006. [Extended Technical Report] ANU Computer Science TR-CS-06-01, 2006. [DaCapo Java Benchmark Suite] Selected for CACM Research Highlights.

Bell: Bit-Encoding Online Memory Leak Detection, M. D. Bond and K. S. McKinley, The Twelfth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), San Jose, CA, pp. 61-72, October 2006.

A Spatial Path Scheduling Algorithm for EDGE Architectures, K. E. Coons, X. Chen, S. Kushwaha, K. S. McKinley, and D. Burger, The Twelfth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), San Jose, CA, pp. 129-140, October 2006.

Convergent Compilation applied to Loop Unrolling , N. Nethercote, D. C. Burger, and K. S. McKinley, Transactions on High-Performance Embedded Architectures and Compilers, Special Issue: Future Directions in Embedded Systems Compilation, 1:140-158, September 2006.

Free-Me: A Static Analysis for Automatic Individual Object Reclamation , S. Z. Guyer, K. S. McKinley, and D. Frampton, ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pp. 364-375, Ottawa, Canada, June 2006.

Dynamic Code Management: Improving Whole Program Code Locality in Managed Runtimes , X. Huang, B. T. Lewis, and K. S. McKinley, International Conference on Virtual Execution Environments (VEE), pp. 133-143, Ottawa, Canada, June 2006.

Fast and Efficient Partial Code Reordering: Taking Advantage of Dynamic Recompilation , X. Huang, and S. M. Blackburn, and D. Grove, and K. S. McKinley, ACM International Symposium on Memory Management (ISMM), pp. 184-192, Ottawa, Canada, June 2006.

Decomposing Memory Performance: Data Structures and Phases , K. K. Agaram, S. W. Keckler, C. Lin, and K. S. McKinley, ACM International Symposium on Memory Management (ISMM), pp. 95-103, Ottawa, Canada, June 2006.

Compiling for EDGE Architectures, A. Smith, J. Burrill, J. Gibson, B. A. Maher, N. Nethercote, B. Yoder, D. Burger, and K. S. McKinley, International Symposium on Code Generation and Optimization} (CGO), pp. 185-195, Manhattan NY, March 2006.

Generating Object Lifetime Traces with Merlin, M. Hertz, S. M. Blackburn, K. S. McKinley, J. E. B. Moss, and D. Stefanovic, ACM Transactions on Programming Languages and Systems, 28(3) 476-516, May 2006.


2005

Continuous Path and Edge Profiling, M. D. Bond and K. S. McKinley, 38th International Symposium on Microarchitecture (MICRO-38), pp. 130-140, Barcelona, November 2005.

Low Power, Low Complexity Instruction Issue using Compiler Assistance, M. G. Valluri, L. K. John, and K. S. McKinley, The International Conference on Supercomputing (ICS), pp. 209-218, Cambridge MA, June 2005.

Practical Path Profiling for Dynamic Optimizers, M. D. Bond and K. S. McKinley, The International Symposium on Code Generation and Optimization (CGO), pp. 205-216, San Jose, CA, March 2005.

Cooperative Caching with Keep-Me and Evict-Me, J. B. Sartor, S. Venkiteswaran, K. S. McKinley, and Z. Wang, The 9th IEEE Annual Workshop on the Interaction between Compilers and Computer Architectures (INTERACT), pp. 46-57, San Francisco, CA, February 2005.

Recurrence Analysis for Effective Array Prefetching in Java, B. Cahoon and K. S. McKinley, Concurrency and Computation: Practice and Experience, John Wiley & Sons, Ltd. 2005, 17:589-616.

The Jikes RVM Project: Building an Open Source Research Community, B. Alpern, S. Augart, S. M. Blackburn, M. Butrico, A. Cocchi, P. Cheng, J. Dolby, S. Fink, D. Grove, M. Hind, K. S. McKinley, M. Mergen, J. E. B. Moss, T. Ngo, V. Sarkar, and M. Trapp, IBM Systems Journal, 44(2): 399-418, 2005.


2004

Finding Your Cronies: Static Analysis for Dynamic Object Colocation, S. Guyer and K. S. McKinley, ACM 2004 SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA), pp. 237-250, Vancouver, Canada, October 2004.

The Garbage Collection Advantage: Improving Program Locality, X. Huang, S. M. Blackburn, K. S. McKinley, J. E. B. Moss, Z. Wang, and P. Cheng, ACM 2004 SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA), pp. 69-80, Vancouver, Canada, October 2004.

Dynamic Object Sampling for Pretenuring, M. Jump, S. M. Blackburn, K. S. McKinley, International Symposium on Memory Management (ISMM), Vancouver, Canada, October 2004.

Static Placement, Dynamic Issue (SPDI) Scheduling for EDGE Architectures, R. Nagarajan, D. Burger, K. S. McKinley, C. Lin, S. W. Keckler, and S. K. Kushwaha, International Conference on Parallel Architectures and Compilation Techniques (PACT), Antibes Juan-les-Pins, France, October 2004.

Scaling to the End of Silicon with EDGE Architectures, D. Burger, S. W. Keckler, K. S. McKinley, M. Dahlin, L. K. John, C. Lin, C. R. Moore, J. Burrill, R. G. McDonald, and W. Yoder, IEEE Computer, pp. 44 - 55, July, 2004.

Myths and Realities: The Performance Impact of Garbage Collection, S. M. Blackburn, P. Cheng, and K. S. McKinley, ACM SIGMETRICS Conference on Measurement & Modeling Computer Systems, pp. 25-36, New York, NY, June 2004. Test of Time Award (June, 2014)

Oil and Water? High Performance Garbage Collection in Java with MMTk, S. M. Blackburn, P. Cheng, and K. S. McKinley, 26th International Conference on Software Engineering, pp. 137-146, Edinburgh, Scotland, May 2004.

The Limits of Alias Analysis for Scalar Optimizations, R. A. Chowdhury, P. Djeu, B. Cahoon, J. H. Burrill, and K. S. McKinley, International Conference on Compiler Construction (CC), pp. 24-38, Barcelona, Spain, April 2004.

20 Years of the ACM SIGPLAN Conference on Programming Language Design and Implementation 1979-1999: A Selection, Edited by K. S. McKinley, SIGNOTICES 39(4), April 2004. Webpage


2003

Ulterior Reference Counting: Fast Garbage Collection without the Wait, S. M. Blackburn and K. S. McKinley, Proceedings of the ACM 2003 SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA), Annehiem, CA, October 2003.

Guided Region Prefetching: A Cooperative Hardware/Software Approach, Z. Wang, D. Burger, K. S. McKinley, S. K. Reinhardt, and C. C. Weems, Proceedings of International Conference on Computer Architecture, pp. 388-198, San Diego, CA, June 2003.

Partial Collection Replication for Information Retrieval, Z. Lu and K. S. McKinley, Information Retrieval, 6(2): 159-198, April 2003.


2002

Reconsidering Custom Memory Allocation, E. D. Berger, B. G. Zorn, and K. S. McKinley, OOPSLA 2002: ACM Conference on Object-Oriented Programming, Systems, Languages and Applications, pp. 1-12, Seattle, WA, USA, November 2002.

Simple and Effective Array Prefetching for Java, B. Cahoon and K. S. McKinley, ACM Java Grande, pp. 86-95, Seattle, WA, November 2002.

Using the Compiler to Improve Cache Replacement Decisions, Z. Wang, K. S. McKinley, A. L. Rosenberg, and C. C. Weems, Proceedings of International Conference on Parallel Architectures and Compilation Techniques, pp. 199-208, Charlottesville, VA, September 22-25, 2002.

Beltway: Getting Around Garbage Collection Gridlock, S. M. Blackburn, R. Jones, K. S. McKinley, and J. E. B. Moss, Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Berlin, Germany, June 2002,.

Error-Free Garbage Collection Traces: How to Cheat and Not Get Caught, M. Hertz, S. M. Blackburn, K. S. McKinley, J. E. B. Moss, and D. Stefanovic, Proceedings of the International Conference on Measurement and Modeling of Computer Systems, Marina Del Rey, CA, June 2002.

In or Out? Putting Write Barriers in Their Place, S. M. Blackburn and K. S. McKinley, International Symposium on Memory Management (ISMM), Berlin, Germany, June 2002.

Older-first Garbage Collection in Practice: Evaluation in a Java Virtual Machine, D. Stefanovic, M. Hertz, S. M. Blackburn, K. S. McKinley, and J. E. B. Moss, Memory System Performance, Berlin, Germany, June 2002.


2001

Pretenuring for Java, S. M. Blackburn, S. Singhai, M. Hertz, K. S. McKinley, and J. E. B. Moss, Proceedings of the ACM 2001 SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications. (OOPSLA), Tampa Bay FL, October 2001.

Data Flow Analysis for Software Prefetching Linked Data Structures in Java, B. Cahoon and K. S. McKinley, International Conference on Parallel Architectures and Compilation Techniques (PACT), Barcelona Spain, September 2001.

Compiling for an Impulse Memory Controller, X. Huang, Z. Wang, and K. S. McKinley, International Conference on Parallel Architectures and Compilation Techniques (PACT), Barcelona Spain, September 2001.

Composing High-Performance Memory Allocators, E. D. Berger, B. G. Zorn, and K. S. McKinley, Proceedings of the SIGPLAN 2001 Conference on Programming Language Design and Implementation (PLDI), Salt Lake, UT, June 2001.

Using Types to Analyze and Optimize Object-Oriented Programs, A. Diwan, K. S. McKinley, and J. E. B. Moss, ACM Transactions on Programming Languages and Systems, 23(1): 30-72, January 2001.


2000

Hoard: A Scalable Memory Allocator for Multithreaded Applications, E. D. Berger, K. S. McKinley, R. D. Blumofe, and P. R. Wilson, The Ninth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Cambridge, MA, November 2000.

On Models for Object Lifetime Distributions, D. Stefanovic, K. S. McKinley, and E. Moss, The International Symposium on Memory Management, October 2000.

Load Scheduling using Hardware Counters , G. Lindenmaier, K. S. McKinley, and O. Temam, Proceedings of Euro-Par'2000, Munich, Germany, August 2000.

Partial Collection Replication versus Caching for Information Retrieval Systems, Z. Lu and K. S. McKinley, The ACM International Conference on Research and Development in Information Retrieval, Athens, Greece, July 2000.

Evaluating the Performance of Distributed Architectures for Information Retrieval using a Variety of Workloads, B. D. Cahoon, K S. McKinley, Z. Lu, ACM Transactions on Information Systems, 18(1): 1-43, January 2000.

The Effect of Collection Organization and Query Locality on Information Retrieval System Performance and Design, Z. Lu and K. S. McKinley, book chapter in Advances in Information Retrieval, Kluwer, New York, New York, 2000. Bruce Croft, Editor.

How to Quantify Loop Nest Locality, K. S. McKinley and O. Temam, book chapter in Performance Evaluation and Benchmarking with Realistic Applications. MIT Press. Rudi Eigenmann, Editor.


1999

Quantifying Loop Nest Locality Using SPEC'95 and the Perfect Benchmarks , K. S. McKinley, and O. Temam, ACM Transactions on Computer Systems, 17(4): 288-336, November 1999.

Age-Based Garbage Collection, D. Stefanovic, K. S. McKinley, J. E. B. Moss, Proceedings of the ACM 1999 SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications. (OOPSLA), pp. 370-381. Denver CO, November 1999.

Tolerating Latency by Prefetching Java Objects, B. D. Cahoon, and K. S. McKinley. The Workshop on Hardware Support for Objects and Microarchitectures for Java, Austin TX, October 1999.

Partial Replica Selection based on Relevance for Information Retrieval , Zhihong Lu, and K S. McKinley, The proceedings of the 22nd International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 370-381 Berkeley, CA, August 1999.


1998

The Hardware/Software Balancing Act for Information Retrieval Using Symmetric Multiprocessors, Z. Lu, K. S. McKinley, and B. Cahoon, Proceedings of Euro-Par'98, Southampton England, September 1998.

A Compiler Optimization Algorithm for Shared-Memory Multiprocessors, K. S. McKinley, IEEE Transactions on Parallel and Distributed Systems. 9(8): 769-787, August, 1998.

Type-Based Alias Analysis, A. Diwan, K. S. McKinley, and E. Moss. Proceedings of the SIGPLAN '98 Conference on Programming Language Design and Implementation (PLDI), Montreal, June 1998.


1997

A Parameterized Loop Fusion Algorithm for Improving Parallelism and Cache Locality, S. Singhai and K. S. McKinley, The Computer Journal, 40(6):340-355, 1997.


1996

Improving Data Locality with Loop Transformations, K. S. McKinley, S. Carr, and C. Tseng, ACM Transactions on Programming Languages and Systems, 18(4):424-453, July 1996.

A Quantitative Analysis of Loop Nest Locality, K. S. McKinley and O. Temam, The 7th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Boston, MA, October 1996.

Simple and Effective Analysis of Statically-Typed Object-Oriented Programs, A. Diwan, J. E. B. Moss, and K. S. McKinley, The Conference on Object-Oriented Programming Languages, Systems, and Applications, San Jose, CA, October 96.

Performance Evaluation of a Distributed Architecture for Information Retrieval, B. Cahoon and K. S. McKinley, The International Conference on Research and Development in Information Retrieval, Geneva, Switzerland, August 1996.

Score: A Compiler Representation for Heterogeneous Systems, G. Weaver and K. S. McKinley and C. Weems, Heterogeneous Computing Workshop, Honolulu, HI, April, 1996.

Compiling High-Level Languages for Configurable Computers: Applying Lessons from Heterogeneous Processing by G. Weaver, C. Weems and K. S. McKinley, Proceedings of the SPIE International Photonics East '96 Conference, Boston, MA, November, 1996.

Loop Fusion for Parallelism and Locality, S. K. Singhai and K. S. McKinley, Mid-Atlantic States Student Workshop on Programming Languages and Systems, MASPLAS '96 April 1996


1995

Tile Size Selection Using Cache Organization and Data Layout, S. Coleman and K. S. McKinley, Proceedings of the SIGPLAN '95 Conference on Programming Language Design and Implementation (PLDI), La Jolla, CA, June 1995.

Compiler Architectures for Heterogeneous Systems, K. S. McKinley, S. K. Singhai, G. E. Weaver and C. C. Weems, Languages and Compilers for Parallel Computing, , Springer-Verlag Lecture Notes in Computer Science 1033, pp. 434-449, Columbus, OH, August 1995.

Compiling for Heterogeneous Systems: A Survey and an Approach, K. S. McKinley, J. Eliot B. Moss, S. K. Singhai, G. E. Weaver, and C. C. Weems, CMPSCI Technical Report 95-59, Department of Computer Science, University of Massachusetts, Amherst, MA, July 1995.


1994

Compiler Optimizations for Improving Data Locality, S. Carr, K. S. McKinley, and C. Tseng, Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), San Jose, October 1994.

Evaluating Automatic Parallelization for Efficient Execution on Shared-Memory Multiprocessors, K. S. McKinley, 1994 International Conference on Supercomputing, Manchester, England, July 1994.


1993

Analysis and Transformation in an Interactive Parallel Programming Tool, K. Kennedy, K. S. McKinley and C. Tseng, Concurrency: Practice & Experience, 5 (7), October 1993.

Maximizing Loop Parallelism and Improving Data Locality via Loop Fusion and Distribution, K. Kennedy and K. S. McKinley, Languages and Compilers for Parallel Computing, Springer-Verlag Lecture Notes in Computer Science 768, pp. 301-321, Portland, Oregon, August 1993.

Experiences using the ParaScope Editor: An Interactive Parallelization Tool, M. W. Hall, T. Harvey, K. Kennedy, N. McIntosh, K. S. McKinley, J. D. Oldham, M. Paleczny, and G. Roth, The Fourth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, San Diego, May 1993.

The ParaScope Parallel Programming Environment, K. D. Cooper, M. W. Hall, R. Hood, K. Kennedy, K. S. McKinley, J. Mellor-Crummey, L. Torczon and S. Warren, The Proceedings of the IEEE, 1993, 81(2), February 1993.

Typed Fusion with Applications to Parallel and Sequential Code Generation, K. Kennedy and K. S. McKinley, Rice University Dept. of Computer Science Techreport TR93-208, 1993.


1992

Optimizing for Parallelism and Data Locality, K. Kennedy and K. S. McKinley, 1992 ACM International Conference on Supercomputing, Washington, D.C., July 1992. Selected 35 from 1000+ ICS papers in 2014. Author Retrospective for Optimizing for Parallelism and Data Locality, K. S. McKinley, ICS 25th Anniversary Volume, 2014.

Maximizing Loop Parallelism and Improving Data Locality via Loop Fusion and Distribution, K. Kennedy and K. S. McKinley, Languages and Compilers for Parallel Computing, Springer-Verlag Lecture Notes in Computer Science 768, pp. 301-321, Portland, August 1993.

Automatic and Interactive Parallelization, K. S. McKinley, PhD Dissertation, Rice University, April 1992.


1991

Interprocedural Transformation for Parallel Code Generation, M. W. Hall, K. Kennedy, and K. S. McKinley, Supercomputing '91, Albuquerque, November 1991.

Interactive Parallel Programming Using the ParaScope Editor, K. Kennedy, K. S. McKinley, and C. Tseng, IEEE Transactions on Parallel and Distributed Systems, 2(3):329-341, July 1991.


1990

Loop Distribution with Arbitrary Control Flow, K. Kennedy and K. S. McKinley, Supercomputing '90, pp. 407-416, New York, November 1990.


1989

The ParaScope Editor: An Interactive Parallelization Tool, V. Balasundaram, K. Kennedy, U. Kremer, K. S. McKinley, and J. Subhlok, Supercomputing '89, pp. 540-550, Reno Nevada, 1989.


Copyright Notice. The above material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's or organization's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.