Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Michael Hind

dblp:40/6652 · DBLP profile ↗
← Back
30ranked-venue papers
7as first author
3since 2021 · last 2025
0000-0002-7247-7225ORCID · reported

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 19 · 6 first-authorSystems, architecture and hardware · 5 · 1 first-authorArtificial intelligence and machine learning · 4 · 1 first-author · 2 since 2021Applied, interdisciplinary, general and emerging computing · 3 · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 2 · 1 since 2021Human-computer interaction and ubiquitous computing · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Artificial intelligence
3 papers
Trustworthy machine learning · 75% Language models and text generation · 25%
Software engineering, system software, and programming languages
13 papers
Compilers and program optimization · 27% Program analysis · 25% Runtime systems and virtual machines · 22%
Human-computer interaction and pervasive computing
1 paper
Usability and user experience research · 100%

Topics — the 26 heaviest of 29, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Machine learning › Trustworthy machine learning › interpretability › explainable AI
explanation methods
1.022022
AI Explainability 360: Impact and Design · AAAI 2022
AI Explainability 360: An Extensible Toolkit for Understanding Data and Machine Learning Models · J. Mach. Learn. Res. 2020
Machine learning › Trustworthy machine learning
interpretability
1.022022
AI Explainability 360: Impact and Design · AAAI 2022
AI Explainability 360: An Extensible Toolkit for Understanding Data and Machine Learning Models · J. Mach. Learn. Res. 2020
Natural language and speech › Language models and text generation
large language model evaluation
0.912025
BenchmarkCards: Standardized Documentation for Large Language Model Benchmarks · NeurIPS 2025
Machine learning › Trustworthy machine learning › interpretability
explanation evaluation
0.622022
AI Explainability 360: An Extensible Toolkit for Understanding Data and Machine Learning Models · J. Mach. Learn. Res. 2020
AI Explainability 360: Impact and Design · AAAI 2022
Usability and user experience research
user study
0.312025
BenchmarkCards: Standardized Documentation for Large Language Model Benchmarks · NeurIPS 2025
Compilers and program optimization › dynamic optimization
profile-guided optimization
0.352007
Using hpm-sampling to drive dynamic compilation · OOPSLA 2007
Online performance auditing: using hot optimizations without getting burned · PLDI 2006
A Survey of Adaptive Optimization in Virtual Machines · Proc. IEEE 2005
Empirical software engineering › software engineering research methodology
empirical study
0.212016
The Truth, The Whole Truth, and Nothing But the Truth: A Pragmatic Guide to Assessing Empirical Evaluations · ACM Trans. Program. Lang. Syst. 2016
Runtime systems and virtual machines
dynamic compilation
0.122007
Using hpm-sampling to drive dynamic compilation · OOPSLA 2007
A Survey of Adaptive Optimization in Virtual Machines · Proc. IEEE 2005
Program analysis › static analysis
pointer analysis
0.132007
Fast online pointer analysis · ACM Trans. Program. Lang. Syst. 2007
Which pointer analysis should I use? · ISSTA 2000
Interprocedural pointer alias analysis · ACM Trans. Program. Lang. Syst. 1999
Program analysis
static analysis
0.122007
Fast online pointer analysis · ACM Trans. Program. Lang. Syst. 2007
Interprocedural pointer alias analysis · ACM Trans. Program. Lang. Syst. 1999
Runtime systems and virtual machines › virtual machine implementation
java virtual machine
0.132007
Fast online pointer analysis · ACM Trans. Program. Lang. Syst. 2007
Online feedback-directed optimization of Java · OOPSLA 2002
Adaptive optimization in the Jalapeño JVM · OOPSLA 2000
Software maintenance and evolution › software performance engineering
performance anomaly detection
0.112006
Online performance auditing: using hot optimizations without getting burned · PLDI 2006
Program analysis › dynamic analysis › profiling
edge profiling
0.012002
Online feedback-directed optimization of Java · OOPSLA 2002
Program analysis › dynamic analysis
profiling
0.012002
Online feedback-directed optimization of Java · OOPSLA 2002
Compilers and program optimization
dynamic optimization
0.012000
Adaptive optimization in the Jalapeño JVM · OOPSLA 2000
Compilers and program optimization › interprocedural optimization
profile-guided inlining
0.012000
Adaptive optimization in the Jalapeño JVM · OOPSLA 2000
Program analysis › static analysis
interprocedural analysis
0.011999
Interprocedural pointer alias analysis · ACM Trans. Program. Lang. Syst. 1999
Performance modeling and evaluation › performance monitoring
hardware performance monitoring
0.012007
Using hpm-sampling to drive dynamic compilation · OOPSLA 2007
Program analysis › data flow analysis
constant propagation
0.011995
Flow-Sensitive Interprocedural Constant Propagation · PLDI 1995
Compilers and program optimization › interprocedural optimization
interprocedural constant propagation
0.011995
Flow-Sensitive Interprocedural Constant Propagation · PLDI 1995
Compilers and program optimization › loop transformation
loop distribution
0.011992
Loop Distribution with Multiple Exits · SC 1992
Compilers and program optimization
loop transformation
0.011992
Loop Distribution with Multiple Exits · SC 1992
Compilers and program optimization
parallelizing compiler
0.011989
Automatic Generation of DAG Parallelism · PLDI 1989
Parallel and multicore computing › parallel programming models
automatic parallelization
0.011989
Automatic Generation of DAG Parallelism · PLDI 1989
Program analysis
data flow analysis
0.011995
Flow-Sensitive Interprocedural Constant Propagation · PLDI 1995
Compilers and program optimization
program transformation
0.011992
Loop Distribution with Multiple Exits · SC 1992

