Michelle L. Goodstein

dblp:45/7934 · DBLP profile ↗
← Back
5ranked-venue papers
3as first author
0since 2021 · last 2015
—ORCID · none

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

Systems, architecture and hardware · 5 · 3 first-authorSoftware engineering, systems software and programming languages · 2 · 1 first-authorArtificial intelligence and machine learning · 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.

Software engineering, system software, and programming languages
2 papers
Program analysis · 50% Concurrent programming · 50%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
High-performance computing · 62% Parallel and multicore computing · 29% Performance modeling and evaluation · 10%
Network and information security
2 papers
Cryptographic protocols and secure computation · 50% Network security · 50%

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

TopicWeightPapersLastEvidence papers
Program analysis
dynamic analysis
0.222010
ParaLog: enabling and accelerating online parallel monitoring of multithreaded applications · ASPLOS 2010
Butterfly analysis: adapting dataflow analysis to dynamic parallel monitoring · ASPLOS 2010
High-performance computing
large-scale simulation
0.112011
Simulating multi-million-robot ensembles · ICRA 2011
Concurrent programming
memory models
0.112010
Butterfly analysis: adapting dataflow analysis to dynamic parallel monitoring · ASPLOS 2010
Concurrent programming › memory models
weak memory models
0.112010
Butterfly analysis: adapting dataflow analysis to dynamic parallel monitoring · ASPLOS 2010
Parallel and multicore computing › thread-level parallelism
multithreaded applications
0.112010
ParaLog: enabling and accelerating online parallel monitoring of multithreaded applications · ASPLOS 2010
High-performance computing › system monitoring
online monitoring
0.112010
ParaLog: enabling and accelerating online parallel monitoring of multithreaded applications · ASPLOS 2010
Performance modeling and evaluation › simulation › parallel and distributed simulation
distributed simulation
0.012011
Simulating multi-million-robot ensembles · ICRA 2011
Network security › intrusion detection and prevention
intrusion detection
0.012010
ParaLog: enabling and accelerating online parallel monitoring of multithreaded applications · ASPLOS 2010
Cryptographic protocols and secure computation › verifiable computation
memory checking
0.012010
Butterfly analysis: adapting dataflow analysis to dynamic parallel monitoring · ASPLOS 2010

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

hardware acceleration · 0.3reaching expressions · 0.2reaching definitions · 0.2data flow analysis · 0.2multithreaded physics engine · 0.1cluster computing · 0.1
YearPublicationVenuePosition
2015 Tracking and Reducing Uncertainty in Dataflow Analysis-Based Dynamic Parallel Monitoring
abstract
Dataflow analysis-based dynamic parallel monitoring (DADPM) is a recent approach for identifying bugs in parallel software as it executes, based on the key insight of explicitly modeling a sliding window of uncertainty across parallel threads. While this makes the approach practical and scalable, it also introduces the possibility of false positives in the analysis. In this paper, we improve upon the DADPM framework through two observations. First, by explicitly tracking new “uncertain” states in the metadata lattice, we can distinguish potential false positives from true positives. Second, as the analysis tool runs dynamically, it can use the existence (or absence) of observed uncertain states to adjust the tradeoff between precision and performance on-the-fly. For example, we demonstrate how the epoch size parameter can be adjusted dynamically in response to uncertainty in order to achieve better performance and precision than when the tool is statically configured. This paper shows how to adapt a canonical dataflow analysis problem (reaching definitions) and a popular security monitoring tool (TAINTCHECK) to our new uncertainty-tracking framework, and provides new provable guarantees that reported true errors are now precise.
Michelle L. Goodstein, Phillip B. Gibbons, Michael A. Kozuch, Todd C. Mowry
PACT1
2012 Chrysalis analysis: incorporating synchronization arcs in dataflow-analysis-based parallel monitoring
abstract
Software lifeguards, or tools that monitor applications at runtime, are an effective way of identifying program errors and security exploits. Parallel programs are susceptible to a wider range of possible errors than sequential programs, making them even more in need of online monitoring. Unfortunately, monitoring parallel applications is difficult due to inter-thread data dependences. In prior work, we introduced a new software framework for online parallel program monitoring inspired by dataflow analysis, called Butterfly Analysis. Butterfly Analysis uses bounded windows of uncertainty to model the finite upper bound on delay between when an instruction is issued and when all its effects are visible throughout the system. While Butterfly Analysis offers many advantages, it ignored one key source of ordering information which affected its false positive rate: explicit software synchronization, and the corresponding high-level happens-before arcs.
Michelle L. Goodstein, Shimin Chen, Phillip B. Gibbons, Michael A. Kozuch, Todd C. Mowry
PACT1
2011 Simulating multi-million-robot ensembles
abstract
Various research efforts have focused on scaling modular robotic systems up to millions of cooperating devices. However, such efforts have been hampered by the lack of prototype hardware in such quantities and the unavailability of accurate and highly scalable simulations. This paper describes a simulation framework for such systems, which can model the execution of distributed software and the physical interaction between modules. We develop a scalable, multithreaded version of an off-the-shelf physics engine, and create a software execution engine that can efficiently harness hundreds of cores in a cluster of commodity machines. Our approach is shown to run 108x faster than a previous scalable simulator, and permit simulations with over 20 million modules.
Michael P. Ashley-Rollman, Padmanabhan Pillai, Michelle L. Goodstein
ICRA3
2010 Butterfly analysis: adapting dataflow analysis to dynamic parallel monitoring
abstract
Online program monitoring is an effective technique for detecting bugs and security attacks in running applications. Extending these tools to monitor parallel programs is challenging because the tools must account for inter-thread dependences and relaxed memory consistency models. Existing tools assume sequential consistency and often slow down the monitored program by orders of magnitude. In this paper, we present a novel approach that avoids these pitfalls by not relying on strong consistency models or detailed inter-thread dependence tracking. Instead, we only assume that events in the distant past on all threads have become visible; we make no assumptions on (and avoid the overheads of tracking) the relative ordering of more recent events on other threads. To overcome the potential state explosion of considering all the possible orderings among recent events, we adapt two techniques from static dataflow analysis, reaching definitions and reaching expressions, to this new domain of dynamic parallel monitoring. Significant modifications to these techniques are proposed to ensure the correctness and efficiency of our approach. We show how our adapted analysis can be used in two popular memory and security tools. We prove that our approach does not miss errors, and sacrifices precision only due to the lack of a relative ordering among recent events. Moreover, our simulation study on a collection of Splash-2 and Parsec 2.0 benchmarks running a memory-checking tool on a hardware-assisted logging platform demonstrates the potential benefits in trading off a very low false positive rate for (i) reduced overhead and (ii) the ability to run on relaxed consistency models.
Michelle L. Goodstein, Evangelos Vlachos, Shimin Chen, Phillip B. Gibbons, Michael A. Kozuch, Todd C. Mowry
ASPLOS1
2010 ParaLog: enabling and accelerating online parallel monitoring of multithreaded applications
abstract
Instruction-grain lifeguards monitor the events of a running application at the level of individual instructions in order to identify and help mitigate application bugs and security exploits. Because such lifeguards impose a 10-100X slowdown on existing platforms, previous studies have proposed hardware designs to accelerate lifeguard processing. However, these accelerators are either tailored to a specific class of lifeguards or suitable only for monitoring singlethreaded programs.
Evangelos Vlachos, Michelle L. Goodstein, Michael A. Kozuch, Shimin Chen, Babak Falsafi, Phillip B. Gibbons, Todd C. Mowry
ASPLOS2