Kathryn S. McKinley
#36,912
Most Influential Person Now
American computer scientist
Kathryn S. McKinley's AcademicInfluence.com Rankings
Kathryn S. McKinleycomputer-science Degrees
Computer Science
#1675
World Rank
#1735
Historical Rank
#804
USA Rank
Database
#5749
World Rank
#5965
Historical Rank
#784
USA Rank
Download Badge
Computer Science
Kathryn S. McKinley's Degrees
- PhD Computer Science Rice University
- Masters Computer Science Rice University
- Bachelors Computer Science Rice University
Similar Degrees You Can Earn
Why Is Kathryn S. McKinley Influential?
(Suggest an Edit or Addition)According to Wikipedia, Kathryn S. McKinley is an American computer scientist noted for her research on compilers, runtime systems, and computer architecture. She is also known for her leadership in broadening participation in computing. McKinley was co-chair of CRA-W from 2011 to 2014.
Kathryn S. McKinley's Published Works
Published Works
- The DaCapo benchmarks: java benchmarking development and analysis (2006) (1533)
- Improving data locality with loop transformations (1996) (587)
- Hoard: a scalable memory allocator for multithreaded applications (2000) (544)
- Tile size selection using cache organization and data layout (1995) (459)
- Scaling to the end of silicon with EDGE architectures (2004) (370)
- Compiler optimizations for improving data locality (1994) (332)
- Maximizing Loop Parallelism and Improving Data Locality via Loop Fusion and Distribution (1993) (293)
- The Jikes Research Virtual Machine project: Building an open-source research community (2005) (260)
- Myths and realities: the performance impact of garbage collection (2004) (254)
- PACER: proportional detection of data races (2010) (243)
- Oil and water? High performance garbage collection in Java with MMTk (2004) (220)
- Lase: Locating and applying systematic edits by learning from examples (2013) (209)
- Reconsidering custom memory allocation (2002) (203)
- Dynamic software updates: a VM-centric approach (2009) (192)
- Type-based alias analysis (1998) (172)
- Laminar: practical fine-grained decentralized information flow control (2009) (163)
- Data flow analysis for software prefetching linked data structures in Java (2001) (161)
- Immix: a mark-region garbage collector with space efficiency, fast collection, and mutator performance (2008) (158)
- Guided region prefetching: a cooperative hardware/software approach (2003) (157)
- The garbage collection advantage: improving program locality (2004) (156)
- Composing high-performance memory allocators (2001) (151)
- Interactive Parallel Programming using the ParaScope Editor (1991) (144)
- Cork: dynamic memory leak detection for garbage-collected languages (2007) (140)
- Redundant Memory Mappings for fast access to large memories (2015) (138)
- Uncertain: a first-order type for uncertain data (2014) (135)
- Systematic editing: generating program transformations from an example (2011) (131)
- Wake up and smell the coffee: evaluation methodology for the 21st century (2008) (131)
- Using the compiler to improve cache replacement decisions (2002) (129)
- A quantitative analysis of loop nest locality (1996) (119)
- Beltway: getting around garbage collection gridlock (2002) (117)
- Optimizing for parallelism and data locality (1992) (116)
- Probabilistic calling context (2007) (113)
- The Yin and Yang of power and performance for asymmetric hardware and managed software (2012) (105)
- Bell: bit-encoding online memory leak detection (2006) (103)
- Ulterior reference counting: fast garbage collection without a long wait (2003) (102)
- Expressing and verifying probabilistic assertions (2014) (100)
- Few-to-Many: Incremental Parallelism for Reducing Tail Latency in Interactive Services (2015) (100)
- Loop distribution with arbitrary control flow (1990) (99)
- Compiling for EDGE architectures (2006) (98)
- The ParaScope parallel programming environment (1993) (94)
- Looking back on the language and hardware revolutions: measured power, performance, and scaling (2011) (92)
- Pretenuring for Java (2001) (91)
- Age-based garbage collection (1999) (90)
- Simple and effective analysis of statically-typed object-oriented programs (1996) (90)
- Swayam: distributed autoscaling to meet SLAs of machine learning inference services with resource efficiency (2017) (87)
- Evaluating the performance of distributed architectures for information retrieval using a variety of workloads (2000) (86)
- Tolerating memory leaks (2008) (86)
- RoleCast: finding missing security checks when you do not know what checks are (2011) (83)
- Recovering and using use-case-diagram-to-source-code traceability links (2007) (81)
- Free-Me: a static analysis for automatic individual object reclamation (2006) (80)
- Why nothing matters: the impact of zeroing (2011) (80)
- Diglossia: detecting code injection attacks with precision and efficiency (2013) (79)
- Fix Me Up: Repairing Access-Control Bugs in Web Applications (2013) (77)
- Tracking bad apples: reporting the origin of null and undefined value errors (2007) (77)
- A Parametrized Loop Fusion Algorithm for Improving Parallelism and Cache Locality (1997) (72)
- Optimizing for parallelism and data locality (1992) (71)
- An evaluation of the TRIPS computer system (2009) (70)
- Typed Fusion with Applications to Parallel and Sequential Code Generation (1994) (68)
- The latency, accuracy, and battery (LAB) abstraction: programmer productivity and energy efficiency for continuous mobile context sensing (2013) (68)
- Interprocedural transformations for parallel code generation (1991) (64)
- Error-free garbage collection traces: how to cheat and not get caught (2002) (64)
- A spatial path scheduling algorithm for EDGE architectures (2006) (62)
- Quantifying loop nest locality using SPEC'95 and the perfect benchmarks (1999) (61)
- Generating object lifetime traces with Merlin (2006) (61)
- A security policy oracle: detecting security holes using multiple API implementations (2011) (60)
- A concurrent dynamic analysis framework for multicore hardware (2009) (58)
- Automatic and interactive parallelization (1992) (57)
- In or out?: putting write barriers in their place (2002) (57)
- Leak pruning (2009) (56)
- Does Automated Refactoring Obviate Systematic Editing? (2015) (55)
- Static placement, dynamic issue (SPDI) scheduling for EDGE architectures (2004) (55)
- Looking back and looking forward (2012) (54)
- Energy-efficient address translation (2016) (53)
- Performance evaluation of a distributed architecture for information retrieval (1996) (52)
- Dynamic object sampling for pretenuring (2004) (49)
- Older-first garbage collection in practice: evaluation in a Java Virtual Machine (2003) (48)
- Exploiting Processor Heterogeneity in Interactive Services (2013) (48)
- Practical path profiling for dynamic optimizers (2005) (47)
- Dynamic SimpleScalar: Simulating Java Virtual Machines (2003) (47)
- Exploiting Heterogeneity for Tail Latency and Energy Efficiency (2017) (47)
- Elfen Scheduling: Fine-Grain Principled Borrowing from Latency-Critical Workloads Using Simultaneous Multithreading (2016) (46)
- Work stealing for interactive services to meet target latency (2016) (45)
- Partial collection replication versus caching for information retrieval systems (2000) (44)
- Jinn: synthesizing dynamic bug detectors for foreign language interfaces (2010) (43)
- Continuous path and edge profiling (2005) (43)
- Finding your cronies: static analysis for dynamic object colocation (2004) (42)
- Dataflow Predication (2006) (40)
- A Compiler Optimization Algorithm for Shared-Memory Multiprocessors (1998) (38)
- The parascope editor: an interactive parallel programming tool (1989) (36)
- Using types to analyze and optimize object-oriented programs (2001) (35)
- The model is not enough: Understanding energy consumption in mobile devices (2012) (35)
- Learning-based Memory Allocation for C++ Server Workloads (2020) (34)
- Range Translations for Fast Virtual Memory (2016) (34)
- Taking off the gloves with reference counting Immix (2013) (34)
- Profile-based pretenuring (2007) (34)
- Cooperative caching with keep-me and evict-me (2005) (34)
- Automating object transformations for dynamic software updating (2012) (34)
- Sydit: creating and applying a program transformation from an example (2011) (33)
- Bounded partial-order reduction (2013) (33)
- Debug all your code: portable mixed-environment debugging (2009) (31)
- Analysis and transformation in an interactive parallel programming tool (1993) (30)
- Dynamic shape analysis via degree metrics (2009) (29)
- Feature selection and policy optimization for distributed instruction placement using reinforcement learning (2008) (29)
- Merging Head and Tail Duplication for Convergent Hyperblock Formation (2006) (28)
- Cooperative cache scrubbing (2014) (28)
- StreamBox: Modern Stream Processing on a Multicore Machine (2017) (28)
- StreamBox-HBM: Stream Analytics on High Bandwidth Hybrid Memory (2019) (25)
- Memory management for high-performance applications (2002) (25)
- Partial replica selection based on relevance for information retrieval (1999) (24)
- Starc: static analysis for efficient repair of complex data (2007) (24)
- Z-rays: divide arrays and conquer speed and flexibility (2010) (23)
- Computer performance microscopy with Shim (2015) (23)
- Detecting memory leaks in managed languages with Cork (2010) (22)
- Strategies for mapping dataflow blocks to distributed hardware (2008) (21)
- The Jikes RVM Project : Building an Open Source Research Community (2004) (21)
- A Concurrent Trace-based Just-InTime Compiler for Single-threaded JavaScript (2009) (21)
- A shape analysis for optimizing parallel graph programs (2011) (21)
- Evaluating automatic parallelization for efficient execution on shared-memory multiprocessors (1994) (21)
- No bit left behind: the limits of heap data compression (2008) (19)
- What is Happening to Power, Performance, and Software? (2012) (19)
- Practical Fine-Grained Information Flow Control Using Laminar (2014) (19)
- Simple and E ective Analysis ofStatically-Typed Object-Oriented ProgramsAmer (1996) (19)
- Portable performance on Asymmetric Multicore Processors (2016) (19)
- Vector Parallelism in JavaScript: Language and Compiler Support for SIMD (2015) (17)
- On models for object lifetime distributions (2000) (17)
- Microarchitectural Characterization of Production JVMs and Java Workloads (2008) (17)
- Analysis and transformation in the ParaScope editor (1991) (17)
- History-Aware Data Structure Repair Using SAT (2012) (16)
- Fast conservative garbage collection (2014) (16)
- Using managed runtime systems to tolerate holes in wearable memories (2013) (15)
- Tolerating Latency by Prefetching Java Objects (1999) (15)
- The Limits of Alias Analysis for Scalar Optimizations (2004) (15)
- Dynamic code management: improving whole program code locality in managed runtimes (2006) (14)
- Scalable distributed architectures for information retrieval (1999) (13)
- Correcting the Dynamic Call Graph Using Control-Flow Constraints (2007) (13)
- Dynamic Software Updates for Java : A VM-Centric Approach (2008) (13)
- Marco: Safe, Expressive Macros for Any Language (2012) (13)
- Cork: Dynamic Memory Leak Detection for Java (2006) (13)
- OOPSLA 2002: Reconsidering custom memory allocation (2013) (13)
- Efficient, context-sensitive detection of real-world semantic attacks (2010) (12)
- Decomposing memory performance: data structures and phases (2006) (12)
- Compiling for the Impulse memory controller (2001) (12)
- A garbage collection design and bakeoff in JMTk: An efficient extensible Java memory management toolkit (2003) (12)
- A Theoretical Foundation for Scheduling and Designing Heterogeneous Processors for Interactive Applications (2014) (12)
- Uncertain<T>: Abstractions for Uncertain Hardware and Software (2015) (11)
- Deferred gratification: engineering for high performance garbage collection from the get go (2011) (11)
- Improving publication quality by reducing bias with double-blind reviewing and author response (2008) (10)
- The Effect of Collection Organization and Query Locality on Information Retrieval System Performance (2002) (10)
- Partial Collection Replication for Information Retrieval (2003) (10)
- Simple and effective array prefetching in Java (2002) (10)
- Software Infrastructure and Tools for the TRIPS Prototype (2007) (10)
- Load Scheduling with Profile Information (2000) (9)
- Effective compile-time analysis for data prefetching in java (2002) (9)
- Low-power, low-complexity instruction issue using compiler assistance (2005) (9)
- Diagnosing and tolerating bugs in deployed systems (2008) (9)
- Power and Performance of Native and Java Benchmarks on 130nm to 32nm Process Technologies (2010) (9)
- Loop Fusion for Data Locality and Parallelism (1996) (9)
- Performance Analysis of Distributed Information Retrieval Architectures (1995) (8)
- Crystal Gazer (2019) (8)
- Paper and proposal reviews (2008) (8)
- Looking back and looking forward: power, performance, and upheaval (2012) (8)
- A Concurrent Trace-based Just-InTime Compiler for JavaScript (2009) (8)
- Debugging probabilistic programs (2017) (8)
- SCORE: A COMPILER REPRESENTATION FOR HETEROGENEOUS SYSTEMS (1996) (8)
- More on Improving Reviewing Quality with Double-Blind Reviewing, External Review Committees, Author Response, and in Person Program Committee Meetings (2015) (7)
- The Hardware/Software Balancing Act for Information Retrieval on Symmetric Multiprocessors (1998) (7)
- Improving Replacement Decisions in Set-Associative Caches TITLE2: (2001) (7)
- Instruction scheduling for emerging communication-exposed architectures (2004) (7)
- Building HighPerformance Custom and GeneralPurpose Memory Allocators (2001) (7)
- Compiler Architectures for Heterogeneous Systems (1995) (7)
- Adaptive huge-page subrelease for non-moving memory allocators in warehouse-scale computers (2021) (7)
- Static stages for heterogeneous programming (2017) (7)
- Crystal Gazer: Profile-Driven Write-Rationing Garbage Collection for Hybrid Memories (2019) (6)
- GOTO rankings considered helpful (2018) (6)
- Searching a Terabyte of Text Using Partial Replication (1999) (6)
- Fast and efficient partial code reordering: taking advantage of dynamic recompilatior (2006) (6)
- On Models for Object Lifetimes (2000) (6)
- Fast garbage collection without a long wait (2003) (6)
- Improving Replacement Decisions in Set-Associative Caches (2001) (6)
- Compiling for Heterogeneous System: A Survey and an Approach (1995) (6)
- Common Language Encoding Form (Clef) Design Document (1997) (6)
- Efficient , Context-Sensitive Detection of Semantic Attacks (2009) (5)
- Optimal Huffman Tree-Height Reduction for Instruction-Level Parallelism (2008) (5)
- Compiler-Based Code-Improvement Techniques (2001) (5)
- Managing hybrid memories by predicting object write intensity (2018) (5)
- Register Bank Assignment for Spatially Partitioned Processors (2008) (5)
- Cooperative hardware/software caching for next-generation memory systems (2004) (5)
- Power and Performance of Native and Java Benchmarks on 130 nm to 32 nm Process Technologies (2010) (4)
- Programming the world of uncertain things (keynote) (2016) (4)
- 20 Years of the ACM SIGPLAN Conference on Programming Language Design and Implementation 1979-1999, A Selection (2004) (4)
- An Evaluation of the TRIPS Computer System (Extended Technical Report) (2008) (4)
- Convergent Compilation Applied to Loop Unrolling (2007) (4)
- TRIPS Intermediate Language (TIL) Manual (2005) (4)
- High Five: Improving Gesture Recognition by Embracing Uncertainty (2017) (4)
- Fast and Efficient Partial Code Reordering : Taking Advantage of Dynamic Recompilation (2006) (4)
- Combining Cooperative Software / Hardware Prefetching and Cache Replacment (2004) (4)
- TRIPS Application Binary Interface (ABI) Manual (2005) (3)
- Tera-Op Reliable Intelligently Adaptive Processing System (TRIPS) (2004) (3)
- Evolving Compiler Heuristics to Manage Communication and Contention (2010) (3)
- Profile-Driven Pretenuring for Java (2000) (3)
- Debugging mixed‐environment programs with Blink (2015) (3)
- Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation (2007) (3)
- Programming the Internet of Uncertain hings (2015) (3)
- Atomic block formation for explicit data graph execution architectures (2010) (3)
- Transient Caches and Object Streams (2007) (2)
- Data reorganization for improving cache performance of object-oriented programs (2002) (2)
- Probabilistic Assertions : Extended Semantics and Proof (2014) (2)
- Workshop on Quantification, Communication, and Interpretation of Uncertainty in Simulation and Data Science (2020) (2)
- Author Growth Outstrips Publication Growth in Computer Science and Publication Quality Correlates with Collaboration (2019) (2)
- Tera-OP Reliable Intelligently Adaptive Processing System (TRIPS) Implementation (2008) (2)
- CONNECTION-LEVEL PARALLELISM FOR NETWORK PROTOCOLS ON SHARED-MEMORY MULTIPROCESSOR SERVERS (2007) (2)
- Improving Diversity in Computing Research: An Overview of CRA-W Activities (2018) (2)
- Emulating Hybrid Memory on NUMA Hardware (2018) (2)
- Proceedings of the 11th international conference on Architectural support for programming languages and operating systems (2004) (2)
- Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation (2007) (2)
- Recurrence analysis for effective array prefetching in Java (2005) (2)
- The Memory Behavior of Data Structures in C SPEC CPU 2000 Benchmarks (2006) (2)
- Interactive Parallel Programming Using the Parascope Editor Interactive Parallel Programming Using the Parascope Editor (1991) (1)
- Diversity Drives Innovation (2013) (1)
- Oldest-first garbage collection (2007) (1)
- A Performance Evaluation of Parallel Information Retrieval on Symmetrical Multiprocessors (2007) (1)
- O Java , Java ! Wherefore Art Thou Java ? (2007) (1)
- Crystal Gazer (2019) (1)
- Profile-driven pretenuring for Java (poster session) (2000) (1)
- Polar opposites: next generation languages and architectures (2004) (1)
- HeDGE: Hybrid Dataflow Graph Execution in the Issue Logic (2008) (1)
- Emulating and Evaluating Hybrid Memory for Managed Languages on NUMA Hardware (2019) (1)
- The yin and yang of hardware heterogeneity: can software survive? (2013) (1)
- Exploiting Processor Heterogeneity for Interactive Systems (2013) (1)
- Partial Collection Replication for Information Retrieval TITLE2 (1999) (1)
- The pros and cons of the 'PACM' proposal (2015) (1)
- Interactive Parallel Programming Using the Parascope Editor Interactive Parallel Programming Using the Parascope Editor (1991) (1)
- Author retrospective for optimizing for parallelism and data locality (2014) (1)
- Low-latency, high-throughput garbage collection (2022) (1)
- Quantification, Communication, and Interpretation of Uncertainty in Simulation and Data Science (2015) (1)
- Self-Evaluating Compilation Applied to Loop Unrolling (2006) (1)
- Written Testimony to the House Science Committee's Subcommittee on Research and Science Education (2013) (0)
- Written Testimony to the House Science Committee's Subcommittee on Research and Science Education (2013) (0)
- Keynote address II: How's the parallel computing revolution going? (2011) (0)
- Loop Distribution with Arbitrary Control Flow Loop Distribution with Arbitrary Control Flow (1990) (0)
- Proceedings of the ACM SIGPLAN 2007 Conference on Programming Language Design and Implementation, San Diego, California, USA, June 10-13, 2007 (2007) (0)
- There ’ s Something About Bayes : Effective Probabilistic Programming for the Rest of Us (2014) (0)
- Session details: Caches and TLBs (2014) (0)
- Bounded Partial-Order Reduction Proof (2013) (0)
- Cooperative Software / Hardware Caching for Future Memory Systems (0)
- Automating and Validating Semantic Annotations (2006) (0)
- System Design for Heterogeneity: The Virtual Machine Services Test Case (2009) (0)
- "CRA women" changes its name to reflect an expanding mission (2019) (0)
- How's the parallel computing revolution going? (2011) (0)
- How to quantify loop nest locality (2001) (0)
- Oldest-First Garbage Collection TITLE2: (1998) (0)
- Virtual Machine Services:An Opportunity for Hardware Customization (2011) (0)
- From Graduate Student to Fellow: Research Community, Membership Levels, and Recognition (2015) (0)
- A Static Analysis for Automatic Individual Object Reclamation in Java (2005) (0)
- Bounded Partial-Order Reduction Proof Companion Source Material (2013) (0)
- Session details: Caches and TLBs (2014) (0)
- Rethinking age-based garbage collectors (2007) (0)
- Session details: Heap measurement and analysis II (2008) (0)
- La prossima vita at TOPLAS (2010) (0)
- Remembrances of things past (2009) (0)
- Empirical Analysis of Serial and Parallel Collectors : SPECjvm 2008 (2013) (0)
- . 2 0 . 3 0 . 4 0 . 5 4 12 20 28 36 44 52 Pr ob ab ili ty Request Total Work ( ms ) (2015) (0)
- Blink User Guide (2008) (0)
- Recurrence analysis for effective array prefetching in Java: Research Articles (2005) (0)
- The ParaScope parallel programming environment : Languages and compilers (1993) (0)
- La dolce vita at TOPLAS (2010) (0)
- Proceedings of the 2012 international symposium on Memory Management (2012) (0)
- Tolerating Latency by Prefetching Java Objects Brendon Cahoon (1999) (0)
- Editorial: Remembrances of things past (2009) (0)
- Recovering Use-Case-Diagram-To-Source-Code Traceability Links (2006) (0)
- Simple and Effective Analysis of Statically Typed Object-Oriented Programs (1996) (0)
- Proceedings of the Eleventh IEEE/ACM International Symposium on Code Generation and Optimization (CGO 2013) (2013) (0)
- Automating and Validating Program Annotations (2005) (0)
- The Good Block: Hardware/Software Design for Composable, Block-Atomic Processors (2011) (0)
- Low-Latency, High-Throughput Garbage Collection (Extended Version) (2022) (0)
- A Compiler Optimization Algorithm for (1998) (0)
- Discovering heap anomalies in the wild (2009) (0)
- Improving program locality on-the-fly (2006) (0)
- TR-CS-02-06 Fast Garbage Collection without a Long Wait (2002) (0)
- Loop Distribution with Arbitrary Control Flow Loop Distribution with Arbitrary Control Flow (1990) (0)
- Programming Uncertain jhings (2016) (0)
- Dynamic Code Management Xianglong (2005) (0)
- Next Generation Virtual Memory Management (2016) (0)
- Interprocedural Transformations for Parallel Code Generation Interprocedural Transformations for Parallel Code Generation (1991) (0)
- Proceedings of the 11th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2004, Boston, MA, USA, October 7-13, 2004 (2004) (0)
- Editorial: A changing of the guard (2007) (0)
- BraidCore Type System and Semantics (2017) (0)
- The Transient Cache : Modern Programs and Modern Cache Design ∗ (2006) (0)
- Uniting industry, academia and government to advance computing research and change the world. ! " # $ (2014) (0)
- TR-CS-0703 Towards Parameter-free Blocking for Scalable Record Linkage (2007) (0)
- CRA-W Grad Cohort: Equipping the Next Generation of Computing Research PhDs for Success (2014) (0)
- Interprocedural Transformations for Parallel Code Generation Interprocedural Transformations for Parallel Code Generation (1991) (0)
- On Models for Object Lifetime Distributions ( short paper ) (2016) (0)
- Welcome Message from the General Chair (2020) (0)
- Programming Uncertain hings (2016) (0)
- TR-CS-07-04 Immix Garbage Collection : Fast Collection , Space Efficiency , and Mutator Locality (2007) (0)
- Compiling high-level languages for configurable computers: applying lessons from heterogeneous processing (1996) (0)
- Closing the Memory Gap for Future Memory Systems (0)
- Kingsguard : Write-Rationing Garbage Collection for Hybrid Memories (2019) (0)
- Session details: Caches and TLBs (2014) (0)
This paper list is powered by the following services:
Other Resources About Kathryn S. McKinley
What Schools Are Affiliated With Kathryn S. McKinley?
Kathryn S. McKinley is affiliated with the following schools: