EDBT 2026 Demo / reviewers in the wild / expert
Stephanie Forrest
dblp:24/2144
· DBLP profile ↗
83ranked-venue papers
9as first author
14since 2021 · last 2025
0000-0002-5904-1646ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Artificial intelligence and machine learning · 25 · 3 first-author · 5 since 2021Software engineering, systems software and programming languages · 20 · 1 first-author · 2 since 2021Security and privacy · 17 · 3 first-author · 3 since 2021Systems, architecture and hardware · 10 · 2 first-author · 3 since 2021Human-computer interaction and ubiquitous computing · 7Computer networks · 5 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 4 · 1 since 2021Theory of computation · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Automatically Mitigating Vulnerabilities in Binary Programs via Partially Recompilable DecompilationabstractVulnerabilities are challenging to locate and repair, especially when source code is unavailable and binary patching is required. Manual methods are time-consuming, require significant expertise, and do not scale to the rate at which new vulnerabilities are discovered. Automated methods are an attractive alternative, and we propose Partially Recompilable Decompilation (PRD) to help automate the process. PRD lifts suspect binary functions to source, available for analysis, revision, or review, and creates a patched binary using source- and binary-level techniques. Although decompilation and recompilation do not typically succeed on an entire binary, our approach does because it is limited to a few functions, such as those identified by our binary fault localization. We evaluate the assumptions underlying our approach and find that, without any grammar or compilation restrictions, up to 79% of individual functions are successfully decompiled and recompiled. In comparison, only 1.7% of the full C-binaries succeed. When recompilation succeeds, PRD produces test-equivalent binaries 93.0% of the time. We evaluate PRD in two contexts: a fully automated process incorporating source-level Automated Program Repair (APR) methods; and human-edited source-level repairs. When evaluated on DARPA Cyber Grand Challenge (CGC) binaries, we find that PRD-enabled APR tools, operating only on binaries, perform as well as, and sometimes better than full-source tools, collectively mitigating 85 of the 148 scenarios, a success rate consistent with the same tools operating with access to the entire source code. PRD achieves similar success rates as the winning CGC entries, sometimes finding higher-quality mitigations than those produced by top CGC teams. For generality, the evaluation includes two independently developed APR tools andC++, Rode0day, and real-world binaries. Pemma Reiter, Hui Jun Tay, Westley Weimer, Adam Doupé, Ruoyu Wang 0001, Stephanie Forrest |
IEEE Trans. Dependable Secur. Comput. | 6 |
| 2025 | The Evolution of Automated Software RepairabstractGenProg implemented a novel method for automatically evolving patches to repair test suite failures in legacy C programs. It combined insights from genetic programming and software engineering. Many of the original design decisions in GenProg were ultimately less important than its impact as an existence proof. In particular, it demonstrated that useful patches for non-trivial bugs and programs could be generated automatically. Since the original publication, research in automated program repair has expanded to consider and evaluate many new methods, contexts and defects. As code synthesis and debugging techniques based on machine learning have become popular, it is informative to consider how views on perennial issues in program repair have changed, or remained static, over time. This retrospective discusses the issues of repair quality (including the role of tests), use cases for automated repairs (including the role of humans), and why these approaches work at all. Claire Le Goues, ThanhVu Nguyen, Stephanie Forrest, Westley Weimer |
IEEE Trans. Software Eng. | 3 |
| 2024 | SIMCoV-GPU: Accelerating an Agent-Based Model for ExascaleabstractModern supercomputers rely on graphics processing units (GPUs) to achieve unprecedented computational capabilities. Multi-node computation with GPUs promises to accelerate and scale simulations dramatically across many domains, and many scientific simulations have been adapted to this new paradigm of supercomputing. However, agent-based models (ABMs) are a class of simulations that to date have seen little development for multinode, multi-GPU supercomputers because their computation flow poses unique algorithmic and communication challenges for effective performance on GPU enabled supercomputers. In particular, many ABMs have irregular and dynamic communication patterns, resource competition that causes race conditions, and unpredictable effects on load balancing. We studied the Spatial Immune Model of Coronavirus, or SIMCoV, as a target ABM application for acceleration. SIMCoV is a large-scale ABM which simulates the spread of viral infection through the epithelial tissue of the lungs and models the immune response with diffusing inflammatory signals and mobile T cell agents. Our multinode, multi-GPU implementation of SIMCoV achieves significant speedups over a competitive baseline version, up to 11.9x with a ratio of 32 CPU cores to a single GPU. The paper describes SIMCoV's GPU-specific optimizations, reports empirical results, and demonstrates effective solutions to the challenges of accelerating ABMs on modern supercomputers. Kirtus G. Leyba, Steven Hofmeyr, Stephanie Forrest, Judy L. Cannon, Melanie E. Moses |
HPDC | 3 |
| 2024 | Reducing Malware Analysis Overhead With CoveringsabstractThere is a substantial and growing body of malware samples that evade automated analysis and detection tools. Malware may measure fingerprints (“artifacts”) of the underlying analysis tool or environment, and change their behavior when such artifacts are detected. While analysis tools can mitigate artifacts to reduce exposure, such concealment is expensive and limits scalable automated malware analysis. However, not every sample checks for every type of artifact—analysis efficiency can be improved by mitigating only those artifacts most likely to be used by a sample. Using that insight, we proposeMimosa, a system that identifies a small set of “covering” configurations that collectively and efficiently defeat most malware samples in a corpus.Mimosaidentifies a set of configurations that maximize analysis throughput and detection accuracy while minimizing manual effort, enabling scalable automation for analyzing stealthy malware. We evaluate our approach against a benchmark of 1535 meticulously labeled stealthy malware samples. We further test our approach on an additional set of 1221 stealthy malware samples and successfully analyze nearly 99% of them using only 2 VM backends.Mimosaprovides a practical, tunable method for efficiently deploying malware analysis resources. Michael Sandborn, Zach Stoebner, Westley Weimer, Stephanie Forrest, Ryan E. Dougherty, Jules White, Kevin Leach |
IEEE Trans. Dependable Secur. Comput. | 4 |
| 2024 | Evolving to Find Optimizations Humans Miss: Using Evolutionary Computation to Improve GPU Code for Bioinformatics ApplicationsabstractGPUs are used in many settings to accelerate large-scale scientific computation, including simulation, computational biology, and molecular dynamics. However, optimizing codes to run efficiently on GPUs requires developers to have both detailed understanding of the application logic and significant knowledge of parallel programming and GPU architectures. This paper shows that an automated GPU program optimization tool, GEVO, can leverage evolutionary computation to find code edits that reduce the runtime of three important applications, multiple sequence alignment, agent-based simulation and molecular dynamics codes, by 28.9%, 29%, and 17.8% respectively. The paper presents an in-depth analysis of the discovered optimizations, revealing that (1) several of the most important optimizations involve significant epistasis, (2) the primary sources of improvement are application-specific, and (3) many of the optimizations generalize across GPU architectures. In general, the discovered optimizations are not straightforward even for a GPU human expert, showcasing the potential of automated program optimization tools to both reduce the optimization burden for human domain experts and provide new insights for GPU experts. Jhe-Yu Liou, Muaaz Gul Awan, Kirtus G. Leyba, Petr Sulc, Steven Hofmeyr, Carole-Jean Wu, Stephanie Forrest |
ACM Trans. Evol. Learn. Optim. | 7 |
| 2023 | Evolving Software: Combining Online Learning with Mutation-Based Stochastic SearchabstractEvolutionary algorithms and related mutation-based methods have been used in software engineering, with recent emphasis on the problem of repairing bugs. In this work, programs are typically not synthesized from a random start. Instead, existing solutions—which may be flawed or inefficient—are taken as starting points, with the evolutionary process searching for useful improvements. This approach, however, introduces a challenge for the search algorithm: what is the optimal number of neutral mutations that should be combined? Too much is likely to introduce errors and break the program while too little hampers the search process, inducing the classic tradeoff between exploration and exploitation. In the context of software improvement, this work considers MWRepair, an algorithm for enhancing mutation-based searches, which uses online learning to optimize the tradeoff between exploration and exploitation. The aggressiveness parameter governs how many individual mutations should be applied simultaneously to an individual between fitness evaluations. MWRepair is evaluated in the context of automated program repair problems, where the goal is repairing software bugs with minimal human involvement. The article analyzes the search space for automated program repair induced by neutral mutations, finding that the greatest probability of finding successful repairs often occurs when many neutral mutations are applied to the original program. Moreover, repair probability follows a characteristic, unimodal distribution. MWRepair uses online learning to leverage this property, finding both rare and multi-edit repairs to defects in the popular Defects4J benchmark set of buggy Java programs. Joseph Renzullo, Westley Weimer, Stephanie Forrest |
ACM Trans. Evol. Learn. Optim. | 3 |
| 2022 | Back to the future: N-Versioning of MicroservicesabstractMicroservices are the dominant architecture used to build internet-scale applications today. Being internet-facing, their most critical attack surfaces are the OWASP top 10 Web Application Security Risks. Many of the top 10 OWASP attack types—injection, cross site scripting, broken access control and security misconfigurations—have persisted for many years despite major investments in code analysis and secure development patterns. Because microservices decompose monolithic applications into components using clean APIs, they lend themselves to practical application of a classic security/resilience principle, N-versioning. The paper introduces RDDR, a principled approach for applying N-versioning to microservices to improve resilience to data leaks. RDDR applies N-versioning to vulnerable microservices, requiring minimal code changes and with low performance impact beyond the cost of replicating microservices. Our evaluation demonstrates RDDR mitigating vulnerabilities of the top 5 of the top 10 OWASP types by applying diversity and redundancy to individual microservices. Antonio M. Espinoza, Riley Wood, Stephanie Forrest, Mohit Tiwari |
DSN | 3 |
| 2022 | Improving source-code representations to enhance search-based software repairabstractAutomatically improving and repairing software using search-based methods is an active research topic. Many current systems use existing source code as the ingredients of repairs, either through evolutionary computation derived random mutation or other heuristic operators. However, these code transformation operators are not always well-matched to the granularity of the source code on which they operate. This paper proposes a static source-to-source preprocessing step to produce code with more uniform granularity that exposes relevant program components to the repair process. This approach, called Program Repair Enhancement via Preprocessing (PREP), has been applied to three different repair tools, each of which uses different code transformation operators and search algorithms. In every case, applying PREP before the search allows the tool to repair software defects that were previously unattainable by that tool. PREP finds 88 unique previously-unreported correct repairs across these tools. This result is significant because it is applicable to most search-based software improvement methods, and it addresses the fundamental issue of how to match the granularity of the representation to the granularity of operators. Pemma Reiter, Antonio M. Espinoza, Adam Doupé, Ruoyu Wang 0001, Westley Weimer, Stephanie Forrest |
GECCO | 6 |
| 2022 | Cutting Through the Noise to Infer Autonomous System TopologyabstractThe Border Gateway Protocol (BGP) is a distributed protocol that manages interdomain routing without requiring a centralized record of which autonomous systems (ASes) connect to which others. Many methods have been devised to infer the AS topology from publicly available BGP data, but none provide a general way to handle the fact that the data are notoriously incomplete and subject to error. This paper describes a method for reliably inferring AS-level connectivity in the presence of measurement error using Bayesian statistical inference acting on BGP routing tables from multiple vantage points. We employ a novel approach for counting AS adjacency observations in the AS-PATH attribute data from public route collectors, along with a Bayesian algorithm to generate a statistical estimate of the AS-level network. Our approach also gives us a way to evaluate the accuracy of existing reconstruction methods and to identify advantageous locations for new route collectors or vantage points. Kirtus G. Leyba, Joshua J. Daymude, Jean-Gabriel Young, Mark E. J. Newman, Jennifer Rexford, Stephanie Forrest |
INFOCOM | 6 |
| 2022 | START: A Framework for Trusted and Resilient Autonomous Vehicles (Practical Experience Report)abstractFrom delivering groceries and vital medical supplies to driving trucks and passenger vehicles, society is becoming increasingly reliant on autonomous vehicles (AVs), It is therefore vital that these systems be resilient to adversarial actions, perform mission-critical functions despite known and unknown vulnerabilities, and protect and repair themselves during or after operational failures and cyber-attacks. While techniques have been proposed to address individual aspects of software resilience, vulnerability assessment, automated repair, and invariant detection, there is no approach that provides end-to-end trusted and resilient mission operation and repair on AVs. In this paper, we describe our experience of building START,11Software Techniques for Automated Resilience and Trust a framework that provides increased resilience, accurate vul-nerability assessment, and trustworthy post-repair operation in autonomous vehicles. We combine techniques from binary analysis and rewriting, runtime monitoring and verification, auto-mated program repair, and invariant detection that cooperatively detect and eliminate a swath of software security vulnerabilities in cyberphysical systems. We evaluate our framework using an autonomous vehicle simulation platform, demonstrating its holistic applicability to AVs. Kevin Leach, Christopher Steven Timperley, Kevin Angstadt, Anh Nguyen-Tuong, Jason Hiser, Aaron Paulos, Partha P. Pal, Patrick Hurley, Carl Thomas, Jack W. Davidson, Stephanie Forrest, Claire Le Goues, Westley Weimer |
ISSRE | 11 |
| 2022 | Digging into Semantics: Where Do Search-Based Software Repair Methods Search?
Hammad Ahmad, Padraic Cashin, Stephanie Forrest, Westley Weimer |
PPSN (2) | 3 |
| 2021 | MA-ABC: a memetic algorithm optimizing attractiveness, balance, and cost for capacitated Arc routing problemsabstractServices such as garbage collection, road gritting, street sweeping, and power line inspection can each be formulated as a capacitated arc routing problem (CARP). The traditional formulation of CARP has the goal of minimizing the total cost of the routes making up a solution. Recently, operators of such services require routes that are balanced and visually attractive in addition to low cost. Routes that are balanced are about equal in length and provide fair work assignments. Visually attractive routes are subjective, but they usually involve non-crossing routes that provide well defined service areas. These additional features are important because they address operational complexities that arise from using the routes in practice. This paper presents MA-ABC, a memetic algorithm to find solutions for CARP that maximize route attractiveness and balance, while minimizing total cost. A novel fitness function combines route overlap with route contiguity to assess route attractiveness. MA-ABC is the first to incorporate attractiveness in a three-objective search for heuristic solutions for CARP. Experimental results on CARP benchmark instances show that MA-ABC finds a diverse set of heuristic solutions at the Pareto front, providing a wide choice for service operators to tradeoff design objectives. Muhilan Ramamoorthy, Stephanie Forrest, Violet R. Syrotiuk |
GECCO | 2 |
| 2021 | Multiplicative Weights Algorithms for Parallel Automated Software RepairabstractMultiplicative Weights Update (MWU) algorithms are a form of online learning that is applied to multi-armed bandit problems. Such problems involve allocating a fixed number of trials among multiple options to maximize cumulative payoff. MWU is a popular and effective method for dynamically balancing the trade-off between exploring the value of new options and exploiting the information already gained. However, no clear strategy exists to help practitioners choose which of the several algorithmic designs within this family to deploy. In this paper, three variants of parallel MWU algorithms are considered: Two parallel variants that rely on global memory, and one variant that uses distributed memory. The three variants are first analyzed theoretically, and then their effectiveness is assessed empirically on the task of estimating distributions in the context of stochastic search for repairs to bugs in software. Earlier work on APR suffers from various inefficiencies, and the paper shows how to decompose the problem into two stages: one that is embarrassingly parallel and one that is amenable to MWU. We then model the cost of each MWU variant and derive the conditions under which it is likely to be preferred in practice. We find that all three MWU algorithms achieve accuracy above 90% but that there are significant differences in runtime and total cost. When 90% accuracy is sufficient and evaluating options is expensive, such as in our use case, we find that the algorithm that uses global memory and has high communication cost outperforms the other two. We analyze the reasons for this surprising result. Joseph Renzullo, Westley Weimer, Stephanie Forrest |
IPDPS | 3 |
| 2021 | Spatially distributed infection increases viral load in a computational model of SARS-CoV-2 lung infectionabstractA key question in SARS-CoV-2 infection is why viral loads and patient outcomes vary dramatically across individuals. Because spatial-temporal dynamics of viral spread and immune response are challenging to study in vivo, we developed Spatial Immune Model of Coronavirus (SIMCoV), a scalable computational model that simulates hundreds of millions of lung cells, including respiratory epithelial cells and T cells. SIMCoV replicates viral growth dynamics observed in patients and shows how spatially dispersed infections can lead to increased viral loads. The model also shows how the timing and strength of the T cell response can affect viral persistence, oscillations, and control. By incorporating spatial interactions, SIMCoV provides a parsimonious explanation for the dramatically different viral load trajectories among patients by varying only the number of initial sites of infection and the magnitude and timing of the T cell immune response. When the branching airway structure of the lung is explicitly represented, we find that virus spreads faster than in a 2D layer of epithelial cells, but much more slowly than in an undifferentiated 3D grid or in a well-mixed differential equation model. These results illustrate how realistic, spatially explicit computational models can improve understanding of within-host dynamics of SARS-CoV-2 infection. Melanie E. Moses, Steven Hofmeyr, Judy L. Cannon, Akil Andrews, Rebekah Gridley, Monica Hinga, Kirtus G. Leyba, Abigail Pribisova, Vanessa Surjadidjaja, Humayra Tasnim, Stephanie Forrest |
PLoS Comput. Biol. | 11 |
| 2020 | The Surprising Creativity of Digital Evolution: A Collection of Anecdotes from the Evolutionary Computation and Artificial Life Research CommunitiesabstractEvolution provides a creative fount of complex and subtle adaptations that often surprise the scientists who discover them. However, the creativity of evolution is not limited to the natural world: Artificial organisms evolving in computational environments have also elicited surprise and wonder from the researchers studying them. The process of evolution is an algorithmic process that transcends the substrate in which it occurs. Indeed, many researchers in the field of digital evolution can provide examples of how their evolving algorithms and organisms have creatively subverted their expectations or intentions, exposed unrecognized bugs in their code, produced unexpectedly adaptations, or engaged in behaviors and outcomes, uncannily convergent with ones found in nature. Such stories routinely reveal surprise and creativity by evolution in these digital worlds, but they rarely fit into the standard scientific narrative. Instead they are often treated as mere obstacles to be overcome, rather than results that warrant study in their own right. Bugs are fixed, experiments are refocused, and one-off surprises are collapsed into a single data point. The stories themselves are traded among researchers through oral tradition, but that mode of information transmission is inefficient and prone to error and outright loss. Moreover, the fact that these stories tend to be shared only among practitioners means that many natural scientists do not realize how interesting and lifelike digital organisms are and how natural their evolution can be. To our knowledge, no collection of such anecdotes has been published before. This article is the crowd-sourced product of researchers in the fields of artificial life and evolutionary computation who have provided first-hand accounts of such cases. It thus serves as a written, fact-checked collection of scientifically important and even entertaining stories. In doing so we also present here substantial evidence that the existence and importance of evolutionary surprises extends beyond the natural world, and may indeed be a universal property of all complex evolving systems. Joel Lehman, Jeff Clune, Dusan Misevic, Christoph Adami, Lee Altenberg, Julie Beaulieu, Peter J. Bentley, Samuel Bernard, Guillaume Beslon, David M. Bryson, Nicholas Cheney, Patryk Chrabaszcz, Antoine Cully, Stéphane Doncieux, Fred C. Dyer, Kai Olav Ellefsen, Robert Feldt, Stephan Fischer 0002, Stephanie Forrest, Antoine Frénoy, Christian Gagné 0001, Leni K. Le Goff, Laura M. Grabowski, Babak Hodjat, Frank Hutter, Laurent Keller, Carole Knibbe, Peter Krcah, Richard E. Lenski, Hod Lipson, Robert MacCurdy, Carlos Maestre, Risto Miikkulainen, Sara Mitri, David E. Moriarty, Jean-Baptiste Mouret, Anh Totti Nguyen, Charles Ofria, Marc Parizeau, David P. Parsons, Robert T. Pennock, William F. Punch, Thomas S. Ray, Marc Schoenauer, Eric Schulte, Karl Sims, Kenneth O. Stanley, François Taddei, Danesh Tarapore, Simon Thibault, Richard A. Watson, Westley Weimer, Jason Yosinski |
Artif. Life | 19 |
| 2020 | GEVO: GPU Code Optimization Using Evolutionary ComputationabstractGPUs are a key enabler of the revolution in machine learning and high-performance computing, functioning as de facto co-processors to accelerate large-scale computation. As the programming stack and tool support have matured, GPUs have also become accessible to programmers, who may lack detailed knowledge of the underlying architecture and fail to fully leverage the GPU’s computation power. GEVO (Gpu optimization using EVOlutionary computation) is a tool for automatically discovering optimization opportunities and tuning the performance of GPU kernels in the LLVM representation. GEVO uses population-based search to find edits to GPU code compiled to LLVM-IR and improves performance on desired criteria while retaining required functionality. We demonstrate that GEVO improves the execution time of general-purpose GPU programs and machine learning (ML) models on NVIDIA Tesla P100. For the Rodinia benchmarks, GEVO improves GPU kernel runtime performance by an average of 49.48% and by as much as 412% over the fully compiler-optimized baseline. If kernel output accuracy is relaxed to tolerate up to 1% error, GEVO can find kernel variants that outperform the baseline by an average of 51.08%. For the ML workloads, GEVO achieves kernel performance improvement for SVM on the MNIST handwriting recognition (3.24×) and the a9a income prediction (2.93×) datasets with no loss of model accuracy. GEVO achieves 1.79× kernel performance improvement on image classification using ResNet18/CIFAR-10, with less than 1% model accuracy reduction. Jhe-Yu Liou, Xiaodong Wang 0020, Stephanie Forrest, Carole-Jean Wu |
ACM Trans. Archit. Code Optim. | 3 |
| 2019 | Borders and gateways: measuring and analyzing national as chokepointsabstractInternet topology reflects economic and political constraints that change over time. Although autonomous systems (AS) topology has been measured and modeled for many years, focusing primarily on economic relationships, earlier studies have not quantified how topology is changing with respect to nation-state boundaries. National boundaries are natural points of control for surveillance, censorship, tariffs and data localization. This paper introduces a measure, national choke-point potential (NCP), to characterize how a country's AS topology is organized in terms of BGP paths that can carry traffic across international borders. To study country-level chokepoints, we developed BGP-SAS, an open source, cross platform, efficient set of tools for simulating BGP routing and calculating national chokepoint measures. We use these tools to assess how AS topologies have changed over a ten-year span, finding significant variability among countries, with some increasing their chokepoint potential and others remaining constant, fluctuating, and in some cases declining. Overall, however, most national Internet boundaries have either become more pronounced or remained constant, despite new infrastructure buildouts and increased Internet usage. When compared to independent measures of Internet freedom, we find statistically significant relationships between NCP and Internet freedom. Kirtus G. Leyba, Benjamin Edwards, Cynthia Freeman, Jedidiah R. Crandall, Stephanie Forrest |
COMPASS | 5 |
| 2019 | Understanding Automatically-Generated Patches Through Symbolic Invariant DifferencesabstractDeveloper trust is a major barrier to the deployment of automatically-generated patches. Understanding the effect of a patch is a key element of that trust. We find that differences in sets of formal invariants characterize patch differences and that implication-based distances in invariant space characterize patch similarities. When one patch is similar to another it often contains the same changes as well as additional behavior; this pattern is well-captured by logical implication. We can measure differences using a theorem prover to verify implications between invariants implied by separate programs. Although effective, theorem provers are computationally intensive; we find that string distance is an efficient heuristic for implication-based distance measurements. We propose to use distances between patches to construct a hierarchy highlighting patch similarities. We evaluated this approach on over 300 patches and found that it correctly categorizes programs into semantically similar clusters. Clustering programs reduces human effort by reducing the number of semantically distinct patches that must be considered by over 50%, thus reducing the time required to establish trust in automatically generated repairs. Padraic Cashin, Carianne Martinez, Westley Weimer, Stephanie Forrest |
ASE | 4 |
| 2019 | Automatically Exploring Tradeoffs Between Software Output Fidelity and Energy CostsabstractData centers account for a significant fraction of global energy consumption and represent a growing business cost. Most current approaches to reducing energy use in data centers treat it as a hardware, compiler, or scheduling problem. This article focuses instead on the software level, showing how to reduce the energy used by programs when they execute. By combining insights from search-based software engineering, mutational robustness, profile-guided optimization, and approximate computing, the Producing Green Applications Using Genetic Exploration (PowerGAUGE) algorithm finds variants of individual programs that use less energy than the original. We apply hardware, software, and statistical techniques to manage the complexity of accurately assigning physical energy measurements to particular processes. In addition, our approach allows, but does not require, relaxing output quality requirements to achieve greater non-functional improvements. PowerGAUGE optimizations are validated using physical performance measurements. Experimental results on PARSEC benchmarks and two larger programs show average energy reductions of 14% when requiring the preservation of original output quality and 41% when allowing for human-acceptable levels of error. Jonathan Dorn, Jeremy Lacomis, Westley Weimer, Stephanie Forrest |
IEEE Trans. Software Eng. | 4 |
| 2018 | The biology of softwareabstractBiological design principles can potentially change the way we study engineer, maintain, and develop large dynamic software systems. For example, computer programmers like to think of software as the product of intelligent design, carefully crafted to meet well-specified goals. In reality, large software systems evolve inadvertently through the actions of many individual programmers, often leading to unanticipated consequences. Because software is subject to constraints similar to those faced by evolving biological systems, we have much to gain by viewing software through the lens of biology. The talk will highlight how abstractions of biological processes can lead to new computational algorithms and engineering principles. Specifically, it will show how the biological concepts of Darwinian evolution and immunology can be applied to problems such as repairing software bugs and cybersecurity. Stephanie Forrest |
HPDC | 1 |
| 2017 | Connecting Program Synthesis and Reachability: Automatic Program Repair Using Test-Input Generation
ThanhVu Nguyen, Westley Weimer, Deepak Kapur, Stephanie Forrest |
TACAS (1) | 4 |
| 2017 | Clarifications on the Construction and Use of the ManyBugs BenchmarkabstractAutomated repair techniques produce variant php interpreters, which should naturally serve as the tested interpreters. However, the answer to the question of what should serve as the testing interpreter is less obvious. php's default test harness configuration uses the same version of the interpreter for both the tested and testing interpreter. However, php may be configured via a command-line argument to use a different interpreter, such as the unmodified defective version, or a separate, manually-repaired version. Claire Le Goues, Yuriy Brun, Stephanie Forrest, Westley Weimer |
IEEE Trans. Software Eng. | 3 |
| 2015 | Analyzing and Modeling Longitudinal Security Data: Promise and PitfallsabstractMany cybersecurity problems occur on a worldwide scale, but we lack rigorous methods for determining how best to intervene and mitigate damage globally, both short- and long-term. Analysis of longitudinal security data can provide insight into the effectiveness and differential impacts of security interventions on a global level. In this paper we consider the example of spam, studying a large high-resolution data set of messages sent from 260 ISPs in 60 countries over the course of a decade. The statistical analysis is designed to avoid common pitfalls that could lead to erroneous conclusions. We show how factors such as geography, national economics, Internet connectivity and traffic flow impact can affect local spam concentrations. Additionally, we present a statistical model to study temporal transitions in the dataset, and we use a simple extension of the model to investigate the effect of historical botnet takedowns on spam levels. We find that in aggregate most historical takedowns are beneficial in the short-term, but few have long-term impact. Further, even when takedowns are effective globally, they can be detrimental in specific geographic regions or countries. The analysis and modeling described here are based on a single data set. However, the techniques are general and could be adapted to other data sets to help improve decision making about when and how to deploy security interventions. Benjamin Edwards, Steven Hofmeyr, Stephanie Forrest, Michel van Eeten |
ACSAC | 3 |
| 2015 | The ManyBugs and IntroClass Benchmarks for Automated Repair of C ProgramsabstractThe field of automated software repair lacks a set of common benchmark problems. Although benchmark sets are used widely throughout computer science, existing benchmarks are not easily adapted to the problem of automatic defect repair, which has several special requirements. Most important of these is the need for benchmark programs with reproducible, important defects and a deterministic method for assessing if those defects have been repaired. This article details the need for a new set of benchmarks, outlines requirements, and then presents two datasets, ManyBugs and IntroClass, consisting between them of 1,183 defects in 15 C programs. Each dataset is designed to support the comparative evaluation of automatic repair algorithms asking a variety of experimental questions. The datasets have empirically defined guarantees of reproducibility and benchmark quality, and each study object is categorized to facilitate qualitative evaluation and comparisons by category of bug or program. The article presents baseline experimental results on both datasets for three existing repair methods, GenProg, AE, and TrpAutoRepair, to reduce the burden on researchers who adopt these datasets for their own comparative evaluations. Claire Le Goues, Neal J. Holtschulte, Edward K. Smith, Yuriy Brun, Premkumar T. Devanbu, Stephanie Forrest, Westley Weimer |
IEEE Trans. Software Eng. | 6 |
| 2014 | Post-compiler software optimization for reducing energyabstractModern compilers typically optimize for executable size and speed, rarely exploring non-functional properties such as power efficiency. These properties are often hardware-specific, time-intensive to optimize, and may not be amenable to standard dataflow optimizations. We present a general post-compilation approach called Genetic Optimization Algorithm (GOA), which targets measurable non-functional aspects of software execution in programs that compile to x86 assembly. GOA combines insights from profile-guided optimization, superoptimization, evolutionary computation and mutational robustness. GOA searches for program variants that retain required functional behavior while improving non-functional behavior, using characteristic workloads and predictive modeling to guide the search. The resulting optimizations are validated using physical performance measurements and a larger held-out test suite. Our experimental results on PARSEC benchmark programs show average energy reductions of 20%, both for a large AMD system and a small Intel system, while maintaining program functionality on target workloads. Eric M. Schulte, Jonathan Dorn, Stephen Harding, Stephanie Forrest, Westley Weimer |
ASPLOS | 4 |
| 2014 | Using dynamic analysis to generate disjunctive invariantsabstractProgram invariants are important for defect detection, program verification, and program repair. However, existing techniques have limited support for important classes of invariants such as disjunctions, which express the semantics of conditional statements. We propose a method for generating disjunctive invariants over numerical domains, which are inexpressible using classical convex polyhedra. Using dynamic analysis and reformulating the problem in non-standard ``max-plus'' and ``min-plus'' algebras, our method constructs hulls over program trace points. Critically, we introduce and infer a weak class of such invariants that balances expressive power against the computational cost of generating nonconvex shapes in high dimensions. ThanhVu Nguyen, Deepak Kapur, Westley Weimer, Stephanie Forrest |
ICSE | 4 |
| 2014 | DIG: A Dynamic Invariant Generator for Polynomial and Array InvariantsabstractThis article describes and evaluates DIG, a dynamic invariant generator that infers invariants from observed program traces, focusing on numerical and array variables. For numerical invariants, DIG supports both nonlinear equalities and inequalities of arbitrary degree defined over numerical program variables. For array invariants, DIG generates nested relations among multidimensional array variables. These properties are nontrivial and challenging for current static and dynamic invariant analysis methods. The key difference between DIG and existing dynamic methods is its generative technique, which infers invariants directly from traces, instead of using traces to filter out predefined templates. To generate accurate invariants, DIG employs ideas and tools from the mathematical and formal methods domains, including equation solving, polyhedra construction, and theorem proving; for example, DIG represents and reasons about polynomial invariants using geometric shapes. Experimental results on 27 mathematical algorithms and an implementation of AES encryption provide evidence that DIG is effective at generating invariants for these programs. ThanhVu Nguyen, Deepak Kapur, Westley Weimer, Stephanie Forrest |
ACM Trans. Softw. Eng. Methodol. | 4 |
| 2013 | Automated repair of binary and assembly programs for cooperating embedded devicesabstractWe present a method for automatically repairing arbitrary software defects in embedded systems, which have limited memory, disk and CPU capacities, but exist in great numbers. We extend evolutionary computation (EC) algorithms that search for valid repairs at the source code level to assembly and ELF format binaries, compensating for limited system resources with several algorithmic innovations. Our method does not require access to the source code or build toolchain of the software under repair, does not require program instrumentation, specialized execution environments, or virtual machines, or prior knowledge of the bug type. Eric M. Schulte, Jonathan DiLorenzo, Westley Weimer, Stephanie Forrest |
ASPLOS | 4 |
| 2013 | Leveraging program equivalence for adaptive program repair: Models and first resultsabstractSoftware bugs remain a compelling problem. Automated program repair is a promising approach for reducing cost, and many methods have recently demonstrated positive results. However, success on any particular bug is variable, as is the cost to find a repair. This paper focuses on generate-and-validate repair methods that enumerate candidate repairs and use test cases to define correct behavior. We formalize repair cost in terms of test executions, which dominate most test-based repair algorithms. Insights from this model lead to a novel deterministic repair algorithm that computes a patch quotient space with respect to an approximate semantic equivalence relation. This allows syntactic and dataflow analysis techniques to dramatically reduce the repair search space. Generate-and-validate program repair is shown to be a dual of mutation testing, suggesting several possible cross-fertilizations. Evaluating on 105 real-world bugs in programs totaling 5MLOC and involving 10,000 tests, our new algorithm requires an order-of-magnitude fewer test evaluations than the previous state-of-the-art and is over three times more efficient monetarily. Westley Weimer, Zachary P. Fry, Stephanie Forrest |
ASE | 3 |
| 2013 | Application and analysis of multidimensional negative surveys in participatory sensing applications
Michael M. Groat, Benjamin Edwards, James Horey, Wenbo He 0003, Stephanie Forrest |
Pervasive Mob. Comput. | 5 |
| 2013 | Current challenges in automatic software repair
Claire Le Goues, Stephanie Forrest, Westley Weimer |
Softw. Qual. J. | 2 |
| 2012 | Representations and operators for improving evolutionary software repairabstractEvolutionary computation is a promising technique for automating time-consuming and expensive software maintenance tasks, including bug repair. The success of this approach, however, depends at least partially on the choice of representation, fitness function, and operators. Previous work on evolutionary software repair has employed different approaches, but they have not yet been evaluated in depth. This paper investigates representation and operator choices for source-level evolutionary program repair in the GenProg framework [17], focusing on: (1) representation of individual variants, (2) crossover design, (3) mutation operators, and (4) search space definition. We evaluate empirically on a dataset comprising 8 C programs totaling over 5.1 million lines of code and containing 105 reproducible, human-confirmed defects. Our results provide concrete suggestions for operator and representation design choices for evolutionary program repair. When augmented to incorporate these suggestions, GenProg repairs 5 additional bugs (60 vs. 55 out of 105), with a decrease in repair time of 17-43% for the more difficult repair searches. Claire Le Goues, Westley Weimer, Stephanie Forrest |
GECCO | 3 |
| 2012 | A systematic study of automated program repair: Fixing 55 out of 105 bugs for $8 eachabstractThere are more bugs in real-world programs than human programmers can realistically address. This paper evaluates two research questions: “What fraction of bugs can be repaired automatically?” and “How much does it cost to repair a bug automatically?” In previous work, we presented GenProg, which uses genetic programming to repair defects in off-the-shelf C programs. To answer these questions, we: (1) propose novel algorithmic improvements to GenProg that allow it to scale to large programs and find repairs 68% more often, (2) exploit GenProg's inherent parallelism using cloud computing resources to provide grounded, human-competitive cost measurements, and (3) generate a large, indicative benchmark set to use for systematic evaluations. We evaluate GenProg on 105 defects from 8 open-source programs totaling 5.1 million lines of code and involving 10,193 test cases. GenProg automatically repairs 55 of those 105 defects. To our knowledge, this evaluation is the largest available of its kind, and is often two orders of magnitude larger than previous work in terms of code or test suite size or defect count. Public cloud computing prices allow our 105 runs to be reproduced for $403; a successful repair completes in 96 minutes and costs $7.32, on average. Claire Le Goues, Michael Dewey-Vogt, Stephanie Forrest, Westley Weimer |
ICSE | 3 |
| 2012 | Using dynamic analysis to discover polynomial and array invariantsabstractDynamic invariant analysis identifies likely properties over variables from observed program traces. These properties can aid programmers in refactoring, documenting, and debugging tasks by making dynamic patterns visible statically. Two useful forms of invariants involve relations among polynomials over program variables and relations among array variables. Current dynamic analysis methods support such invariants in only very limited forms. We combine mathematical techniques that have not previously been applied to this problem, namely equation solving, polyhedra construction, and SMT solving, to bring new capabilities to dynamic invariant detection. Using these methods, we show how to find equalities and inequalities among nonlinear polynomials over program variables, and linear relations among array variables of multiple dimensions. Preliminary experiments on 24 mathematical algorithms and an implementation of AES encryption provide evidence that the approach is effective at finding these invariants. ThanhVu Nguyen, Deepak Kapur, Westley Weimer, Stephanie Forrest |
ICSE | 4 |
| 2012 | Beyond the blacklist: modeling malware spread and the effect of interventionsabstractMalware spread among websites and between websites and clients is an increasing problem. Search engines play an important role in directing users to websites and are a natural control point for intervening using mechanisms such as blacklisting. The paper presents a simple Markov model of malware spread through large populations of websites and studies the effect of two interventions that might be deployed by a search provider: blacklisting infected web pages by removing them from search results entirely and a generalization of blacklisting, called depreferencing, in which a website's ranking is decreased by a fixed percentage each time period the site remains infected. We analyze and study the trade-offs between infection exposure and traffic loss due to false positives (the cost to a website that is incorrectly blacklisted) for different interventions. As expected, we find that interventions are most effective when websites are slow to remove infections. Surprisingly, we also find that low infection or recovery rates can increase traffic loss due to false positives. Our analysis also shows that heavy-tailed distributions of website popularity, as documented in many studies, leads to high sample variance of all measured outcomes. This result implies that it will be difficult to determine empirically whether certain website interventions are effective, and it suggests that theoretical models such as the one described in this paper have an important role to play in improving web security. Benjamin Edwards, Tyler Moore 0001, George Stelle, Steven Hofmeyr, Stephanie Forrest |
NSPW | 5 |
| 2012 | Enhancing privacy in participatory sensing applications with multidimensional dataabstractParticipatory sensing applications rely on individuals to share local and personal data with others to produce aggregated models and knowledge. In this setting, privacy is an important consideration, and lack of privacy could discourage widespread adoption of many exciting applications. We present a privacy-preserving participatory sensing scheme for multidimensional data which uses negative surveys. Multidimensional data, such as vectors of attributes that include location and environment fields, are challenging for privacy protection and are common in participatory sensing applications. When reporting data in a negative survey, an individual participant randomly selects a value from the set complement of the sensed data value, once for each dimension, and returns the negative values to a central collection server. Using algorithms described in this paper, the server can reconstruct the probability density functions of the original distributions of sensed values, without knowing the participants' actual data. Our algorithms avoid computationally expensive encryption and key management schemes, conserving energy. We study trade-offs between accuracy and privacy, and their relationships to the number of dimensions, categories, and participants. We introduce dimensional adjustment, a method that reduces the magnification of error associated with earlier work. Two simulation scenarios illustrate how the approach can protect the privacy of a participant's multidimensional data while allowing useful aggregate information to be collected. Michael M. Groat, Benjamin Edwards, James Horey, Wenbo He 0003, Stephanie Forrest |
PerCom | 5 |
| 2012 | GenProg: A Generic Method for Automatic Software RepairabstractThis paper describes GenProg, an automated method for repairing defects in off-the-shelf, legacy programs without formal specifications, program annotations, or special coding practices. GenProg uses an extended form of genetic programming to evolve a program variant that retains required functionality but is not susceptible to a given defect, using existing test suites to encode both the defect and required functionality. Structural differencing algorithms and delta debugging reduce the difference between this variant and the original program to a minimal repair. We describe the algorithm and report experimental results of its success on 16 programs totaling 1.25 M lines of C code and 120K lines of module code, spanning eight classes of defects, in 357 seconds, on average. We analyze the generated repairs qualitatively and quantitatively to demonstrate that the process efficiently produces evolved programs that repair the defect, are not fragile input memorizations, and do not lead to serious degradation in functionality. Claire Le Goues, ThanhVu Nguyen, Stephanie Forrest, Westley Weimer |
IEEE Trans. Software Eng. | 3 |
| 2011 | KIPDA: k-indistinguishable privacy-preserving data aggregation in wireless sensor networksabstractWhen wireless sensor networks accumulate sensitive or confidential data, privacy becomes an important concern. Sensors are often resource-limited and power-constrained, and data aggregation is commonly used to address these issues. However, providing privacy without disrupting in-network data aggregation is challenging. Although privacy-preserving data aggregation for additive and multiplicative aggregation functions has been studied, nonlinear aggregation functions such as maximum and minimum have not been well addressed. We present KIPDA, a privacy-preserving aggregation method, which we specialize for maximum and minimum aggregation functions. KIPDA obfuscates sensitive measurements by hiding them among a set of camouflage values, enabling k-indistinguishability for data aggregation. In principle, KIPDA can be used to hide a wide range of aggregation functions, although this paper considers only maximum and minimum. Because the sensitive data are not encrypted, it is easily and efficiently aggregated with minimal in-network processing delay. We quantify the efficiency of KIPDA in terms of power consumption and time delay, studying tradeoffs between the protocol's effectiveness and its resilience against collusion. Michael M. Groat, Wenbo He 0003, Stephanie Forrest |
INFOCOM | 3 |
| 2010 | Designing better fitness functions for automated program repairabstractEvolutionary methods have been used to repair programs automatically, with promising results. However, the fitness function used to achieve these results was based on a few simple test cases and is likely too simplistic for larger programs and more complex bugs. We focus here on two aspects of fitness evaluation: efficiency and precision. Efficiency is an issue because many programs have hundreds of test cases, and it is costly to run each test on every individual in the population. Moreover, the precision of fitness functions based on test cases is limited by the fact that a program either passes a test case, or does not, which leads to a fitness function that can take on only a few distinct values. This paper investigates two approaches to enhancing fitness functions for program repair, incorporating (1) test suite selection to improve efficiency and (2) formal specifications to improve precision. We evaluate test suite selection on 10 programs, improving running time for automated repair by 81%. We evaluate program invariants using the Fitness Distance Correlation (FDC) metric, demonstrating significant improvements and smoother evolution of repairs Ethan Fast, Claire Le Goues, Stephanie Forrest, Westley Weimer |
GECCO | 3 |
| 2010 | Automated program repair through the evolution of assembly codeabstractA method is described for automatically repairing legacy software at the assembly code level using evolutionary computation. The technique is demonstrated on Java byte code and x86 assembly programs, showing how to find program variations that correct defects while retaining desired behavior. Test cases are used to demonstrate the defect and define required functionality. The paper explores advantages of assembly-level repair over earlier work at the source code level - the ability to repair programs written in many different languages; and the ability to repair bugs that were previously intractable. The paper reports experimental results showing reasonable performance of assembly language repair even on non-trivial programs Eric M. Schulte, Stephanie Forrest, Westley Weimer |
ASE | 2 |
| 2010 | The case for evolvable softwareabstractAs programmers, we like to think of software as the product of our intelligent design, carefully crafted to meet well-specified goals. In reality, software evolves inadvertently through the actions of many individual programmers, often leading to unanticipated consequences. Large complex software systems are subject to constraints similar to those faced by evolving biological systems, and we have much to gain by viewing software through the lens of evolutionary biology. The talk will highlight recent research that applies the mechanisms of evolution quite directly to the problem of repairing software bugs. Stephanie Forrest |
OOPSLA | 1 |
| 2009 | A genetic programming approach to automated software repairabstractGenetic programming is combined with program analysis methods to repair bugs in off-the-shelf legacy C programs. Fitness is defined using negative test cases that exercise the bug to be repaired and positive test cases that encode program requirements. Once a successful repair is discovered, structural differencing algorithms and delta debugging methods are used to minimize its size. Several modifications to the GP technique contribute to its success: (1) genetic operations are localized to the nodes along the execution path of the negative test case; (2) high-level statements are represented as single nodes in the program tree; (3) genetic operators use existing code in other parts of the program, so new code does not need to be invented. The paper describes the method, reviews earlier experiments that repaired 11 bugs in over 60,000 lines of code, reports results on new bug repairs, and describes experiments that analyze the performance and efficacy of the evolutionary components of the algorithm. Stephanie Forrest, ThanhVu Nguyen, Westley Weimer, Claire Le Goues |
GECCO | 1 |
| 2009 | Automatically finding patches using genetic programmingabstractAutomatic program repair has been a longstanding goal in software engineering, yet debugging remains a largely manual process. We introduce a fully automated method for locating and repairing bugs in software. The approach works on off-the-shelf legacy applications and does not require formal specifications, program annotations or special coding practices. Once a program fault is discovered, an extended form of genetic programming is used to evolve program variants until one is found that both retains required functionality and also avoids the defect in question. Standard test cases are used to exercise the fault and to encode program requirements. After a successful repair has been discovered, it is minimized using structural differencing algorithms and delta debugging. We describe the proposed method and report experimental results demonstrating that it can successfully repair ten different C programs totaling 63,000 lines in under 200 seconds, on average. Westley Weimer, ThanhVu Nguyen, Claire Le Goues, Stephanie Forrest |
ICSE | 4 |
| 2008 | The Evolution of System-Call MonitoringabstractComputer security systems protect computers and networks from unauthorized use by external agents and insiders. The similarities between computer security and the problem of protecting a body against damage from externally and internally generated threats are compelling and were recognized as early as 1972 when the term computer virus was coined. The connection to immunology was made explicit in the mid 1990s, leading to a variety of prototypes, commercial products, attacks, and analyses. The paper reviews one thread of this active research area, focusing on system-call monitoring and its application to anomaly intrusion detection and response. The paper discusses the biological principles illustrated by the method, followed by a brief review of how system call monitoring was used in anomaly intrusion detection and the results that were obtained. Proposed attacks against the method are discussed, along with several important branches of research that have arisen since the original papers were published. These include other data modeling methods, extensions to the original system call method, and rate limiting responses. Finally, the significance of this body of work and areas of possible future investigation are outlined in the conclusion. Stephanie Forrest, Steven Hofmeyr, Anil Somayaji |
ACSAC | 1 |
| 2008 | Negative Ternary Set-Sharing
Eric D. Trias, Jorge A. Navas, Elena S. Ackley, Stephanie Forrest, Manuel V. Hermenegildo |
ICLP | 4 |
| 2008 | The ecology of MalwareabstractThe fight against malicious software (or malware, which includes everything from worms to viruses to botnets) is often viewed as an "arms race." Conventional wisdom is that we must continually "raise the bar" for the malware creators. However, the multitude of malware has itself evolved into a complex environment, and properties not unlike those of ecological systems have begun to emerge. This may include competition between malware, facilitation, parasitism, predation, and density-dependent population regulation. Ecological principles will likely be useful for understanding the effects of these ecological interactions, for example, carrying capacity, species-time and species-area relationships, the unified neutral theory of biodiversity, and the theory of island bio-geography. The emerging malware ecology can be viewed as a critical challenge to all aspects of malware defense, including collection, triage, analysis, intelligence estimates, detection, mitigation, and forensics. It can also be viewed as an opportunity. Jedidiah R. Crandall, Roya Ensafi, Stephanie Forrest, Joshua Ladau, Bilal Shebaro |
NSPW | 3 |
| 2008 | Autonomous security for autonomous systems
Josh Karlin, Stephanie Forrest, Jennifer Rexford |
Comput. Networks | 2 |
| 2007 | Anonymous Data Collection in Sensor NetworksabstractSensor networks involving human participants will require privacy protection before wide deployment is feasible. This paper proposes and evaluates a set of protocols that enable anonymous data collection in a sensor network. Sensor nodes, instead of transmitting their actual data, transmit a sample of the data complement to a basestation. The basestation then uses the negative samples to reconstruct a histogram of the original sensor readings. These protocols, collectively defined as a negative survey, are computationally simple and do not increase communication overhead. Thus, the negative survey can be implemented efficiently on existing sensor network platforms. We analyze the accuracy of the negative survey under a variety of conditions and define a range of parameter values for which it is practical. We also describe an example traffic monitoring application that uses the negative survey to classify traffic behavior. We demonstrate that for reasonable traffic scenarios, the system accurately classifies traffic behavior without revealing private information. James Horey, Michael M. Groat, Stephanie Forrest, Fernando Esponda |
MobiQuitous | 3 |
| 2007 | Learning DFA representations of HTTP for protecting web applications
Kenneth L. Ingham, Anil Somayaji, John Burge, Stephanie Forrest |
Comput. Networks | 4 |
| 2006 | Pretty Good BGP: Improving BGP by Cautiously Adopting RoutesabstractThe Internet's interdomain routing protocol, BGP, is vulnerable to a number of damaging attacks, which often arise from operator misconfiguration. Proposed solutions with strong guarantees require a public-key infrastructure, accurate routing registries, and changes to BGP. However, BGP routers can avoid selecting and propagating these routes if they are cautious about adopting new reachability information. We describe a protocol- preserving enhancement to BGP, Pretty Good BGP (PGBGP), that slows the dissemination of bogus routes, providing network operators time to respond before problems escalate into large- scale Internet attacks. Simulation results show that realistic deployments of PGBGP could provide 99% of Autonomous Systems with 24 hours to investigate and repair bogus routes without affecting prefix reachability. We also show that without PGBGP, 40% of ASs cannot avoid selecting bogus routes; with PGBGP, this number drops to less than 1%. Finally, we show that PGBGP is incrementally deployable and offers significant security benefits to early adopters and their customers. Josh Karlin, Stephanie Forrest, Jennifer Rexford |
ICNP | 2 |
| 2006 | Protecting Data Privacy Through Hard-to-Reverse Negative Databases
Fernando Esponda, Elena S. Ackley, Paul Helman, Haixia Jia, Stephanie Forrest |
ISC | 5 |
| 2006 | Simulating the Hallmarks of CancerabstractCancer can be viewed as the loss of cooperative cell behaviors that normally facilitate multicellularity, including the formation of tissues and organs. Hanahan and Weinberg describe the phenotypic differences between healthy and cancerous cells in an article titled "The Hallmarks of Cancer" (Cell, 100, 57-70, 2000). Here the authors propose six phenotypic changes at the cellular level as the essential hallmarks of cancer. They investigate the dynamics and interactions of these hallmarks in a model known as CancerSim. They describe how CancerSim implements the hallmarks in an agent-based simulation which can help test the hypotheses put forth by Hanahan and Weinberg. Experiments with CancerSim are described that study the interactions of cell phenotype alterations, and in particular, the likely sequences of precancerous mutations, known as pathways. The experiments show that sequencing is an important factor in tumorigenesis, as some mutations have preconditions--they are selectively advantageous only in combination with other mutations. CancerSim enables a modeler to study the dynamics of a developing tumor and simulate how progression can be altered by tuning model parameters. Robert G. Abbott, Stephanie Forrest, Kenneth J. Pienta |
Artif. Life | 2 |
| 2006 | Modeling Somatic Evolution in TumorigenesisabstractTumorigenesis in humans is thought to be a multistep process where certain mutations confer a selective advantage, allowing lineages derived from the mutated cell to outcompete other cells. Although molecular cell biology has substantially advanced cancer research, our understanding of the evolutionary dynamics that govern tumorigenesis is limited. This paper analyzes the computational implications of cancer progression presented by Hanahan and Weinberg in The Hallmarks of Cancer. We model the complexities of tumor progression as a small set of underlying rules that govern the transformation of normal cells to tumor cells. The rules are implemented in a stochastic multistep model. The model predicts that (i) early-onset cancers proceed through a different sequence of mutation acquisition than late-onset cancers; (ii) tumor heterogeneity varies with acquisition of genetic instability, mutation pathway, and selective pressures during tumorigenesis; (iii) there exists an optimal initial telomere length which lowers cancer incidence and raises time of cancer onset; and (iv) the ability to initiate angiogenesis is an important stage-setting mutation, which is often exploited by other cells. The model offers insight into how the sequence of acquired mutations affects the timing and cellular makeup of the resulting tumor and how the cellular-level population dynamics drive neoplastic evolution. Sabrina L. Spencer, Ryan A. Gerety, Kenneth J. Pienta, Stephanie Forrest |
PLoS Comput. Biol. | 4 |
| 2006 | On the Prediction of Java Object LifetimesabstractAccurately predicting object lifetimes is important for improving memory management systems. Current garbage collectors make relatively coarse-grained predictions (e.g., "short-lived" versus "long-lived") and rely on application-independent heuristics related to the local characteristics of an allocation. This paper introduces a prediction method which is fully precise and makes its predictions based on application-specific training rather than application-independent heuristics. By "fully precise" we mean that the granularity of predictions is equal to the smallest unit of allocation. The method described is the first to combine high precision and efficiency in a single lifetime predictor. Fully precise prediction enables us, for the first time, to study zero-lifetime objects. The paper reports results showing that zero-lifetime objects comprise a significant fraction of object allocations in benchmark programs for the Java programming language and that they are correlated with their allocation context (the call stack and allocation site). Beyond zero-lifetime objects, the paper reports results on predicting longer lived objects, where, in some cases, it is possible to predict the lifetime of objects based on their allocation context (the call stack and allocation site) well. For the SPEC benchmark programs, the number of dynamically allocated objects whose call sites have accurate predictors ranges from 0.2 percent to 61 percent. This method could potentially improve the performance of garbage collectors. The paper proposes a death-ordered collector (DOC) and analyzes its implementation overheads and its best possible performance. The study shows how memory performance could be enhanced using the extra information provided by fully precise prediction. Hajime Inoue, Darko Stefanovic, Stephanie Forrest |
IEEE Trans. Computers | 3 |
| 2005 | Adaptive radio: achieving consensus using negative preferencesabstractWe introduce the use of negative preferences to produce solutions that are acceptable to a group of users. This technique takes advantage of the fact that discovering what a user does not like can be easier than discovering what the user does like. To illustrate the approach, we implemented Adaptive Radio, a system that selects music to play in a shared environment. Rather than attempting to play the songs that users want to hear, the system avoids playing songs that they do not want to hear. Negative preferences could potentially be applied to information filtering, intelligent environments, and collaborative design. Dennis L. Chao, Justin Balthrop, Stephanie Forrest |
GROUP | 3 |
| 2005 | A Machine Learning Evaluation of an Artificial Immune SystemabstractARTIS is an artificial immune system framework which contains several adaptive mechanisms. LISYS is a version of ARTIS specialized for the problem of network intrusion detection. The adaptive mechanisms of LISYS are characterized in terms of their machine-learning counterparts, and a series of experiments is described, each of which isolates a different mechanism of LISYS and studies its contribution to the system's overall performance. The experiments were conducted on a new data set, which is more recent and realistic than earlier data sets. The network intrusion detection problem is challenging because it requires one-class learning in an on-line setting with concept drift. The experiments confirm earlier experimental results with LISYS, and they study in detail how LISYS achieves success on the new data set. Matthew R. Glickman, Justin Balthrop, Stephanie Forrest |
Evol. Comput. | 3 |
| 2005 | Randomized instruction set emulationabstractInjecting binary code into a running program is a common form of attack. Most defenses employ a “guard the doors” approach, blocking known mechanisms of code injection. Randomized instruction set emulation (RISE) is a complementary method of defense, one that performs a hidden randomization of an application's machine code. If foreign binary code is injected into a program running under RISE, it will not be executable because it will not know the proper randomization. The paper describes and analyzes RISE, describing a proof-of-concept implementation built on the open-source Valgrind IA32-to-IA32 translator. The prototype effectively disrupts binary code injection attacks, without requiring recompilation, linking, or access to application source code. Under RISE, injected code (attacks) essentially executes random code sequences. Empirical studies and a theoretical model are reported which treat the effects of executing random code on two different architectures (IA32 and PowerPC). The paper discusses possible extensions and applications of the RISE technique in other contexts. Elena Gabriela Barrantes, David H. Ackley, Stephanie Forrest, Darko Stefanovic |
ACM Trans. Inf. Syst. Secur. | 3 |
| 2004 | A formal framework for positive and negative detection schemesabstractIn anomaly detection, the normal behavior of a process is characterized by a model, and deviations from the model are called anomalies. In behavior-based approaches to anomaly detection, the model of normal behavior is constructed from an observed sample of normally occurring patterns. Models of normal behavior can represent either the set of allowed patterns (positive detection) or the set of anomalous patterns (negative detection). A formal framework is given for analyzing the tradeoffs between positive and negative detection schemes in terms of the number of detectors needed to maximize coverage. For realistically sized problems, the universe of possible patterns is too large to represent exactly (in either the positive or negative scheme). Partial matching rules generalize the set of allowable (or unallowable) patterns, and the choice of matching rule affects the tradeoff between positive and negative detection. A new match rule is introduced, called r-chunks, and the generalizations induced by different partial matching rules are characterized in terms of the crossover closure. Permutations of the representation can be used to achieve more precise discrimination between normal and anomalous patterns. Quantitative results are given for the recognition ability of contiguous-bits matching together with permutations. Fernando Esponda, Stephanie Forrest, Paul Helman |
IEEE Trans. Syst. Man Cybern. Part B | 2 |
| 2002 | Revisiting LISYS: parameters and normal behaviorabstractThis paper studies a simplified form of LISYS, an artificial immune system for network intrusion detection. The paper describes results based on a new, more controlled data set than that used for earlier studies. The paper also looks at which parameters appear most important for minimizing false positives, as well as the trade-offs and relationships among parameter settings. Justin Balthrop, Stephanie Forrest, Matthew R. Glickman |
IEEE Congress on Evolutionary Computation | 2 |
| 2002 | Coverage and Generalization in an Artificial Immune System
Justin Balthrop, Fernando Esponda, Stephanie Forrest, Matthew R. Glickman |
GECCO | 3 |
| 2002 | Anomaly intrusion detection in dynamic execution environmentsabstractforrest @ cs.unm.edu We describe an anomaly intrusion-detection system for platforms that incorporate dynamic compilation and profiling. We call this approach "dynamic sandboxing. " By gathering information about applications ' behavior usually unavailable to other anomaly intrusion-detection systems, dynamic sandboxing is able to detect anomalies at the application layer. We show our implementation in a Java Virtual Machine is both effective and efficient at stopping a backdoor and a virus, and has a low false positive rate. Hajime Inoue, Stephanie Forrest |
NSPW | 2 |
| 2001 | Review of The Computational Beauty of Nature by Gary William Flake
Melanie E. Moses, Stephanie Forrest |
Artif. Intell. | 2 |
| 2000 | Automated Response Using System-Call Delay
Anil Somayaji, Stephanie Forrest |
USENIX Security Symposium | 2 |
| 2000 | Exploring the Relationship Between Neutral and Selective Mutations in CancerabstractThe transformation of normal cells into cancerous cells is an evolutionary process. Populations of precancerous cells reproduce, mutate, and compete for resources. Some of these mutations eventually lead to cancer. We calculate the probability of developing cancer under a set of simplifying assumptions and then elaborate these calculations, culminating in a simple simulation of the cell dynamics. The agent-based model allows us to examine the interactions of mutations critical for the development of cancer that are either evolutionarily neutral or selective. We can also examine the interaction of these mutations with a "mutator phenotype" derived from mutations that raise the mutation rate for the entire cell. The simulations suggest that there must be at least two selectively neutral mutations necessary for the development of cancer and that preventive treatments will be most effective when they increase this number. The model also suggests that selective mutations facilitate the development of cancer, so that the more selective mutations necessary for the development of cancer, the greater the chance of developing it. Carlo C. Maley, Stephanie Forrest |
Artif. Life | 2 |
| 2000 | Architecture for an Artificial Immune SystemabstractAn artificial immune system (ARTIS) is described which incorporates many properties of natural immune systems, including diversity, distributed computation, error tolerance, dynamic learning and adaptation, and self-monitoring. ARTIS is a general framework for a distributed adaptive system and could, in principle, be applied to many domains. In this paper, ARTIS is applied to computer security in the form of a network intrusion detection system called LISYS. LISYS is described and shown to be effective at detecting intrusions, while maintaining low false positive rates. Finally, similarities and differences between ARTIS and Holland's classifier systems are discussed. Steven Hofmeyr, Stephanie Forrest |
Evol. Comput. | 2 |
| 1999 | Detecting Intrusions using System Calls: Alternative Data ModelsabstractIntrusion detection systems rely on a wide variety of observable data to distinguish between legitimate and illegitimate activities. We study one such observable-sequences of system calls into the kernel of an operating system. Using system-call data sets generated by several different programs, we compare the ability of different data modeling methods to represent normal behavior accurately and to recognize intrusions. We compare the following methods: simple enumeration of observed sequences; comparison of relative frequencies of different sequences; a rule induction technique; and hidden Markov models (HMMs). We discuss the factors affecting the performance of each method and conclude that for this particular problem, weaker methods than HMMs are likely sufficient. Christina Warrender, Stephanie Forrest, Barak A. Pearlmutter |
S&P | 2 |
| 1998 | Simulated evolution of antibody gene libraries under pathogen selectionabstractThe immune system of vertebrates is generally viewed as a prototype of a highly adaptive, distributed detection system, that identifies and neutralizes pathogenic intrusions. The immune receptors (antibodies) are able to bind to pathogens that they have not been "trained" to recognize. This anticipatory capability is thought to be due to a broad coverage of the pathogen space realized by the antibodies that the immune system can produce. We attempt to explain how this this coverage is achieved, given that the immune system uses a relatively small number of genes to construct its receptors. We use an evolutionary algorithm to explore the strategies that the antibody libraries may evolve in order to encode pathogen sets of various sizes. We derive a lower and upper bounds on the performance of the evolved antibody libraries as a function of their size and the length of the pathogen string. We also provide some insights in the strategy of the antibody libraries. We discuss the implications of our results for biological evolution of antibody libraries. Mihaela Oprea, Stephanie Forrest |
SMC | 2 |
| 1998 | Intrusion Detection Using Sequences of System CallsabstractA method is introduced for detecting intrusions at the level of privileged processes. Evidence is given that short sequences of system calls executed by running processes are a good discriminator between normal and abnormal operating characteristics of several common UNIX programs. Normal behavior is collected in two ways: Synthetically, by exercising as many normal modes of usage of a program as possible, and in a live user environment by tracing the actual execution of the program. In the former case several types of intrusive behavior were studied; in the latter case, results were analyzed for false positives. Steven Hofmeyr, Stephanie Forrest, Anil Somayaji |
J. Comput. Secur. | 2 |
| 1997 | Principles of a computer immune systemabstractNatural immune systems provide a rich source of inspiration for computer security in the age of the Internet. Immune systems have many features that are desirable for the imperfect, uncontrolled, and open environments in which most computers currently exist. These include distributability, diversity, disposability, adaptability, autonomy, dynamic coverage, anomaly detection, multiple layers, identity via behavior, no trusted components, and imperfect detection. These principles suggest a wide variety of architectures for a computer immune system. 1 Anil Somayaji, Steven Hofmeyr, Stephanie Forrest |
NSPW | 3 |
| 1997 | The Ecology of EchoabstractEcho is a generic ecosystem model in which evolving agents are situated in a resource-limited environment. The Echo model is described, and the behavior of Echo is evaluated on two well-studied measures of ecological diversity: relative species abundance and the species-area scaling relation. In simulation experiments, these measures are used to compare the behavior of Echo with that of a neutral model, in which selection on agent genotypes is random. These simulations show that the evolutionary component of Echo makes a significant contribution to its behavior and that Echo shows good qualitative agreement with naturally occurring species abundance distributions and species-area scaling relations. Peter T. Hraber, Terry Jones, Stephanie Forrest |
Artif. Life | 3 |
| 1996 | An Immunological Approach to Change Detection: Algorithms, Analysis and ImplicationsabstractWe present new results on a distributable change-detection method inspired by the natural immune system. A weakness in the original algorithm was the exponential cost of generating detectors. Two detector-generating algorithms are introduced which run in linear time. The algorithms are analyzed, heuristics are given for setting parameters based on the analysis, and the presence of holes in detector space is examined. The analysis provider a basis for assessing the practicality of the algorithms in specific settings, and some of the implications are discussed. Patrik D'haeseleer, Stephanie Forrest, Paul Helman |
S&P | 2 |
| 1996 | A Sense of Self for Unix ProcessesabstractA method for anomaly detection is introduced in which "normal" is defined by short-range correlations in a process' system calls. Initial experiments suggest that the definition is stable during normal behaviour for standard UNIX programs. Further; it is able to detect several common intrusions involving sendmail and 1pr. This work is part of a research program aimed at building computer security systems that incorporate the mechanisms and algorithms used by natural immune systems. Stephanie Forrest, Steven Hofmeyr, Anil Somayaji, Thomas A. Longstaff |
S&P | 1 |
| 1995 | Genetic Algorithms, Operators, and DNA Fragment Assembly
Rebecca J. Parsons, Stephanie Forrest, Christian Burks |
Mach. Learn. | 2 |
| 1994 | Self-nonself discrimination in a computerabstractThe problem of protecting computer systems can be viewed generally as the problem of learning to distinguish self from other. The authors describe a method for change detection which is based on the generation of T cells in the immune system. Mathematical analysis reveals computational costs of the system, and preliminary experiments illustrate how the method might be applied to the problem of computer viruses.> Stephanie Forrest, Alan S. Perelson, Lawrence Allen, Rajesh Cherukuri |
S&P | 1 |
| 1994 | Genetic Algorithms and Artificial LifeabstractGenetic algorithms are computational models of evolution that play a central role in many artificial-life models. We review the history and current scope of research on genetic algorithms in artificial life, giving illustrative examples in which the genetic algorithm is used to study how learning and evolution interact, and to model ecosystems, immune system, cognitive systems, and social systems. We also outline a number of open questions and future directions for genetic algorithms in artificial-life research. Melanie Mitchell, Stephanie Forrest |
Artif. Life | 2 |
| 1993 | Genetic Algorithms for DNA Sequence Assembly
Rebecca J. Parsons, Stephanie Forrest, Christian Burks |
ISMB | 2 |
| 1993 | When will a Genetic Algorithm Outperform Hill Climbing
Melanie Mitchell, John H. Holland, Stephanie Forrest |
NIPS | 3 |
| 1993 | Using Genetic Algorithms to Explore Pattern Recognition in the Immune SystemabstractThis paper describes an immune system model based on binary strings. The purpose of the model is to study the pattern-recognition processes and learning that take place at both the individual and species levels in the immune system. The genetic algorithm (GA) is a central component of the model. The paper reports simulation experiments on two pattern-recognition problems that are relevant to natural immune systems. Finally, it reviews the relation between the model and explicit fitness-sharing techniques for genetic algorithms, showing that the immune system model implements a form of implicit fitness sharing. Stephanie Forrest, Robert E. Smith 0001, Brenda Javornik, Alan S. Perelson |
Evol. Comput. | 1 |
| 1993 | Searching for Diverse, Cooperative Populations with Genetic AlgorithmsabstractIn typical applications, genetic algorithms (GAs) process populations of potential problem solutions to evolve a single population member that specifies an ‘optimized’ solution. The majority of GA analysis has focused on these optimization applications. In other applications (notably learning classifier systems and certain connectionist learning systems), a GA searches for a population of cooperative structures that jointly perform a computational task. This paper presents an analysis of this type of GA problem. The analysis considers a simplified genetics-based machine learning system: a model of an immune system. In this model, a GA must discover a set of pattern-matching antibodies that effectively match a set of antigen patterns. Analysis shows how a GA can automatically evolve and sustain a diverse, cooperative population. The cooperation emerges as a natural part of the antigen-antibody matching procedure. This emergent effect is shown to be similar to fitness sharing, an explicit technique for multimodal GA optimization. Further analysis shows how the GA population can adapt to express various degrees of generalization. The results show how GAs can automatically and simultaneously discover effective groups of cooperative computational structures. Robert E. Smith 0001, Stephanie Forrest, Alan S. Perelson |
Evol. Comput. | 2 |
| 1993 | What Makes a Problem Hard for a Genetic Algorithm? Some Anomalous Results and Their Explanation
Stephanie Forrest, Melanie Mitchell |
Mach. Learn. | 1 |
| 1990 | Concepts, Methods, and Languages for Building Timely Intelligent Systems
Jay S. Lark, Lee D. Erman, Stephanie Forrest, Kim P. Gostelow |
Real Time Syst. | 3 |
| 1988 | Learning and Programming in Classifier Systems
Richard K. Belew, Stephanie Forrest |
Mach. Learn. | 2 |
| 1986 | The Classifier System: A Computational Model that Supports Machine Intelligence
Stephanie Forrest |
ICPP | 1 |