Methods — techniques the papers use, named apart from their topics

user study · 1.7explainability methods · 0.6taxonomy · 0.4software toolkit · 0.4hardware performance monitor sampling · 0.1online optimization evaluation · 0.1profiling · 0.1andersen's pointer analysis · 0.1runtime compilation · 0.1online profiling · 0.1flow-sensitive analysis · 0.0instrumentation sampling · 0.0pointer analysis · 0.0asynchronous communication · 0.0
YearPublicationVenuePosition
2025 BenchmarkCards: Standardized Documentation for Large Language Model Benchmarks
abstract
Large language models (LLMs) are powerful tools capable of handling diverse tasks. Comparing and selecting appropriate LLMs for specific tasks requires systematic evaluation methods, as models exhibit varying capabilities across different domains. However, finding suitable benchmarks is difficult given the many available options. This complexity not only increases the risk of benchmark misuse and misinterpretation but also demands substantial effort from LLM users, seeking the most suitable benchmarks for their specific needs. To address these issues, we introduce BenchmarkCards, an intuitive and validated documentation framework that standardizes critical benchmark attributes such as objectives, methodologies, data sources, and limitations. Through user studies involving benchmark creators and users, we show that BenchmarkCards can simplify benchmark selection and enhance transparency, facilitating informed decision-making in evaluating LLMs.Data & Code:github.com/SokolAnn/BenchmarkCards huggingface.co/datasets/ASokol/BenchmarkCards
Anna Sokol, Elizabeth Daly, Michael Hind, David Piorkowski, Xiangliang Zhang 0001, Nuno Moniz, Nitesh V. Chawla
NeurIPS3
2022 AI Explainability 360: Impact and Design
abstract
As artificial intelligence and machine learning algorithms become increasingly prevalent in society, multiple stakeholders are calling for these algorithms to provide explanations. At the same time, these stakeholders, whether they be affected citizens, government regulators, domain experts, or system developers, have different explanation needs. To address these needs, in 2019, we created AI Explainability 360, an open source software toolkit featuring ten diverse and state-of-the-art explainability methods and two evaluation metrics. This paper examines the impact of the toolkit with several case studies, statistics, and community feedback. The different ways in which users have experienced AI Explainability 360 have resulted in multiple types of impact and improvements in multiple metrics, highlighted by the adoption of the toolkit by the independent LF AI & Data Foundation. The paper also describes the flexible design of the toolkit, examples of its use, and the significant educational material and documentation available to its users.
Vijay Arya, Rachel K. E. Bellamy, Amit Dhurandhar, Michael Hind, Samuel C. Hoffman, Stephanie Houde, Qingzi Vera Liao, Ronny Luss, Aleksandra Mojsilovic, Sami Mourad, Pablo Pedemonte, Ramya Raghavendra, John T. Richards, Prasanna Sattigeri, Karthikeyan Shanmugam 0001, Moninder Singh, Kush R. Varshney, Dennis Wei
AAAI5
2021 Disparate Impact Diminishes Consumer Trust Even for Advantaged Users
Tim Draws, Zoltán Szlávik, Benjamin Timmermans, Nava Tintarev, Kush R. Varshney, Michael Hind
PERSUASIVE6
2020 AI Explainability 360: An Extensible Toolkit for Understanding Data and Machine Learning Models
abstract
As artificial intelligence algorithms make further inroads in high-stakes societal applications, there are increasing calls from multiple stakeholders for these algorithms to explain their outputs. To make matters more challenging, different personas of consumers of explanations have different requirements for explanations. Toward addressing these needs, we introduce AI Explainability 360, an open-source Python toolkit featuring ten diverse and state-of-the-art explainability methods and two evaluation metrics. Equally important, we provide a taxonomy to help entities requiring explanations to navigate the space of interpretation and explanation methods, not only those in the toolkit but also in the broader literature on explainability. For data scientists and other users of the toolkit, we have implemented an extensible software architecture that organizes methods according to their place in the AI modeling pipeline. The toolkit is not only the software, but also guidance material, tutorials, and an interactive web demo to introduce AI explainability to different audiences. Together, our toolkit and taxonomy can help identify gaps where more explainability methods are needed and provide a platform to incorporate them as they are developed.
Vijay Arya, Rachel K. E. Bellamy, Amit Dhurandhar, Michael Hind, Samuel C. Hoffman, Stephanie Houde, Qingzi Vera Liao, Ronny Luss, Aleksandra Mojsilovic, Sami Mourad, Pablo Pedemonte, Ramya Raghavendra, John T. Richards, Prasanna Sattigeri, Karthikeyan Shanmugam 0001, Moninder Singh, Kush R. Varshney, Dennis Wei
J. Mach. Learn. Res.5
2019 TED: Teaching AI to Explain its Decisions
abstract
Artificial intelligence systems are being increasingly deployed due to their potential to increase the efficiency, scale, consistency, fairness, and accuracy of decisions. However, as many of these systems are opaque in their operation, there is a growing demand for such systems to provide explanations for their decisions. Conventional approaches to this problem attempt to expose or discover the inner workings of a machine learning model with the hope that the resulting explanations will be meaningful to the consumer. In contrast, this paper suggests a new approach to this problem. It introduces a simple, practical framework, called Teaching Explanations for Decisions (TED), that provides meaningful explanations that match the mental model of the consumer. We illustrate the generality and effectiveness of this approach with two different examples, resulting in highly accurate explanations with no loss of prediction accuracy for these two examples.
Michael Hind, Dennis Wei, Murray Campbell, Noel Codella, Amit Dhurandhar, Aleksandra Mojsilovic, Karthikeyan Natesan Ramamurthy, Kush R. Varshney
AIES1
2019 Constructing and Compressing Frames in Blockchain-based Verifiable Multi-party Computation
abstract
In previous work, we proposed a scalable multi-party verification scheme for expensive iterative computations on a Blockchain substrate by appropriate storage and endorsement of frames of iterates. In this work, we extend the framework to verify sets of complete computations with different unordered hyperparameters and develop frame ordering and compression algorithms to enable scalability in the system. We illustrate the efficacy of the proposed approach by verifying the OpenMalaria epidemiological simulation.
Ravi Kiran Raman, Kush R. Varshney, Roman Vaculín, Nelson Bore, Sekou L. Remy, Eleftheria Kyriaki Pissadaki, Michael Hind
ICASSP7
2016 The Truth, The Whole Truth, and Nothing But the Truth: A Pragmatic Guide to Assessing Empirical Evaluations
Steve Blackburn, Amer Diwan, Matthias Hauswirth, Peter F. Sweeney, José Nelson Amaral, Tim Brecht, Lubomír Bulej, Cliff Click, Lieven Eeckhout, Sebastian Fischmeister, Daniel Frampton, Laurie J. Hendren, Michael Hind, Antony L. Hosking, Richard E. Jones, Tomas Kalibera, Nathan Keynes, Nathaniel Nystrom, Andreas Zeller
ACM Trans. Program. Lang. Syst.13
2007 A Loop Correlation Technique to Improve Performance Auditing
Jeremy Lau, Matthew Arnold, Michael Hind, Brad Calder
PACT3
2007 Using hpm-sampling to drive dynamic compilation
abstract
All high-performance production JVMs employ an adaptive strategy for program execution. Methods are first executed unoptimized and then an online profiling mechanism is used to find a subset of methods that should be optimized during the same execution. This paper empirically evaluates the design space of several profilers for initiating dynamic compilation and shows that existing online profiling schemes suffer from several limitations. They provide an insufficient number of samples, are untimely, and have limited accuracy at determining the frequently executed methods. We describe and comprehensively evaluate HPM-sampling, a simple but effective profiling scheme for finding optimization candidates using hardware performance monitors (HPMs) that addresses the aforementioned limitations. We show that HPM-sampling is more accurate; has low overhead; and improves performance by 5.7% on average and up to 18.3% when compared to the default system in Jikes RVM, without changing the compiler.
Dries Buytaert, Andy Georges, Michael Hind, Matthew Arnold, Lieven Eeckhout, Koen De Bosschere
OOPSLA3
2007 Dynamic compilation: the benefits of early investing
abstract
Dynamic compilation is typically performed in a separate thread, asynchronously with the remaining application threads. This compilation thread is often scheduled for execution in a simple round-robin fashion either by the operating system or by the virtual machine itself. Despite the popularity of this approach in production virtual machines, it has a number of shortcomings that can lead to suboptimal performance.
Prasad A. Kulkarni, Matthew Arnold, Michael Hind
VEE3
2007 Fast online pointer analysis
abstract
Pointer analysis benefits many useful clients, such as compiler optimizations and bug finding tools. Unfortunately, common programming language features such as dynamic loading, reflection, and foreign language interfaces, make pointer analysis difficult. This article describes how to deal with these features by performing pointer analysis online during program execution. For example, dynamic loading may load code that is not available for analysis before the program starts. Only an online analysis can analyze such code, and thus support clients that optimize or find bugs in it. This article identifies all problems in performing Andersen's pointer analysis for the full Java language, presents solutions to these problems, and uses a full implementation of the solutions in a Java virtual machine for validation and performance evaluation. Our analysis is fast: On average over our benchmark suite, if the analysis recomputes points-to results upon each program change, most analysis pauses take under 0.1 seconds, and add up to 64.5 seconds.
Martin Hirzel, Daniel von Dincklage, Amer Diwan, Michael Hind
ACM Trans. Program. Lang. Syst.4
2006 Online Phase Detection Algorithms
abstract
Today's virtual machines (VMs) dynamically optimize an application as it is executing, often employing optimizations that are specialized for the current execution profile. An online phase detector determines when an executing program is in a stable period of program execution (a phase) or is in transition. A VM using an online phase detector can apply specialized optimizations during a phase or reconsider optimization decisions between phases. Unfortunately, extant approaches to detecting phase behavior rely on either offline profiling, hardware support, or are targeted toward a particular optimization. In this work, we focus on the enabling technology of online phase detection. More specifically, we contribute (a) a novel framework for online phase detection, (b) multiple instantiations of the framework that produce novel online phase detection algorithms, (c) a novel client- and machine-independent baseline methodology for evaluating the accuracy of an online phase detector, (d) a metric to compare online detectors to this baseline, and (e) a detailed empirical evaluation, using Java applications, of the accuracy of the numerous phase detectors.
Priya Nagpurkar, Chandra Krintz, Michael Hind, Peter F. Sweeney, V. T. Rajan
CGO3
2006 Online performance auditing: using hot optimizations without getting burned
abstract
As hardware complexity increases and virtualization is added at more layers of the execution stack, predicting the performance impact of optimizations becomes increasingly difficult. Production compilers and virtual machines invest substantial development effort in performance tuning to achieve good performance for a range of benchmarks. Although optimizations typically perform well on average, they often have unpredictable impact on running time, sometimes degrading performance significantly. Today's VMs perform sophisticated feedback-directed optimizations, but these techniques do not address performance degradations, and they actually make the situation worse by making the system more unpredictable.This paper presents an online framework for evaluating the effectiveness of optimizations, enabling an online system to automatically identify and correct performance anomalies that occur at runtime. This work opens the door for a fundamental shift in the way optimizations are developed and tuned for online systems, and may allow the body of work in offline empirical optimization search to be applied automatically at runtime. We present our implementation and evaluation of this system in a product Java VM.
Jeremy Lau, Matthew Arnold, Michael Hind, Brad Calder
PLDI3
2005 Virtual Machine Learning: Thinking like a Computer Architect
abstract
Summary form only given. Modern commercial software is written in languages that execute on a virtual machine. Such languages often have dynamic features that require rich runtime support and preclude traditional static optimization. Implementations of these languages have employed dynamic optimization strategies to achieve significant performance improvements. In this paper the author describes some of these strategies and demonstrates their effectiveness. The author then argues that further advances in this field are being hindered by our bias toward adapting traditional static optimization techniques. Instead, we need to think more like a computer architect to create new approaches to optimization in virtual machines.
Michael Hind
CGO1
2005 High-level real-time programming in Java
abstract
Real-time systems have reached a level of complexity beyond the scaling capability of the low-level or restricted languages traditionally used for real-time programming.While Metronome garbage collection has made it practical to use Java to implement real-time systems, many challenges remain for the construction of complex real-time systems, some specific to the use of Java and others simply due to the change in scale of such systems.The goal of our current research is the creation of a comprehensive Java-based programming environment and methodology for the creation of complex real-time systems. Our goals include construction of a provably correct real-time garbage collector capable of providing worst case latencies of 100 μs, capable of scaling from sensor nodes up to large multiprocessors; specialized programming constructs that retain the safety and simplicity of Java, and yet provide sub-microsecond latencies; the extension of Java's "write once, run anywhere" principle from functional correctness to timing behavior; on-line analysis and visualization that aids in the understanding of complex behaviors; and a principled probabilistic analysis methodology for bounding the behavior of the resulting systems.While much remains to be done, this paper describes the progress we have made towards these goals.
David F. Bacon, Perry Cheng, David Grove, Michael Hind, V. T. Rajan, Eran Yahav, Matthias Hauswirth, Christoph M. Kirsch, Daniel Spoonhower, Martin T. Vechev
EMSOFT4
2005 A Survey of Adaptive Optimization in Virtual Machines
abstract
Virtual machines face significant performance challenges beyond those confronted by traditional static optimizers. First, portable program representations and dynamic language features, such as dynamic class loading, force the deferral of most optimizations until runtime, inducing runtime optimization overhead. Second, modular program representations preclude many forms of whole-program interprocedural optimization. Third, virtual machines incur additional costs for runtime services such as security guarantees and automatic memory management. To address these challenges, vendors have invested considerable resources into adaptive optimization systems in production virtual machines. Today, mainstream virtual machine implementations include substantial infrastructure for online monitoring and profiling, runtime compilation, and feedback-directed optimization. As a result, adaptive optimization has begun to mature as a widespread production-level technology. This paper surveys the evolution and current state of adaptive optimization technology in virtual machines.
Matthew Arnold, Stephen J. Fink, David Grove, Michael Hind, Peter F. Sweeney
Proc. IEEE4
2004 Pointer Analysis in the Presence of Dynamic Class Loading
Martin Hirzel, Amer Diwan, Michael Hind
ECOOP3
2004 Vertical profiling: understanding the behavior of object-priented applications
abstract
Object-oriented programming languages provide a rich set of features that provide significant software engineering benefits. The increased productivity provided by these features comes at a justifiable cost in a more sophisticated runtime system whose responsibility is to implement these features efficiently. However, the virtualization introduced by this sophistication provides a significant challenge to understanding complete system performance, not found in traditionally compiled languages, such as C or C++. Thus, understanding system performance of such a system requires profiling that spans all levels of the execution stack, such as the hardware, operating system, virtual machine, and application.
Matthias Hauswirth, Peter F. Sweeney, Amer Diwan, Michael Hind
OOPSLA4
2002 Online feedback-directed optimization of Java
abstract
This paper describes the implementation of an online feedback-directed optimization system. The system is fully automatic; it requires no prior (offline) profiling run. It uses a previously developed low-overhead instrumentation sampling framework to collect control flow graph edge profiles. This profile information is used to drive several traditional optimizations, as well as a novel algorithm for performing feedback-directed control flow graph node splitting. We empirically evaluate this system and demonstrate improvements in peak performance of up to 17% while keeping overhead low, with no individual execution being degraded by more than 2% because of instrumentation.
Matthew Arnold, Michael Hind, Barbara G. Ryder
OOPSLA2
2001 Pointer analysis: haven't we solved this problem yet?
abstract
During the past twenty-one years, over seventy-five papers and nine Ph.D. theses have been published on pointer analysis. Given the tomes of work on this topic one may wonder, “Haven'trdquo; we solved this problem yet?'' With input from many researchers in the field, this paper describes issues related to pointer analysis and remaining open problems.
Michael Hind
PASTE1
2001 Evaluating the effectiveness of pointer alias analyses
Michael Hind, Anthony Pioli
Sci. Comput. Program.1
2000 Optimizing Java Programs in the Presence of Exceptions
Manish Gupta 0002, Jong-Deok Choi, Michael Hind
ECOOP3
2000 Which pointer analysis should I use?
abstract
During the past two decades many different pointer analysis algorithms have been published. Although some descriptions include measurements of the effectiveness of the algorithm, qualitative comparisons among algorithms are difficult because of varying infrastructure, benchmarks, and performance metrics. Without such comparisons it is not only difficult for an implementor to determine which pointer analysis is appropriate for their application, but also for a researcher to know which algorithms should be used as a basis for future advances.
Michael Hind, Anthony Pioli
ISSTA1
2000 Adaptive optimization in the Jalapeño JVM
abstract
Future high-performance virtual machines will improve performance through sophisticated online feedback-directed optimizations. this paper presents the architecture of the Jalapeño Adaptive Optimization System, a system to support leading-edge virtual machine technology and enable ongoing research on online feedback-directed optimizations. We describe the extensible system architecture, based on a federation of threads with asynchronous communication. We present an implementation of the general architecture that supports adaptive multi-level optimization based purely on statistical sampling. We empirically demonstrate that this profiling technique has low overhead and can improve startup and steady-state performance, even without the presence of online feedback-directed optimizations. The paper also describes and evaluates an online feedback-directed inlining optimization based on statistical edge sampling. The system is written completely in Java, applying the described techniques not only to application code and standard libraries, but also to the virtual machine itself.
Matthew Arnold, Stephen J. Fink, David Grove, Michael Hind, Peter F. Sweeney
OOPSLA4
1999 Efficient and Precise Modeling of Exceptions for the Analysis of Java Programs
abstract
The Factored Control Flow Graph, FCFG, is a novel representation of a program's intraprocedural control flow, which is designed to efficiently support the analysis of programs written in languages, such as Java, that have frequently occurring operations whose execution may result in exceptional control flow. The FCFG is more compact than traditional CFG representations for exceptional control flow, yet there is no loss of precision in using the FCFG. In this paper, we introduce the FCFG representation and outline how standard forward and backward data flow analysis algorithms can be adapted to work on this representation. We also present empirical measurements of FCFG sizes for a large number of methods obtained from a variety of Java programs, and compare these sizes with those of a traditional CFG representation.
Jong-Deok Choi, David Grove, Michael Hind, Vivek Sarkar
PASTE3
1999 Interprocedural pointer alias analysis
abstract
We present practical approximation methods for computing and representing interprocedural aliases for a program written in a language that includes pointers, reference parameters, and recursion. We present the following contributions: (1) a framework for interprocedural pointer alias analysis that handles function pointers by constructing the program call graph while alias analysis is being performed; (2) a flow-sensitive interprocedural pointer alias analysis algorithm; (3) a flow-insensitive interprocedural pointer alias analysis algorithm; (4) a flow-insensitive interprocedural pointer alias analysis algorithm that incorporates kill information to improve precision; (5) empirical measurements of the efficiency and precision of the three interprocedural alias analysis algorithms.
Michael Hind, Michael G. Burke, Paul R. Carini, Jong-Deok Choi
ACM Trans. Program. Lang. Syst.1
1998 Assessing the Effects of Flow-Sensitivity on Pointer Alias Analyses
Michael Hind, Anthony Pioli
SAS1
1995 Flow-Sensitive Interprocedural Constant Propagation
abstract
We present a flow-sensitive interprocedural constant propagation algorithm, which supports recursion while only performing one flow-sensitive analysis of each procedure. We present experimental results which show that this method finds substantially more constants than previous methods and is efficient in practice. We introduce new metrics for evaluating interprocedural constant propagation algorithms which measure the number of interprocedural constant values that are propagated. We use these metrics to provide further experimental results for our algorithm.
Paul R. Carini, Michael Hind
PLDI2
1992 Loop Distribution with Multiple Exits
abstract
The authors present a loop distribution algorithm that accommodates loops with multiple exits. The algorithm utilizes and appropriately transforms abstract representations of the program, rendering these structures suitable for further program transformations. Results from implementing this algorithm in the PTRAN system at IBM Research are presented.>
Bor-Ming Hsieh, Michael Hind, Ron Cryton
SC2
1989 Automatic Generation of DAG Parallelism
abstract
Article Free Access Share on Automatic generation of DAG parallelism Authors: R. Cytron IBM Research Division, T. J. Watson Research Center, Yorktown Heights, NY IBM Research Division, T. J. Watson Research Center, Yorktown Heights, NYView Profile , M. Hind Courant Institute, New York University, 251 Mercer St., New York, NY Courant Institute, New York University, 251 Mercer St., New York, NYView Profile , W. Hsieh Laboratory for Computer Science, Massachusetts Institute, Technology, Cambridge, MA Laboratory for Computer Science, Massachusetts Institute, Technology, Cambridge, MAView Profile Authors Info & Claims PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationJune 1989 Pages 54–68https://doi.org/10.1145/73141.74823Published:21 June 1989Publication History 37citation653DownloadsMetricsTotal Citations37Total Downloads653Last 12 Months44Last 6 weeks4 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Ron Cytron, Michael Hind, Wilson C. Hsieh
PLDI2