VLDB 2026 Research / reviewers in the wild / expert
Christopher A. Healy
dblp:47/1817 · also Chris Healy
· DBLP profile ↗
16ranked-venue papers
4as first author
0since 2021 · last 2017
—ORCID · unresolved
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 9 · 2 first-authorSoftware engineering, systems software and programming languages · 3 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 3 · 1 first-authorHuman-computer interaction and ubiquitous computing · 1
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.
| Computer architecture, parallel and distributed computing, and storage systems
6 papers |
Embedded and real-time systems · 57% Electronic design automation · 24% Energy-efficient computing · 9% | |
| Software engineering, system software, and programming languages
3 papers |
Compilers and program optimization · 70% Debugging and program repair · 30% |
Topics — the 15 heaviest of 16, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Embedded and real-time systems
worst-case execution time analysis |
0.2 | 6 | 2005 | Improving WCET by applying a WC code-positioning optimization · ACM Trans. Archit. Code Optim. 2005 ParaScale: Exploiting Parametric Timing Analysis for Real-Time Schedulers and Dynamic Voltage Scaling · RTSS 2005 WCET Code Positioning · RTSS 2004 |
Embedded and real-time systems
real-time scheduling |
0.1 | 3 | 2005 | ParaScale: Exploiting Parametric Timing Analysis for Real-Time Schedulers and Dynamic Voltage Scaling · RTSS 2005 WCET Code Positioning · RTSS 2004 Bounding Pipeline and Instruction Cache Performance · IEEE Trans. Computers 1999 |
Electronic design automation
timing analysis |
0.1 | 2 | 2002 | Automatic Detection and Exploitation of Branch Constraints for Timing Analysis · IEEE Trans. Software Eng. 2002 Bounding Pipeline and Instruction Cache Performance · IEEE Trans. Computers 1999 |
Compilers and program optimization
code layout optimization |
0.1 | 1 | 2005 | Improving WCET by applying a WC code-positioning optimization · ACM Trans. Archit. Code Optim. 2005 |
Energy-efficient computing › voltage scaling
dynamic voltage scaling |
0.1 | 1 | 2005 | ParaScale: Exploiting Parametric Timing Analysis for Real-Time Schedulers and Dynamic Voltage Scaling · RTSS 2005 |
Electronic design automation › timing analysis › variation-aware timing analysis
parametric timing analysis |
0.1 | 1 | 2005 | ParaScale: Exploiting Parametric Timing Analysis for Real-Time Schedulers and Dynamic Voltage Scaling · RTSS 2005 |
Debugging and program repair
code localization |
0.0 | 1 | 2004 | WCET Code Positioning · RTSS 2004 |
Compilers and program optimization
compiler optimization |
0.0 | 1 | 2004 | WCET Code Positioning · RTSS 2004 |
Electronic design automation › timing analysis
pipeline and cache timing analysis |
0.0 | 2 | 1999 | Bounding Pipeline and Instruction Cache Performance · IEEE Trans. Computers 1999 Integrating the Timing Analysis of Pipelining and Instruction Caching · RTSS 1995 |
Processor architecture and microarchitecture
pipelining |
0.0 | 3 | 2005 | Improving WCET by applying a WC code-positioning optimization · ACM Trans. Archit. Code Optim. 2005 Bounding Pipeline and Instruction Cache Performance · IEEE Trans. Computers 1999 Integrating the Timing Analysis of Pipelining and Instruction Caching · RTSS 1995 |
Processor architecture and microarchitecture › pipelining
delayed branch |
0.0 | 1 | 2005 | Improving WCET by applying a WC code-positioning optimization · ACM Trans. Archit. Code Optim. 2005 |
Compilers and program optimization
compiler analysis |
0.0 | 1 | 2002 | Automatic Detection and Exploitation of Branch Constraints for Timing Analysis · IEEE Trans. Software Eng. 2002 |
Memory systems
cache |
0.0 | 1 | 1999 | Bounding Pipeline and Instruction Cache Performance · IEEE Trans. Computers 1999 |
Memory systems › cache › CPU cache
instruction cache |
0.0 | 1 | 1999 | Bounding Pipeline and Instruction Cache Performance · IEEE Trans. Computers 1999 |
Processor architecture and microarchitecture › pipelining
pipeline hazard |
0.0 | 1 | 1999 | Bounding Pipeline and Instruction Cache Performance · IEEE Trans. Computers 1999 |
Methods — techniques the papers use, named apart from their topics
worst-case path analysis · 0.1profile-driven optimization · 0.1timing analysis · 0.1greedy algorithm · 0.1timing analyzer · 0.1branch constraint detection · 0.1architectural modeling · 0.1parametric timing analysis · 0.1dynamic voltage scaling · 0.1control flow analysis · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | Computer Science Topics in First- and Second- Year Seminar CoursesabstractNo abstract available. Valerie Barr, Bryan Catron, Christopher A. Healy, Kate Lockwood, Anil M. Shende, Andrea Tartaro, Kevin Treu |
SIGCSE | 3 |
| 2010 | Parametric timing analysis and its application to dynamic voltage scalingabstractEmbedded systems with real-time constraints depend on a priori knowledge of worst-case execution times (WCETs) to determine if tasks meet deadlines. Static timing analysis derives bounds on WCETs but requires statically known loop bounds. This work removes the constraint on known loop bounds through parametric analysis expressing WCETs as functions. Tighter WCETs are dynamically discovered to exploit slack by dynamic voltage scaling (DVS) saving 60% to 82% energy over DVS-oblivious techniques and showing savings close to more costly dynamic-priority DVS algorithms. Overall, parametric analysis expands the class of real-time applications to programs with loop-invariant dynamic loop bounds while retaining tight WCET bounds. Sibin Mohan, Frank Mueller 0001, Michael Root, William Hawkins 0001, Christopher A. Healy, David B. Whalley, Emilio Vivancos |
ACM Trans. Embed. Comput. Syst. | 5 |
| 2007 | Generalizing parametric timing analysisabstractIn the design of real-time and embedded systems, it is important to establish a bound on the worst-case execution time (WCET) of programs to assure via schedulability analysis that deadlines are not missed. Static WCET analysis is performed by a timing analysis tool. This paper describes novel improvements to such a tool, allowing parametric timing analysis to be performed. Parametric timing analyzers receive an upper bound on the number of loop iterations in terms of an expression which is used to create a parametric formula. This parametric formula is later evaluated to determine the WCET based on input values only known at runtime. Effecting a transformation from a numeric to a parametric timing analyzer requires two innovations: 1) a summation solver capable of summation non-constant expressions and 2) a polynomial data structure which can replace integers as the basis for all calculations. Both additions permit other methods of analysis (e.g. caching, pipeline, constraint) to occur simultaneously. Combining these techniques allows our tool to statically bound the WCET for a larger class of benchmarks. Joel Coffman, Christopher A. Healy, Frank Mueller 0001, David B. Whalley |
LCTES | 2 |
| 2006 | Improving WCET by applying worst-case path optimizations
Wankang Zhao, William C. Kreahling, David B. Whalley, Christopher A. Healy, Frank Mueller 0001 |
Real Time Syst. | 4 |
| 2005 | Timing Analysis for Sensor Network Nodes of the Atmega Processor FamilyabstractLow-end embedded architectures, such as sensor nodes, have become popular in diverse fields, many of which impose real-time constraints. Currently, the Atmel Atmega processor family used by Berkeley Motes lacks support for deriving safe bounds on the WCET, which is a prerequisite for performing real-time schedulability analysis. Our work fills this gap by providing an analytical method to obtain WCET bounds for this processor architecture. Our first contribution is to analyze both C and NesC code, the latter of which is unprecedented. The second contribution is to model control hazards and variable-cycle instructions, both handled more efficiently by our approach than by previous ones and results in up to 77% improvement in bounding the WCET. The results demonstrate that our timing analysis framework is able to tightly and safely estimate the WCET of the benchmarks while simulator results are shown to not always provide safe WCET bounds. While motivated by the Atmel Atmega series of processors, results are equally applicable to low-end embedded processors. This work is, to the best of our knowledge, the first set of experiments where timing results are contrasted from execution on an actual processor, from a cycle-accurate simulator and from a static timing analyzer. Furthermore, making our timing analysis toolset available to the Atmel Atmega processor family is a significant contribution towards addressing a documented need for tool support for sensor node architectures commonly used in networked systems of embedded computers, or so-called EmNets. Sibin Mohan, Frank Mueller 0001, David B. Whalley, Christopher A. Healy |
IEEE Real-Time and Embedded Technology and Applications Symposium | 4 |
| 2005 | Improving WCET by Optimizing Worst-Case PathsabstractIt is advantageous to perform compiler optimizations to lower the WCET of a task since tasks with lower WCETs are easier to schedule and more likely to meet their deadlines. Compiler writers in recent years have used profile information to detect the frequently executed paths in a program and there has been much effort to develop compiler optimizations to improve these paths in order to reduce average-case execution time. In this paper we describe our approach to reduce WCET by adapting and applying optimizations designed for frequent paths to the worst-case paths in an application. Our compiler uses feedback from our timing analyzer to detect the WCET paths through a function that will be subject to aggressive optimizations, reflect subsequent effects on the WCET of the paths due to these optimizations, and to also ensure that the worst-case path optimizations actually improve the WCET before committing to a code size increase. We evaluate a number of WC path optimizations and present results showing the decrease in WCET versus the increase in code size. Wankang Zhao, William C. Kreahling, David B. Whalley, Christopher A. Healy, Frank Mueller 0001 |
IEEE Real-Time and Embedded Technology and Applications Symposium | 4 |
| 2005 | ParaScale: Exploiting Parametric Timing Analysis for Real-Time Schedulers and Dynamic Voltage ScalingabstractStatic timing analysis safely bounds worst-case execution times to determine if tasks can meet their deadlines in hard real-time systems. However, conventional timing analysis requires that the upper bound of loops be known statically, which limits its applicability. Parametric timing analysis methods remove this constraint by providing the WCET as a formula parameterized on loop bounds. This paper contributes a novel technique to allow parametric timing analysis to interact with dynamic real-time schedulers. By dynamically detecting actual loop bounds, a lower WCET bound can be calculated, on-the-fly, for the remaining execution of a task. We analyze the benefits from parametric analysis in terms of dynamically discovered slack in a schedule. We then assess the potential for dynamic power conservation by exploiting parametric loop bounds for ParaScale, our intra-task dynamic voltage scaling (DVS) approach. Our results demonstrate that the parametric approach to timing analysis provides 66%-80% additional savings in power consumption. We further show that using this approach combined with online intra-task DVS to exploit parametric execution times results in much lower power consumption. Hence, even in the absence of dynamic scheduling, significant savings in power can be obtained, e.g., in the case of cyclic executives. Sibin Mohan, Frank Mueller 0001, William Hawkins 0001, Michael Root, Christopher A. Healy, David B. Whalley |
RTSS | 5 |
| 2005 | Improving WCET by applying a WC code-positioning optimizationabstractApplications in embedded systems often need to meet specified timing constraints. It is advantageous to not only calculate the worst-case execution time (WCET) of an application, but to also perform transformation, which reduce the WCET, since an application with a lower WCET will be less likely to violate its timing constraints. Some processors incur a pipeline delay whenever an instruction transfers control to a target that is not the next sequential instruction. Code-positioning optimizations attempt to reduce these delays by positioning the basic blocks to minimize the number of unconditional jumps and taken conditional branches that occur. Traditional code-positioning algorithms use profile data to find the frequently executed edges between basic blocks, then minimize the transfers of control along these edges to reduce the average case execution time (ACET). This paper introduces a WCET code-positioning optimization, driven by the worst-case (WC) path information from a timing analyzer, to reduce the WCET instead of ACET. This WCET optimization changes the layout of the code in memory to reduce the branch penalties along the WC paths. Unlike the frequency of edges in traditional profile-driven code positioning, the WC path may change after code-positioning decisions are made. Thus, WCET code positioning is inherently more challenging than ACET code positioning. The experimental results show that this optimization typically finds the optimal layout of the basic blocks with the minimal WCET. The results show over a 7% reduction in WCET is achieved after code positioning is performed. Wankang Zhao, David B. Whalley, Christopher A. Healy, Frank Mueller 0001 |
ACM Trans. Archit. Code Optim. | 3 |
| 2004 | Tuning the WCET of Embedded ApplicationsabstractIt is advantageous to not only calculate the WCET of an application, but to also perform transformations to reduce the WCET since an application with a lower WCET is less likely to violate its timing constraints. In this paper we describe an environment consisting of an interactive compilation system and a timing analyzer, where a user can interactively tune the WCET of an application. After each optimization phase is applied, the timing analyzer is automatically invoked to calculate the WCET of the function being tuned. Thus, a user can easily gauge the progress of reducing the WCET. In addition, the user can apply a genetic algorithm to search for an effective optimization sequence that best reduces the WCET. Using the genetic algorithm, we show that the WCET for a number of applications can be reduced by 7% on average as compared to the default batch optimization sequence. Wankang Zhao, Prasad A. Kulkarni, David B. Whalley, Christopher A. Healy, Frank Mueller 0001, Gang-Ryung Uh |
IEEE Real-Time and Embedded Technology and Applications Symposium | 4 |
| 2004 | WCET Code PositioningabstractSome processors incur a pipeline delay whenever an instruction transfers control to a target that is not the next sequential instruction. Compiler writers attempt to reduce these delays by positioning the basic blocks within a function to minimize the number of unconditional jumps and taken conditional branches that occur. Such a code positioning algorithm is traditionally driven by profile data representing typical program executions where pairs of blocks are placed in contiguous order when the transitions between these blocks occur most frequently. In this paper we describe an approach to perform code positioning without profiling in an attempt to reduce WCET instead of ACET. Our compiler interacts with a timing analyzer to obtain WCET path information to guide the block positioning. The results show over a 9% average reduction in WCET is achieved after code positioning is performed and our greedy WCET code positioning algorithm always achieves optimal results for our benchmark suite. Wankang Zhao, David B. Whalley, Christopher A. Healy, Frank Mueller 0001 |
RTSS | 3 |
| 2002 | Automatic Detection and Exploitation of Branch Constraints for Timing AnalysisabstractPredicting the worst-case execution time (WCET) and best-case execution time (BCET) of a real-time program is a challenging task. Though much progress has been made in obtaining tighter timing predictions by using techniques that model the architectural features of a machine, significant overestimations of WCET and underestimations of GCET can still occur. Even with perfect architectural modeling, dependencies on data values can constrain the outcome of conditional branches and the corresponding set of paths that can be taken in a program. While branch constraint information has been used in the past by some timing analyzers, it has typically been specified manually, which is both tedious and error prone. This paper describes efficient techniques for automatically detecting branch constraints by a compiler and automatically exploiting these constraints within a timing analyzer. The result is significantly tighter timing analysis predictions without requiring additional interaction with a user. Christopher A. Healy, David B. Whalley |
IEEE Trans. Software Eng. | 1 |
| 2000 | Supporting Timing Analysis by Automatic Bounding of Loop Iterations
Christopher A. Healy, Mikael Sjödin, Viresh Rustagi, David B. Whalley, Robert A. van Engelen |
Real Time Syst. | 1 |
| 1999 | Timing Analysis for Data and Wrap-Around Fill Caches
Randall T. White, Frank Mueller 0001, Christopher A. Healy, David B. Whalley, Marion G. Harmon |
Real Time Syst. | 3 |
| 1999 | Timing Constraint Specification and AnalysisabstractReal-time programmers have to deal with the problem of relating timing constraints associated with source code to sequences of machine instructions. This paper describes an environment to assist users in the specification and analysis of timing constraints. A timing analyzer predicts the best and worst case bounds for these constrained portions of code. A user interface for this timing analyzer was developed to depict whether these constraints were violated or met. A user is allowed to specify timing constraints within the source code of a C program. The user interface also provides three different methods for interactively selecting portions of programs. After each selection the corresponding bounded times, source code lines, and machine instructions are automatically displayed. Users are prevented from only selecting portions of the program for which timing bounds cannot be obtained. In addition, a technique is presented that allows the timing analysis to scale efficiently with complex functions and loops. The result is a user-friendly environment that supports the user specification and analysis of timing constraints at a high (source code) level and retains the accuracy of low (machine code) level analysis. Copyright © 1999 John Wiley & Sons, Ltd. Lo Ko, Naghan Al-Yaqoubi, Christopher A. Healy, Emily Ratliff, Robert D. Arnold, David B. Whalley, Marion G. Harmon |
Softw. Pract. Exp. | 3 |
| 1999 | Bounding Pipeline and Instruction Cache PerformanceabstractPredicting the execution time of code segments in real-time systems is challenging. Most recently designed machines contain pipelines and caches. Pipeline hazards may result in multicycle delays. Instruction or data memory references may not be found in cache and these misses typically require several cycles to resolve. Whether an instruction will stall due to a pipeline hazard or a cache miss depends on the dynamic sequence of previous instructions executed and memory references performed. Furthermore, these penalties are not independent since delays due to pipeline stalls and cache miss penalties may overlap. This paper describes an approach for bounding the worst and best case performance of large code segments on machines that exploit both pipelining and instruction caching. First, a method is used to analyze a program's control flow to statically categorize the caching behavior of each instruction. Next, these categorizations are used in the pipeline analysis of sequences of instructions representing paths within the program. A timing analyzer uses the pipeline path analysis to estimate the worst and best-case execution performance of each loop and function in the program. Finally, a graphical user interface is invoked that allows a user to request timing predictions on portions of the program. The results indicate that the timing analyzer efficiently produces tight predictions of worst and best-case performance for pipelining and instruction caching. Christopher A. Healy, Robert D. Arnold, Frank Mueller 0001, David B. Whalley, Marion G. Harmon |
IEEE Trans. Computers | 1 |
| 1995 | Integrating the Timing Analysis of Pipelining and Instruction CachingabstractRecently designed machines contain pipelines and caches. While both features provide significant performance advantages, they also pose problems for predicting execution time of code segments in real-time systems. Pipeline hazards may result in multicycle delays. Instruction or data memory references may not be found in cache and these misses typically require several cycles to resolve. Whether an instruction will stall due to a pipeline hazard or a cache miss depends on the dynamic sequence of previous instructions executed and memory references performed. Furthermore, these penalties are not independent since delays due to pipeline stalls and cache miss penalties may overlap. This paper describes an approach for bounding the worst-case performance of large code segments on machines that exploit both pipelining and instruction caching. First, a method is used to analyze a program's control flow to statically categorize the caching behavior of each instruction. Next, these categorizations are used in the pipeline analysis of sequences of instructions representing paths within the program. A timing analyzer uses the pipeline path analysis to estimate the worst-case execution performance of each loop and function in the program. Finally, a graphical user interface is invoked that allows a user to request timing predictions on portions of the program. Christopher A. Healy, David B. Whalley, Marion G. Harmon |
RTSS | 1 |