VLDB 2026 Research / reviewers in the wild / expert
Matthew B. Dwyer
dblp:d/MatthewBDwyer · also Matthew Dwyer 0001
· DBLP profile ↗
129ranked-venue papers
33as first author
29since 2021 · last 2025
0000-0002-1937-1544ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 110 · 30 first-author · 23 since 2021Artificial intelligence and machine learning · 8 · 6 since 2021Theory of computation · 7 · 2 first-author · 2 since 2021Systems, architecture and hardware · 6 · 1 first-author · 2 since 2021Computer networks · 2Graphics, computer vision, multimedia, augmented reality and games · 2 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 2 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Quantitative Predictive Monitoring and Control for Safe Human-Machine InteractionabstractThere is a growing trend toward AI systems interacting with humans to revolutionize a range of application domains such as healthcare and transportation. However, unsafe human-machine interaction can lead to catastrophic failures. We propose a novel approach that predicts future states by accounting for the uncertainty of human interaction, monitors whether predictions satisfy or violate safety requirements, and adapts control actions based on the predictive monitoring results. Specifically, we develop a new quantitative predictive monitor based on Signal Temporal Logic with Uncertainty (STL-U) to compute a robustness degree interval, which indicates the extent to which a sequence of uncertain predictions satisfies or violates an STL-U requirement. We also develop a new loss function to guide the uncertainty calibration of Bayesian deep learning and a new adaptive control method, both of which leverage STL-U quantitative predictive monitoring results. We apply the proposed approach to two case studies: Type 1 Diabetes management and semi-autonomous driving. Experiments show that the proposed approach improves safety and effectiveness in both case studies. Shuyang Dong, Meiyi Ma, Josephine Lamp, Sebastian G. Elbaum, Matthew B. Dwyer, Lu Feng 0001 |
AAAI | 5 |
| 2025 | NeuralSAT: A High-Performance Verification Tool for Deep Neural NetworksabstractAbstract Deep Neural Networks (DNNs) are increasingly deployed in critical applications, where ensuring their safety and robustness is paramount. We present $$_\text {CAV25}$$ CAV 25 , a high-performance DNN verification tool that uses the DPLL(T) framework and supports a wide-range of network architectures and activation functions. Since its debut in VNN-COMP’23, in which it achieved the New Participant Award and ranked 4th overall, $$_\text {CAV25}$$ CAV 25 has advanced significantly, achieving second place in VNN-COMP’24. This paper presents and evaluates the latest development of $$_\text {CAV25}$$ CAV 25 , focusing on the versatility, ease of use, and competitive performance of the tool. $$_\text {CAV25}$$ CAV 25 is available at: https://github.com/dynaroars/neuralsat . ThanhVu Nguyen, Matthew B. Dwyer |
CAV (2) | 3 |
| 2025 | TOGLL: Correct and Strong Test Oracle Generation with LLMSabstractTest oracles play a crucial role in software testing, enabling effective bug detection. Despite initial promise, neural methods for automated test oracle generation often result in a large number of false positives and weaker test oracles. While LLMs have shown impressive effectiveness in various software engineering tasks, including code generation, test case creation, and bug fixing, there remains a notable absence of large-scale studies exploring their effectiveness in test oracle generation. The question of whether LLMs can address the challenges in effective oracle generation is both compelling and requires thorough investigation. In this research, we present the first comprehensive study to investigate the capabilities of LLMs in generating correct, diverse, and strong test oracles capable of effectively identifying a large number of unique bugs. To this end, we fine-tuned seven code LLMs using six distinct prompts on a large dataset consisting of 110 Java projects. Utilizing the most effective finetuned LLM and prompt pair, we introduce TOGLL, a novel LLM-based method for test oracle generation. To investigate the generalizability of TOGLL, we conduct studies on 25 unseen large-scale Java projects. Besides assessing the correctness, we also assess the diversity and strength of the generated oracles. We compare the results against EvoSuite and the state-of-the-art neural method, TOGA. Our findings reveal that TOGLL can produce 3.8 times more correct assertion oracles and 4.9 times more exception oracles than TOGA. Regarding bug detection effectiveness, TOGLL can detect 1,023 unique mutants that EvoSuite cannot, which is ten times more than what TOGA can detect. Additionally, TOGLL significantly outperforms TOGA in detecting real bugs from the Defects4J dataset. Soneya Binta Hossain, Matthew B. Dwyer |
ICSE | 2 |
| 2025 | Generating and Checking DNN Verification ProofsabstractDeep Neural Networks (DNN) have emerged as an effective approach to implementing challenging subproblems. They are increasingly being used as components in critical transportation, medical, and military systems. However, like human-written software, DNNs may have flaws that can lead to unsafe system performance. To confidently deploy DNNs in such systems, strong evidence is needed that they do not contain such flaws. This has led researchers to explore the adaptation and customization of software verification approaches to the problem of neural network verification (NNV).
Many dozens of NNV tools have been developed in recent years and as a field these techniques have matured to the point where realistic networks can be analyzed to detect flaws and to prove conformance with specifications. NNV tools are highly-engineered and complex may harbor flaws that cause them to produce unsound results.
We identify commonalities in algorithmic approaches taken by NNV tools to define a verifier independent proof format---activation pattern tree proofs (APTP)---and design an algorithm for checking those proofs that is proven correct and optimized to enable scalable checking. We demonstrate that existing verifiers can efficiently generate APTP proofs, and that an APTPchecker significantly outperforms prior work on a benchmark of 16 neural networks and 400 NNV problems, and that it is robust to variation in APTP proof structure arising from different NNV tools.
APTPchecker is available at: https://github.com/dynaroars/APTPchecker. ThanhVu Nguyen, Matthew B. Dwyer |
NeurIPS | 3 |
| 2025 | Compositional Neural Network Verification via Assume-Guarantee ReasoningabstractVerifying the behavior of neural networks is necessary if developers
are to confidently deploy them as parts of mission-critical systems.
Toward this end, researchers have been actively developing a range of increasingly sophisticated and scalable neural network verifiers.
However, scaling verification to large networks is challenging, at least in part due to the significant memory requirements of verification algorithms.
In this paper, we propose an assume-guarantee compositional framework, CoVeNN, that is parameterized by an underlying verifier to generate a sequence of verification sub-problems to address this challenge.
We present an iterative refinement-based strategy for computing assumptions
that allow sub-problems to retain sufficient accuracy.
An evaluation using 7 neural networks and a total of 140 property specifications demonstrates that CoVeNN can verify nearly 7 times more problems than state-of-the-art verifiers.
CoVeNN is part of the NeuralSAT verification project: https://github.com/dynaroars/neuralsat. David Shriver, ThanhVu Nguyen, Matthew B. Dwyer |
NeurIPS | 4 |
| 2025 | LabelAny3D: Label Any Object 3D in the WildabstractDetecting objects in 3D space from monocular input is crucial for applications ranging from robotics to scene understanding.
Despite advanced performance in the indoor and autonomous driving domains, existing monocular 3D detection models struggle with in-the-wild images due to the lack of 3D in-the-wild datasets and the challenges of 3D annotation. We introduce LabelAny3D, an analysis-by-synthesis framework that reconstructs holistic 3D scenes from 2D images to efficiently produce high-quality 3D bounding box annotations.
Built on this pipeline, we present COCO3D, a new benchmark for open-vocabulary monocular 3D detection, derived from the MS-COCO dataset and covering a wide range of object categories absent from existing 3D datasets. Experiments show that annotations generated by LabelAny3D improve monocular 3D detection performance across multiple benchmarks, outperforming prior auto-labeling approaches in quality. These results demonstrate the promise of foundation-model-driven annotation for scaling up 3D recognition in realistic, open-world settings. Radowan Mahmud Redoy, Sebastian G. Elbaum, Matthew B. Dwyer, Zezhou Cheng |
NeurIPS | 4 |
| 2025 | The SGSM framework: Enabling the specification and monitor synthesis of safe driving properties through scene graphs
Trey Woodlief, Felipe Toledo, Sebastian G. Elbaum, Matthew B. Dwyer |
Sci. Comput. Program. | 4 |
| 2025 | Ten Years of Journal First Publication in Software EngineeringabstractThe first journal-first paper presentations in software engineering were held at ICSE in 2015. A decade later journal-first publication in top software engineering journals has become a widely-used means to disseminate research results and has created a steady flow of scientific content to top conferences in the field. We recall the original goals of the journal-first initiative and chart its course over the past 10 years. We conclude with thoughts about how to develop a more consistent journal-oriented publication model for the field of software engineering. Matthew B. Dwyer |
IEEE Trans. Software Eng. | 1 |
| 2025 | T4PC: Training Deep Neural Networks for Property ConformanceabstractThe increasing integration of Deep Neural Networks (DNNs) into safety critical systems, such as Autonomous Vehicles (AVs), where failures can lead to significant consequences, has fostered the development of many Verification and Validation (V&V) techniques. However, these techniques are applied mainly after the DNN training process is complete. This delayed application of V&V techniques means that property violations found require restarting the expensive training process, and that V&V techniques struggle in pursuit of checking increasingly large and sophisticated DNNs. To address this issue, we propose T4PC, a framework to increase property conformanceduringDNN training. Increasing property conformance is achieved by enriching: 1) the data preparation phase to account for properties’ pre and postcondition satisfaction, and 2) the training phase to account for the property satisfaction by incorporating a newproperty lossterm that is integrated with the main loss. Our family of controlled experiments targeting a navigation DNN show that T4PC can effectively train it for conformance to single and multiple properties, and can also fine-tune for conformance an existing navigation DNN originally trained for accuracy. Our case study in simulation applying T4PC to fine-tune two open source AV systems operating in the CARLA simulator shows that it can reduce targeted driving violations while retaining its original driving capabilities. Felipe Toledo, Trey Woodlief, Sebastian G. Elbaum, Matthew B. Dwyer |
IEEE Trans. Software Eng. | 4 |
| 2024 | Specifying and Monitoring Safe Driving Properties with Scene GraphsabstractWith the proliferation of autonomous vehicles (AVs) comes the need to ensure they abide by safe driving properties. Specifying and monitoring such properties, however, is challenging because of the mismatch between the semantic space over which typical driving properties are asserted (e.g., vehicles, pedestrians, intersections) and the sensed inputs of AVs. Existing efforts either assume for such semantic data to be available or develop bespoke methods for capturing it. Instead, this work introduces a framework that can extract scene graphs (SGs) from sensor inputs to capture the entities related to the AV, and a domain-specific language that enables building propositions over those graphs and composing them through temporal logic. We implemented the framework to monitor for specification violations of 3 top AVs from the CARLA Autonomous Driving Leaderboard, and found that the AVs violated 71% of properties during at least one test. Artifact available at https://github.com/less-lab-uva/SGSM. Felipe Toledo, Trey Woodlief, Sebastian G. Elbaum, Matthew B. Dwyer |
ICRA | 4 |
| 2024 | CIT4DNN: Generating Diverse and Rare Inputs for Neural Networks Using Latent Space Combinatorial TestingabstractDeep neural networks (DNN) are being used in a wide range of applications including safety-critical systems. Several DNN test generation approaches have been proposed to generate fault-revealing test inputs. However, the existing test generation approaches do not systematically cover the input data distribution to test DNNs with diverse inputs, and none of the approaches investigate the relationship between rare inputs and faults. We propose cit4dnn, an automated black-box approach to generate DNN test sets that are feature-diverse and that comprise rare inputs. cit4dnn constructs diverse test sets by applying combinatorial interaction testing to the latent space of generative models and formulates constraints over the geometry of the latent space to generate rare and fault-revealing test inputs. Evaluation on a range of datasets and models shows that cit4dnn generated tests are more feature diverse than the state-of-the-art, and can target rare fault-revealing testing inputs more effectively than existing methods. Swaroopa Dola, Rory McDaniel, Matthew B. Dwyer, Mary Lou Soffa |
ICSE | 3 |
| 2024 | S3C: Spatial Semantic Scene Coverage for Autonomous VehiclesabstractAutonomous vehicles (AVs) must be able to operate in a wide range of scenarios including those in the long tail distribution that include rare but safety-critical events. The collection of sensor input and expected output datasets from such scenarios is crucial for the development and testing of such systems. Yet, approaches to quantify the extent to which a dataset covers test specifications that capture critical scenarios remain limited in their ability to discriminate between inputs that lead to distinct behaviors, and to render interpretations that are relevant to AV domain experts. To address this challenge, we introduce S3C, a framework that abstracts sensor inputs to coverage domains that account for the spatial semantics of a scene. The approach leverages scene graphs to produce a sensor-independent abstraction of the AV environment that is interpretable and discriminating. We provide an implementation of the approach and a study for camera-based autonomous vehicles operating in simulation. The findings show that S3C outperforms existing techniques in discriminating among classes of inputs that cause failures, and offers spatial interpretations that can explain to what extent a dataset covers a test specification. Further exploration of S3C with open datasets complements the study findings, revealing the potential and shortcomings of deploying the approach in the wild. Trey Woodlief, Felipe Toledo, Sebastian G. Elbaum, Matthew B. Dwyer |
ICSE | 4 |
| 2024 | Training for Verification: Increasing Neuron Stability to Scale DNN VerificationabstractAbstract With the growing use of deep neural networks(DNN) in mission and safety-critical applications, there is an increasing interest in DNN verification. Unfortunately, increasingly complex network structures, non-linear behavior, and high-dimensional input spaces combine to make DNN verification computationally challenging. Despite tremendous advances, DNN verifiers are still challenged to scale to large verification problems. In this work, we explore how the number of stable neurons under the precondition of a specification gives rise to verification complexity. We examine prior work on the problem, adapt it, and develop several novel approaches to increase stability. We demonstrate that neuron stability can be increased substantially without compromising model accuracy and this yields a multi-fold improvement in DNN verifier performance. Dong Xu 0021, Nusrat Jahan Mozumder, Matthew B. Dwyer |
TACAS (3) | 4 |
| 2024 | Algorithm Selection for Software Verification Using Graph Neural NetworksabstractThe field of software verification has produced a wide array of algorithmic techniques that can prove a variety of properties of a given program. It has been demonstrated that the performance of these techniques can vary up to 4 orders of magnitude on the same verification problem. Even for verification experts, it is difficult to decide which tool will perform best on a given problem. For general users, deciding the best tool for their verification problem is effectively impossible. In this work, we present Graves , a selection strategy based on graph neural networks (GNNs). Graves generates a graph representation of a program from which a GNN predicts a score for a verifier that indicates its performance on the program. We evaluate Graves on a set of 10 verification tools and over 8,000 verification problems and find that it improves the state-of-the-art in verification algorithm selection by 12%, or 8 percentage points. Further, it is able to verify 9% more problems than any existing verifier on our test set. Through a qualitative study on model interpretability, we find strong evidence that the Graves model learns to base its predictions on factors that relate to the unique features of the algorithmic techniques. Will Leeson, Matthew B. Dwyer |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2023 | A Framework for the Unsupervised Inference of Relations Between Sensed Object Spatial Distributions and Robot BehaviorsabstractThe spatial distribution of sensed objects strongly influences the behavior of mobile robots. Yet, as robots evolve in complexity to operate in increasingly rich environments, it becomes much more difficult to specify the underlying relations between sensed object spatial distributions and robot behaviors. We aim to address this challenge by leveraging system trace data to automatically infer relations that help to better characterize these spatial associations. In particular, we introduce SpRinG, a framework for the unsupervised inference of system specifications from traces that characterize the spatial relationships under which a robot operates. Our method builds on a parameterizable notion of reachability to encode relationships of spatial neighborship, which are used to instantiate a language of patterns. These patterns provide the structure to infer, from system traces, the connection between such relationships and robot behaviors. We show that SpRinG can automatically infer spatial relations over two distinct domains: autonomous vehicles in traffic and a surgical robot. Our results demonstrate the power and expressiveness of SpRinG, in its ability to learn existing specifications as machine-checkable first-order logic, uncover previously unstated specifications that are rich and insightful, and reveal contextual differences between executions. Christopher Morse, Lu Feng 0001, Matthew B. Dwyer, Sebastian G. Elbaum |
ICRA | 3 |
| 2023 | Measuring and Mitigating Gaps in Structural TestingabstractStructural code coverage is a popular test adequacy metric that measures the percentage of program structure (e.g., statement, branch, decision) executed by a test suite. While structural coverage has several benefits, previous studies suggested that code coverage is not a good indicator of a test suite's fault-detection effectiveness as coverage computation does not consider test oracle quality. In this research, we formally define the coverage gap in structural testing as the percentage of program structure that is executed but not observed by any test oracles. Our large-scale empirical study of 13 Java applications, 16K test cases and 51.6K test assertions shows that even for mature test suites, the gap can be as high as 51 percentage points (pp) and 34pp on average. Our study reveals that the coverage gap strongly and negatively correlates with a test suite's fault-detection effectiveness. To mitigate gaps, we propose a lightweight static analysis of program dependencies to produce a ranked recommendation of test focus methods that can reduce the gap and improve test suite quality. When considering 34.8K assertions in the test suite as ground truth, the recommender suggests two-thirds of the focus methods written by developers within the top five recommendations. Soneya Binta Hossain, Matthew B. Dwyer, Sebastian G. Elbaum, Anh Nguyen-Tuong |
ICSE | 2 |
| 2023 | Sibyl: Improving Software Engineering Tools with SMT SelectionabstractSMT solvers are often used in the back end of different software engineering tools─e.g., program verifiers, test generators, or program synthesizers. There are a plethora of algorithmic techniques for solving SMT queries. Among the available SMT solvers, each employs its own combination of algorithmic techniques that are optimized for different fragments of logics and problem types. The most efficient solver can change with small changes in the SMT query, which makes it nontrivial to decide which solver to use. Consequently, designers of software engineering tools often select a single solver, based on familiarity or convenience, and tailor their tool towards it. Choosing an SMT solver at design time misses the opportunity to optimize query solve times and, for tools where SMT solving is a bottleneck, the performance loss can be significant. In this work, we present Sibyl, an automated SMT selector based on graph neural networks (GNNs). Sibyl creates a graph representation of a given SMT query and uses GNNs to predict how each solver in a suite of SMT solvers would perform on said query. Sibyl learns to predict based on features of SMT queries that are specific to the population on which it is trained - avoiding the need for manual feature engineering. Once trained, Sibyl makes fast and accurate predictions which can substantially reduce the time needed to solve a set of SMT queries. We evaluate Sibyl in four scenarios in which SMT solvers are used: in competition, in a symbolic execution engine, in a bounded model checker, and in a program synthesis tool. We find that Sibyl improves upon the state of the art in nearly every case and provide evidence that it generalizes better than existing techniques. Further, we evaluate Sibyl's overhead and demonstrate that it has the potential to speedup a variety of different software engineering tools. Will Leeson, Matthew B. Dwyer, Antonio Filieri |
ICSE | 2 |
| 2023 | Neural-Based Test Oracle Generation: A Large-Scale Evaluation and Lessons LearnedabstractDefining test oracles is crucial and central to test development, but manual construction of oracles is expensive. While recent neural-based automated test oracle generation techniques have shown promise, their real-world effectiveness remains a compelling question requiring further exploration and understanding. This paper investigates the effectiveness of TOGA, a recently developed neural-based method for automatic test oracle generation. TOGA utilizes EvoSuite-generated test inputs and generates both exception and assertion oracles. In a Defects4j study, TOGA outperformed specification, search, and neural-based techniques, detecting 57 bugs, including 30 unique bugs not detected by other methods. To gain a deeper understanding of its applicability in real-world settings, we conducted a series of external, extended, and conceptual replication studies of TOGA. Soneya Binta Hossain, Antonio Filieri, Matthew B. Dwyer, Sebastian G. Elbaum, Willem Visser |
ESEC/SIGSOFT FSE | 3 |
| 2023 | Deeper Notions of Correctness in Image-Based DNNs: Lifting Properties from Pixel to EntitiesabstractDeep Neural Networks (DNNs) that process images are being widely used for many safety-critical tasks, from autonomous vehicles to medical diagnosis. Currently, DNN correctness properties are defined at the pixel level over the entire input. Such properties are useful to expose system failures related to sensor noise or adversarial attacks, but they cannot capture features that are relevant to domain-specific entities and reflect richer types of behaviors. To overcome this limitation, we envision the specification of properties based on the entities that may be present in image input, capturing their semantics and how they change. Creating such properties today is difficult as it requires determining where the entities appear in images, defining how each entity can change, and writing a specification that is compatible with each particular V&V client. We introduce an initial framework structured around those challenges to assist in the generation of Domain-specific Entity-based properties automatically by leveraging object detection models to identify entities in images and creating properties based on entity features. Our feasibility study provides initial evidence that the new properties can uncover interesting system failures, such as changes in skin color can modify the output of a gender classification network. We conclude by analyzing the framework potential to implement the vision and by outlining directions for future work. Felipe Toledo, David Shriver, Sebastian G. Elbaum, Matthew B. Dwyer |
ESEC/SIGSOFT FSE | 4 |
| 2023 | Input Distribution Coverage: Measuring Feature Interaction Adequacy in Neural Network TestingabstractTestingdeep neural networks (DNNs)has garnered great interest in the recent years due to their use in many applications. Black-box test adequacy measures are useful for guiding the testing process in covering the input domain. However, the absence of input specifications makes it challenging to apply black-box test adequacy measures in DNN testing. TheInput Distribution Coverage (IDC)framework addresses this challenge by using a variational autoencoder to learn a low dimensional latent representation of the input distribution, and then using that latent space as a coverage domain for testing. IDC applies combinatorial interaction testing on a partitioning of the latent space to measure test adequacy. Empirical evaluation demonstrates that IDC is cost-effective, capable of detecting feature diversity in test inputs, and more sensitive than prior work to test inputs generated using different DNN test generation methods. The findings demonstrate that IDC overcomes several limitations of white-box DNN coverage approaches by discounting coverage from unrealistic inputs and enabling the calculation of test adequacy metrics that capture the feature diversity present in the input space of DNNs. Swaroopa Dola, Matthew B. Dwyer, Mary Lou Soffa |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2022 | Message from the ICSE 2022 General Chair
Matthew B. Dwyer |
ICSE | 1 |
| 2022 | Optimal Finite-State Monitoring of Partial Traces
Peeyush Kushwaha, Rahul Purandare, Matthew B. Dwyer |
RV | 3 |
| 2022 | Graves-CPA: A Graph-Attention Verifier Selector (Competition Contribution)abstractAbstract Graves-CPA is a verification tool which uses algorithm selection to decide an ordering of underlying verifiers to most effectively verify a given program. Graves-CPA represents programs using an amalgam of traditional program graph representations and uses state-of-the-art graph neural network techniques to dynamically decide how to run a set of verification techniques. The Graves technique is implementation agnostic, but it’s competition submission, Graves-CPA, is built using several CPAchecker configurations as its underlying verifiers. Will Leeson, Matthew B. Dwyer |
TACAS (2) | 2 |
| 2022 | Conditional Quantitative Program AnalysisabstractStandards for certifying safety-critical systems have evolved to permit the inclusion of evidence generated by program analysis and verification techniques. The past decade has witnessed the development of several program analyses that are capable of computing guarantees on bounds for the probability of failure. This paper develops a novel program analysis framework, CQA, that combines evidence from different underlying analyses to compute bounds on failure probability. It reports on an evaluation of different CQA-enabled analyses and implementations of state-of-the-art quantitative analyses to evaluate their relative strengths and weaknesses. To conduct this evaluation, we filter an existing verification benchmark to reflect certification evidence generation challenges. Our evaluation across the resulting set of 136 C programs, totaling more than 385k SLOC, each with a probability of failure below$10^{-4}$, demonstrates how CQA extends the state-of-the-art. The CQA infrastructure, including tools, subjects, and generated data is publicly available atbitbucket.org/mgerrard/cqa. Mitchell J. Gerrard, Mateus Borges, Matthew B. Dwyer, Antonio Filieri |
IEEE Trans. Software Eng. | 3 |
| 2022 | Using Symbolic States to Infer Numerical InvariantsabstractAutomatically inferring invariant specifications has proven valuable in enabling a wide range of software verification and validation approaches over the past two decades. Recent approaches have shifted from using observation of concrete program states to exploiting symbolic encodings of sets of concrete program states in order to improve the quality of inferred invariants. In this paper, we demonstrate that working directly with symbolic states generated by symbolic execution approaches can improve invariant inference further. Our technique uses a counterexample-based algorithm that iteratively creates concrete states from symbolic states, infers candidate invariants from both concrete and symbolic states, and then validates or refutes candidate invariants using symbolic states. The refutation process serves both to eliminate spurious invariants and to drive the inference process to produce more precise invariants. This framework can be employed to infer complex invariants that capture nonlinear polynomial relations among program variables. The open-source SymInfer tool implements these ideas to automatically generate invariants at arbitrary locations in Java or C programs. Our preliminary results show that across a collection of four benchmarks SymInfer improves on the state-of-the-art by efficiently inferring more informative invariants than prior work. ThanhVu Nguyen, KimHao Nguyen, Matthew B. Dwyer |
IEEE Trans. Software Eng. | 3 |
| 2021 | DNNV: A Framework for Deep Neural Network VerificationabstractAbstract Despite the large number of sophisticated deep neural network (DNN) verification algorithms, DNN verifier developers, users, and researchers still face several challenges. First, verifier developers must contend with the rapidly changing DNN field to support new DNN operations and property types. Second, verifier users have the burden of selecting a verifier input format to specify their problem. Due to the many input formats, this decision can greatly restrict the verifiers that a user may run. Finally, researchers face difficulties in re-using benchmarks to evaluate and compare verifiers, due to the large number of input formats required to run different verifiers. Existing benchmarks are rarely in formats supported by verifiers other than the one for which the benchmark was introduced. In this work we present DNNV, a framework for reducing the burden on DNN verifier researchers, developers, and users. DNNV standardizes input and output formats, includes a simple yet expressive DSL for specifying DNN properties, and provides powerful simplification and reduction operations to facilitate the application, development, and comparison of DNN verifiers. We show how DNNV increases the support of verifiers for existing benchmarks from 30% to 74%. David Shriver, Sebastian G. Elbaum, Matthew B. Dwyer |
CAV (1) | 3 |
| 2021 | Distribution-Aware Testing of Neural Networks Using Generative ModelsabstractThe reliability of software that has a Deep Neural Network (DNN) as a component is urgently important today given the increasing number of critical applications being deployed with DNNs. The need for reliability raises a need for rigorous testing of the safety and trustworthiness of these systems. In the last few years, there have been a number of research efforts focused on testing DNNs. However the test generation techniques proposed so far lack a check to determine whether the test inputs they are generating are valid, and thus invalid inputs are produced. To illustrate this situation, we explored three recent DNN testing techniques. Using deep generative model based input validation, we show that all the three techniques generate significant number of invalid test inputs. We further analyzed the test coverage achieved by the test inputs generated by the DNN testing techniques and showed how invalid test inputs can falsely inflate test coverage metrics. To overcome the inclusion of invalid inputs in testing, we propose a technique to incorporate the valid input space of the DNN model under test in the test generation process. Our technique uses a deep generative model-based algorithm to generate only valid inputs. Results of our empirical studies show that our technique is effective in eliminating invalid tests and boosting the number of valid test inputs generated. Swaroopa Dola, Matthew B. Dwyer, Mary Lou Soffa |
ICSE | 2 |
| 2021 | Reducing DNN Properties to Enable Falsification with Adversarial AttacksabstractDeep Neural Networks (DNN) are increasingly being deployed in safety-critical domains, from autonomous vehicles to medical devices, where the consequences of errors demand techniques that can provide stronger guarantees about behavior than just high test accuracy. This paper explores broadening the application of existing adversarial attack techniques for the falsification of DNN safety properties. We contend and later show that such attacks provide a powerful repertoire of scalable algorithms for property falsification. To enable the broad application of falsification, we introduce a semantics-preserving reduction of multiple safety property types, which subsume prior work, into a set of equivalid correctness problems amenable to adversarial attacks. We evaluate our reduction approach as an enabler of falsification on a range of DNN correctness problems and show its cost-effectiveness and scalability. David Shriver, Sebastian G. Elbaum, Matthew B. Dwyer |
ICSE | 3 |
| 2021 | Distribution Models for Falsification and Verification of DNNsabstractDNN validation and verification approaches that are input distribution agnostic waste effort on irrelevant inputs and report false property violations. Drawing on the large body of work on model-based validation and verification of traditional systems, we introduce the first approach that leverages environmental models to focus DNN falsification and verification on the relevant input space. Our approach, DFV, automatically builds an input distribution model using unsupervised learning, prefixes that model to the DNN to force all inputs to come from the learned distribution, and reformulates the property to the input space of the distribution model. This transformed verification problem allows existing DNN falsification and verification tools to target the input distribution – avoiding consideration of infeasible inputs. Our study of DFV with 7 falsification and verification tools, two DNNs defined over different data sets, and 93 distinct distribution models, provides clear evidence that the counterexamples found by the tools are much more representative of the data distribution, and it shows how the performance of DFV varies across domains, models, and tools. Felipe Toledo, David Shriver, Sebastian G. Elbaum, Matthew B. Dwyer |
ASE | 4 |
| 2020 | Systematic Generation of Diverse Benchmarks for DNN VerificationabstractThe field of verification has advanced due to the interplay of theoretical development and empirical evaluation. Benchmarks play an important role in this by supporting the assessment of the state-of-the-art and comparison of alternative verification approaches. Recent years have witnessed significant developments in the verification of deep neural networks, but diverse benchmarks representing the range of verification problems in this domain do not yet exist. This paper describes a neural network verification benchmark generator, GDVB , that systematically varies aspects of problems in the benchmark that influence verifier performance. Through a series of studies, we illustrate how GDVB can assist in advancing the sub-field of neural network verification by more efficiently providing richer and less biased sets of verification problems. Dong Xu 0021, David Shriver, Matthew B. Dwyer, Sebastian G. Elbaum |
CAV (1) | 3 |
| 2020 | Feasible and stressful trajectory generation for mobile robotsabstractWhile executing nominal tests on mobile robots is required for their validation, such tests may overlook faults that arise under trajectories that accentuate certain aspects of the robot's behavior. Uncovering such stressful trajectories is challenging as the input space for these systems, as they move, is extremely large, and the relation between a planned trajectory and its potential to induce stress can be subtle. To address this challenge we propose a framework that 1) integrates kinematic and dynamic physical models of the robot into the automated trajectory generation in order to generate valid trajectories, and 2) incorporates a parameterizable scoring model to efficiently generate physically valid yet stressful trajectories for a broad range of mobile robots. We evaluate our approach on four variants of a state-of-the-art quadrotor in a racing simulator. We find that, for non-trivial length trajectories, the incorporation of the kinematic and dynamic model is crucial to generate any valid trajectory, and that the approach with the best hand-crafted scoring model and with a trained scoring model can cause on average a 55.9% and 41.3% more stress than a random selection among valid trajectories. A follow-up study shows that the approach was able to induce similar stress on a deployed commercial quadrotor, with trajectories that deviated up to 6m from the intended ones. Carl Hildebrandt, Sebastian G. Elbaum, Nicola Bezzo, Matthew B. Dwyer |
ISSTA | 4 |
| 2019 | Evaluating Recommender System Stability with Influence-Guided FuzzingabstractRecommender systems help users to find products or services they may like when lacking personal experience or facing an overwhelming set of choices. Since unstable recommendations can lead to distrust, loss of profits, and a poor user experience, it is important to test recommender system stability. In this work, we present an approach based on inferred models of influence that underlie recommender systems to guide the generation of dataset modifications to assess a recommender’s stability. We implement our approach and evaluate it on several recommender algorithms using the MovieLens dataset. We find that influence-guided fuzzing can effectively find small sets of modifications that cause significantly more instability than random approaches. David Shriver, Sebastian G. Elbaum, Matthew B. Dwyer, David S. Rosenblum |
AAAI | 3 |
| 2018 | Structurally Defined Conditional Data-Flow Static Analysis
Elena Sherman, Matthew B. Dwyer |
TACAS (2) | 2 |
| 2018 | State of the JournalabstractPresents the state of the journal for this issue of the publication. Matthew B. Dwyer |
IEEE Trans. Software Eng. | 1 |
| 2017 | Comprehensive failure characterizationabstractThere is often more than one way to trigger a fault. Standard static and dynamic approaches focus on exhibiting a single witness for a failing execution. In this paper, we study the problem of computing a comprehensive characterization which safely bounds all failing program behavior while exhibiting a diversity of witnesses for those failures. This information can be used to facilitate software engineering tasks ranging from fault localization and repair to quantitative program analysis for reliability. Our approach combines the results of overapproximating and underapproximating static analyses in an alternating iterative framework to produce upper and lower bounds on the failing input space of a program, which we call a comprehensive failure characterization (CFC). We evaluated a prototype implementation of this alternating framework on a set of 168 C programs from the SV-COMP benchmarks, and the data indicate that it is possible to efficiently, accurately, and safely characterize failure spaces. Mitchell J. Gerrard, Matthew B. Dwyer |
ASE | 2 |
| 2017 | SymInfer: inferring program invariants using symbolic statesabstractWe introduce a new technique for inferring program invariants that uses symbolic states generated by symbolic execution. Symbolic states, which consist of path conditions and constraints on local variables, are a compact description of sets of concrete program states and they can be used for both invariant inference and invariant verification. Our technique uses a counterexample-based algorithm that creates concrete states from symbolic states, infers candidate invariants from concrete states, and then verifies or refutes candidate invariants using symbolic states. The refutation case produces concrete counterexamples that prevent spurious results and allow the technique to obtain more precise invariants. This process stops when the algorithm reaches a stable set of invariants. We present Symlnfer, a tool that implements these ideas to automatically generate invariants at arbitrary locations in a Java program. The tool obtains symbolic states from Symbolic PathFinder and uses existing algorithms to infer complex (potentially nonlinear) numerical invariants. Our preliminary results show that Symlnfer is effective in using symbolic states to generate precise and useful invariants for proving program safety and analyzing program runtime complexity. We also show that Symlnfer outperforms existing invariant generation systems. ThanhVu Nguyen, Matthew B. Dwyer, Willem Visser |
ASE | 2 |
| 2017 | Improving Timeliness and Visibility in Publishing Software Engineering ResearchabstractReports on initiatives to improve and enhance the IEEE Transactions on Software Engineering. Matthew B. Dwyer |
IEEE Trans. Software Eng. | 1 |
| 2016 | On the techniques we create, the tools we build, and their misalignments: a study of KLEEabstractOur community constantly pushes the state-of-the-art by introducing "new" techniques. These techniques often build on top of, and are compared against, existing systems that realize previously published techniques. The underlying assumption is that existing systems correctly represent the techniques they implement. This paper examines that assumption through a study of KLEE, a popular and well-cited tool in our community. We briefly describe six improvements we made to KLEE, none of which can be considered "new" techniques, that provide order-of-magnitude performance gains. Given these improvements, we then investigate how the results and conclusions of a sample of papers that cite KLEE are affected. Our findings indicate that the strong emphasis on introducing "new" techniques may lead to wasted effort, missed opportunities for progress, an accretion of artifact complexity, and questionable research conclusions (in our study, 27% of the papers that depend on KLEE can be questioned). We conclude by revisiting initiatives that may help to realign the incentives to better support the foundations on which we build. Eric F. Rizzi, Sebastian G. Elbaum, Matthew B. Dwyer |
ICSE | 3 |
| 2016 | CIVL: Applying a General Concurrency Verification Framework to C/Pthreads Programs (Competition Contribution)
Manchun Zheng, John G. Edenhofner, Ziqing Luo, Mitchell J. Gerrard, Michael S. Rogers, Matthew B. Dwyer, Stephen F. Siegel |
TACAS | 6 |
| 2016 | Code search with input/output queries: Generalizing, ranking, and assessment
Kathryn T. Stolee, Sebastian G. Elbaum, Matthew B. Dwyer |
J. Syst. Softw. | 3 |
| 2016 | Connecting and Serving the Software Engineering CommunityabstractPresents an editorial discusses the current status and activities supported by this publication. Matthew B. Dwyer, Eric Bodden, Brian Fitzgerald 0001, Miryung Kim, Sunghun Kim 0001, Amy J. Ko, Emilia Mendes, Raffaela Mirandola, Ana Moreira 0001, Forrest Shull, Stephen F. Siegel, Tao Xie 0001 |
IEEE Trans. Software Eng. | 1 |
| 2016 | Editorial: Journal-First Publication for the Software Engineering CommunityabstractPresents the introductory editorial for this issue of the publication. Matthew B. Dwyer, David S. Rosenblum |
IEEE Trans. Software Eng. | 1 |
| 2015 | Exploiting Domain and Program Structure to Synthesize Efficient and Precise Data Flow Analyses (T)abstractA key challenge in implementing an efficient and precise data flow analysis is determining how to abstract the domain of values that a program variable can take on and how to update abstracted values to reflect program semantics. Such updates are performed by a transfer function and recent work by Thakur, Elder and Reps defined the bilateral algorithm for computing the most precise transfer function for a given abstract domain. In this paper, we identify and exploit the special case where abstract domains are comprised of disjoint subsets. For such domains, transfer functions computed using a customized algorithm can improve performance and in combination with symbolic modeling of block-level transfer functions improve precision as well. We implemented these algorithms in Soot and used them to perform data flow analysis on more than 100 non-trivial Java methods drawn from open source projects. Our experimental data are promising as they demonstrate that a 25-fold reduction in analysis time can be achieved and precision can be increased relative to existing methods. Elena Sherman, Matthew B. Dwyer |
ASE | 2 |
| 2015 | CIVL: Formal Verification of Parallel ProgramsabstractCIVL is a framework for static analysis and verification of concurrent programs. One of the main challenges to practical application of these techniques is the large number of ways to express concurrency: MPI, OpenMP, CUDA, and Pthreads, for example, are just a few of many "concurrency dialects" in wide use today. These dialects are constantly evolving and it is increasingly common to use several of them in a single "hybrid" program. CIVL addresses these problems by providing a concurrency intermediate verification language, CIVL-C, as well as translators that consume C programs using these dialects and produce CIVL-C. Analysis and verification tools which operate on CIVL-C can then be applied easily to a wide variety of concurrent C programs. We demonstrate CIVL's error detection and verification capabilities on (1) an MPI+OpenMP program that estimates π and contains a subtle race condition, and (2) an MPI-based 1d-wave simulator that fails to conform to a simple sequential implementation. Manchun Zheng, Michael S. Rogers, Ziqing Luo, Matthew B. Dwyer, Stephen F. Siegel |
ASE | 4 |
| 2015 | CIVL: the concurrency intermediate verification languageabstractThere are many ways to express parallel programs: message-passing libraries (MPI) and multithreading/GPU language extensions such as OpenMP, Pthreads, and CUDA, are but a few. This multitude creates a serious challenge for developers of software verification tools: it takes enormous effort to develop such tools, but each development effort typically targets one small part of the concurrency landscape, with little sharing of techniques and code among efforts. Stephen F. Siegel, Manchun Zheng, Ziqing Luo, Timothy K. Zirkel, Andre V. Marianiello, John G. Edenhofner, Matthew B. Dwyer, Michael S. Rogers |
SC | 7 |
| 2015 | Editorial Journal-First Publication for the Software Engineering CommunityabstractNo abstract available. Matthew B. Dwyer, David S. Rosenblum |
ACM Trans. Softw. Eng. Methodol. | 1 |
| 2015 | Deciding Type-Based Partial-Order Constraints for Path-Sensitive AnalysisabstractThe precision and scalability of path-sensitive program analyses depend on their ability to distinguish feasible and infeasible program paths. Analyses express path feasibility as the satisfiability of conjoined branch conditions, which is then decided by cooperating decision procedures such as those in satisfiability modulo theory (SMT) solvers. Consequently, efficient underlying decision procedures are key to precise, scalable program analyses. When we investigate the branch conditions accumulated by inter-procedural path-sensitive analyses of object-oriented programs, we find that many relate to an object's dynamic type. These conditions arise from explicit type tests and the branching implicit in dynamic dispatch and type casting. These conditions share a common form that comprises a fragment of the theory of partial orders, which we refer to as type-based partial orders (TPO) . State-of-the-art SMT solvers can heuristically instantiate the quantified formulae that axiomatize partial orders, and thereby support TPO constraints. We present two custom decision procedures with significantly better performance. On benchmarks that reflect inter-procedural path-sensitive analyses applied to significant Java systems, the custom procedures run three orders of magnitude faster. The performance of the two decision procedures varies across benchmarks, which suggests that a portfolio approach may be beneficial for solving constraints generated by program analyses. Elena Sherman, Brady J. Garvin, Matthew B. Dwyer |
ACM Trans. Softw. Eng. Methodol. | 3 |
| 2015 | State of the Journal EditorialabstractReports on the state of the journal. Matthew B. Dwyer |
IEEE Trans. Software Eng. | 1 |
| 2014 | Exact and approximate probabilistic symbolic execution for nondeterministic programsabstractProbabilistic software analysis seeks to quantify the likelihood of reaching a target event under uncertain environments. Recent approaches compute probabilities of execution paths using symbolic execution, but do not support nondeterminism. Nondeterminism arises naturally when no suitable probabilistic model can capture a program behavior, e.g., for multithreading or distributed systems. Kasper Søe Luckow, Corina Pasareanu, Matthew B. Dwyer, Antonio Filieri, Willem Visser |
ASE | 3 |
| 2014 | Beyond the rainbow: self-adaptive failure avoidance in configurable systemsabstractSelf-adaptive software systems monitor their state and then adapt when certain conditions are met, guided by a global utility function. In prior work we developed algorithms and conducted a post-hoc analysis demonstrating the possibility of adapting to software failures by judiciously changing configurations. In this paper we present the REFRACT framework that realizes this idea in practice by building on the self-adaptive Rainbow architecture. REFRACT extends Rainbow with new components and algorithms targeting failure avoidance. We use REFRACT in a case study running four independently executing Firefox clients with 36 passing test cases and 7 seeded faults. The study show that workarounds for all but one of the seeded faults are found and the one that is not found never fails -- it is guarded from failing by a related workaround. Moreover, REFRACT finds workarounds for eight configuration-related unseeded failures from tests that were expected to pass (and did under the default configuration). Finally, the data show that when a failure and its workaround are found, configuration guards prevent the failure from appearing again. In a simulation lasting 24 hours we see over 150 guard activations and no failures with workarounds remaining beyond 16 hours. Jacob Swanson, Myra B. Cohen, Matthew B. Dwyer, Brady J. Garvin, Justin W. Firestone |
SIGSOFT FSE | 3 |
| 2013 | Optimizing monitoring of finite state properties through monitor compactionabstractRuntime monitoring has proven effective in detecting property violations, but it can incur high overhead when monitoring just a single property - particularly when the property relates multiple objects. In practice developers will likely monitor multiple properties in the same execution which will lead to even higher overhead. Rahul Purandare, Matthew B. Dwyer, Sebastian G. Elbaum |
ISSTA | 2 |
| 2012 | Integration Testing of Software Product Lines Using Compositional Symbolic Execution
Jiangfan Shi, Myra B. Cohen, Matthew B. Dwyer |
FASE | 3 |
| 2012 | Sensing through the continent: towards monitoring migratory birds using cellular sensor networksabstractThis paper presents CraneTracker, a novel sensor platform for monitoring migratory birds. The platform is designed to monitor Whooping Cranes, an endangered species that conducts an annual migration of 4,000 km between southern Texas and north-central Canada. CraneTracker includes a rich set of sensors, a multi-modal radio, and power control circuitry for sustainable, continental-scale information delivery during migration. The need for large-scale connectivity motivates the use of cellular technology in low-cost sensor platforms augmented by a low-power transceiver for ad-hoc connectivity. This platform leads to a new class of cellular sensor networks (CSNs) for time-critical and mobile sensing applications. The CraneTracker is evaluated via field tests on Wild Turkeys, Siberian Cranes, and an on-going alpha deployment with wild Sandhill Cranes. Experimental evaluations demonstrate the potential of energy-harvesting CSNs for wildlife monitoring in large geographical areas, and reveal important insights into the movements and behaviors of migratory animals. In addition to benefiting ecological research, the developed platform is expected to extend the application domain of sensor networks and enable future research applications. David J. Anthony, William P. Bennett, Mehmet Can Vuran, Matthew B. Dwyer, Sebastian G. Elbaum, Anne Lacy, Mike Engels, Walter Wehtje |
IPSN | 4 |
| 2012 | Extracting conditional component dependence for distributed robotic systemsabstractModern robotics systems rely on distributed event-based frameworks to facilitate the assembly of software out of collections of reusable components. These frameworks express component dependencies in data that encode event publish-subscribe relations. This loosely coupled architecture makes it difficult for developers to understand the dependencies and to predict the impacts of a change to a component as the components grow in number and complexity. Moreover, this encoding of dependencies renders traditional techniques for analyzing component dependencies inapplicable, because the dependencies are bound by communication channels rather than data. In this work, we present a program analysis technique that automatically extracts a model of component dependencies from distributed system source code. This model identifies not only the temporal dependencies among components, but also the conditions under which those dependencies are realized. We have implemented the analysis and applied it to systems developed in ROS. The resulting models are succinct and precise, which suggests that programmers will find them comprehensible, and they can be used to document important global dependencies in a system, to compare different versions to identify the impacts of component changes, and to help locate errors. Rahul Purandare, Javier Darsie, Sebastian G. Elbaum, Matthew B. Dwyer |
IROS | 4 |
| 2012 | Probabilistic symbolic executionabstractThe continued development of efficient automated decision procedures has spurred the resurgence of research on symbolic execution over the past decade. Researchers have applied symbolic execution to a wide range of software analysis problems including: checking programs against contract specifications, inferring bounds on worst-case execution performance, and generating path-adequate test suites for widely used library code. Jaco Geldenhuys, Matthew B. Dwyer, Willem Visser |
ISSTA | 2 |
| 2012 | Compositional load test generation for software pipelinesabstractLoad tests validate whether a system’s performance is acceptable under extreme conditions. Traditional load testing approaches are black-box, inducing load by increasing the size or rate of the input. Symbolic execution based load testing techniques complement traditional approaches by enabling the selection of precise input values. However, as the programs under analysis or their required inputs increase in size, the analyses required by these techniques either fail to scale up or sacrifice test effectiveness. We propose a new approach that addresses this limitation by performing load test generation compositionally. It uses existing symbolic execution based techniques to analyze the performance of each system component in isolation, summarizes the results of those analyses, and then performs an analysis across those summaries to generate load tests for the whole system. In its current form, the approach can be applied to any system that is structured in the form of a software pipeline. A study of the approach revealed that it can generate effective load tests for Unix and XML pipelines while outperforming state-of-the-art techniques. Pingyu Zhang, Sebastian G. Elbaum, Matthew B. Dwyer |
ISSTA | 3 |
| 2012 | Green: reducing, reusing and recycling constraints in program analysisabstractThe analysis of constraints plays an important role in many aspects of software engineering, for example constraint satisfiability checking is central to symbolic execution. However, the norm is to recompute results in each analysis. We propose a different approach where every call to the solver is wrapped in a check to see if the result is not already available. While many tools use some form of results caching, the novelty of our approach is the persistence of results across runs, across programs being analyzed, across different analyses and even across physical location. Achieving such reuse requires that constraints be distilled into their essential parts and represented in a canonical form. Willem Visser, Jaco Geldenhuys, Matthew B. Dwyer |
SIGSOFT FSE | 3 |
| 2012 | The hidden models of model checking
Willem Visser, Matthew B. Dwyer, Michael W. Whalen |
Softw. Syst. Model. | 2 |
| 2011 | Unifying testing and analysis through behavioral coverageabstractSummary form only given. The primary technical goal of this work is the development of a comprehensive approach to perimeter protection for critical infrastructure and industrial sites. The approach taken is to combine both video and non-video sensors so as to produce a real-time system capable of tracking objects of interest and of detecting potential events that may warrant the attention of security officials. A summary of the system architecture is shown in Figure 1. System modules include: • The ability to detect and track people using both visual and radar based sensors. • The detection of articulated motions as well as complex and abnormal events. • The application of object recognition to detected left behind objects. Matthew B. Dwyer |
ASE | 1 |
| 2011 | Automatic generation of load testsabstractLoad tests aim to validate whether system performance is acceptable under peak conditions. Existing test generation techniques induce load by increasing the size or rate of the input. Ignoring the particular input values, however, may lead to test suites that grossly mischaracterize a system's performance. To address this limitation we introduce a mixed symbolic execution based approach that is unique in how it 1) favors program paths associated with a performance measure of interest, 2) operates in an iterative-deepening beam-search fashion to discard paths that are unlikely to lead to high-load tests, and 3) generates a test suite of a given size and level of diversity. An assessment of the approach shows it generates test suites that induce program response times and memory consumption several times worse than the compared alternatives, it scales to large and complex inputs, and it exposes a diversity of resource consuming program behavior. Pingyu Zhang, Sebastian G. Elbaum, Matthew B. Dwyer |
ASE | 3 |
| 2011 | SOS: saving time in dynamic race detection with stationary analysisabstractData races are subtle and difficult to detect errors that arise during concurrent program execution. Traditional testing techniques fail to find these errors, but recent research has shown that targeted dynamic analysis techniques can be developed to precisely detect races (i.e., no false race reports are generated) that occur during program execution. Unfortunately, precise race detection is still too expensive to be used in practice. State-of-the-art techniques still slow down program execution by a factor of eight or more. In this paper, we incorporate an optimization technique based on the observation that many thread-shared objects are written early in their lifetimes and then become read-only for the remainder of their lifetimes; these are known as stationary objects. The main contribution of our work is the insight that once a stationary object becomes thread-shared, races cannot occur. Therefore, our proposed approach does not monitor access to these objects. As such, our system only incurs an average overhead of 45% of that of an implementation of FastTrack, a low-overhead dynamic race detector. We then compared the effectiveness of our approach to de- tect races in deployed environments with that of Pacer, a sampling based race detector based on FastTrack. We found that our approach can detect over five times more races than Pacer when we budget 50% for runtime overhead. Du Li, Witawas Srisa-an, Matthew B. Dwyer |
OOPSLA | 3 |
| 2011 | Response Time Analysis of Hierarchical Scheduling: The Synchronized Deferrable Servers ApproachabstractHierarchical scheduling allows reservation of processor bandwidth and the use of different schedulers for different applications on a single platform. We propose a hierarchical scheduling interface called synchronized deferrable servers that can reserve different processor bandwidth on each core, and can combine global and partitioned scheduling on a multicore platform. Significant challenges will arise in the response time analysis of a task set if the tasks are globally scheduled on a multiprocessor platform and the processor bandwidth reserved for the tasks on each processor is different, as a result, existing works on response time analysis for dedicated scheduling on identical multiprocessor platforms are no longer applicable. A new response time analysis that overcomes these challenges is presented and evaluated by simulations. Based on this new analysis, we show that evenly allocating bandwidth across cores is "better" than other allocation schemes in terms of schedulability, and that the threshold between lightweight and heavyweight tasks under hierarchical scheduling may be different from the threshold under dedicated scheduling. Steve Goddard, Matthew B. Dwyer |
RTSS | 3 |
| 2011 | Monitoring Finite State Properties: Algorithmic Approaches and Their Relative Strengths
Rahul Purandare, Matthew B. Dwyer, Sebastian G. Elbaum |
RV | 2 |
| 2011 | Evaluating improvements to a meta-heuristic search for constrained interaction testing
Brady J. Garvin, Myra B. Cohen, Matthew B. Dwyer |
Empir. Softw. Eng. | 3 |
| 2011 | Lattice-Based Sampling for Path Property MonitoringabstractRuntime monitoring can provide important insights about a program’s behavior and, for simple properties, it can be done efficiently. Monitoring properties describing sequences of program states and events, however, can result in significant runtime overhead. This is particularly critical when monitoring programs deployed at user sites that have low tolerance for overhead. In this paper we present a novel approach to reducing the cost of runtime monitoring of path properties. A set of original properties are composed to form a single integrated property that is then systematically decomposed into a set of properties that encode necessary conditions for property violations. The resulting set of properties forms a lattice whose structure is exploited to select a sample of properties that can lower monitoring cost, while preserving violation detection power relative to the original properties. The lattice is then complemented with a weighting scheme that assigns each property a different priority that can be adjusted continuously to better drive the property sampling process. Our evaluation using the Hibernate API reveals that our approach produces a rich, structured set of properties that enables control of monitoring overhead, while detecting more violations more quickly than alternative techniques. Madeline Diep, Matthew B. Dwyer, Sebastian G. Elbaum |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2010 | Exploiting Partial Success in Applying Automated Formal Methods
Matthew B. Dwyer |
ICFEM | 1 |
| 2010 | Simulating and testing mobile wireless sensor networksabstractDeveloping applications for wireless sensor networks (WSNs) can provide many challenges. Environmental conditions have a large impact on the behavior of an application, but it may not be feasible to replicate the conditions of the deployment environment while creating the application. Furthermore, long-term deployment of monitoring applications require extensive pre-deployment analysis of such applications since the sensors cannot be accessed after their deployment. Through a combination of simulation and software engineering practices, it is possible to rigorously test and validate the software for WSNs. In this paper, several methods for simulating distributed mobile WSNs and testing the software are provided. These methods are used in the development of a WSN that was deployed to track Whooping Cranes during their year long migration. David J. Anthony, William P. Bennett, Mehmet Can Vuran, Matthew B. Dwyer, Sebastian G. Elbaum, Felipe Chavez-Ramirez |
MSWiM | 4 |
| 2010 | Monitor optimization via stutter-equivalent loop transformationabstractThere has been significant interest in equipping programs with runtime checks aimed at detecting errors to improve fault detection during testing and in the field. Recent work in this area has studied methods for efficiently monitoring a program execution's conformance to path property specifications, e.g., such as those captured by a finite state automaton. These techniques show great promise, but their broad applicability is hampered by the fact that for certain combinations of programs and properties the overhead of checking can slow the program down by up to 3500%. Rahul Purandare, Matthew B. Dwyer, Sebastian G. Elbaum |
OOPSLA | 2 |
| 2010 | Selecting Server Parameters for Predictable Runtime MonitoringabstractApplication of runtime monitoring to maintain the health of an embedded real-time software system requires that anomalous behavior be detected within a bounded time while preserving the temporal guarantees of the underlying system. Existing results can compute bounds on the detection latency of runtime monitors that are realized as a deferrable server running at the highest priority. In this paper, we generalize those results to allow monitors to run at an arbitrary priority. We also present an analysis of queue length in predictable runtime monitoring, which allows one to compute an upper bound on queue length. When implementing predictable runtime monitoring, system engineers are presented with several challenges in configuring the parameters of monitor servers. To address those challenges, we explore the tradeoffs among key server parameters and make recommendations about how best to select those parameters to achieve system monitoring objectives. Steve Goddard, Matthew B. Dwyer |
IEEE Real-Time and Embedded Technology and Applications Symposium | 3 |
| 2010 | Runtime Verification in Context: Can Optimizing Error Detection Improve Fault Diagnosis?
Matthew B. Dwyer, Rahul Purandare, Suzette Person |
RV | 1 |
| 2009 | Predictable Runtime MonitoringabstractDynamic program monitoring has been applied in software-intensive systems to detect runtime constraint violations and trigger system recovery actions. Uncontrolled monitoring activities may, however, delay detection of a violation for an unbounded time and, worse, affect the original system's schedulability. In this paper, we introduce the concept of predictable monitoring, which demands a bound on detection latency while ensuring temporal non-interference by the monitoring process. We present off-line analysis techniques for predicting the maximum detection latency with fixed-priority scheduling under two types of monitoring schemes: synchronous and asynchronous. For asynchronous monitoring, we illustrate how to achieve predictable monitoring by bounding the detection latency and controlling the monitoring budget using a bandwidth-preserving, server-based approach. Matthew B. Dwyer, Steve Goddard |
ECRTS | 2 |
| 2009 | Regression model checkingabstractModel checking is a promising technique for verifying program behavior and is increasingly finding usage in industry. To date, however, researchers have primarily considered model checking of single versions of programs. It is well understood that model checking can be very expensive for large, complex programs. Thus, simply reapplying model checking techniques on subsequent versions of programs as they evolve, in the limited time that is typically available for validating new releases, presents challenges. To address these challenges, we have developed a new technique for regression model checking (RMC), that applies model checking incrementally to new versions of systems. We report results of an empirical study examining the effectiveness of our technique; our results show that it is significantly faster than traditional model checking. Guowei Yang 0001, Matthew B. Dwyer, Gregg Rothermel |
ICSM | 2 |
| 2009 | Saturation-based testing of concurrent programsabstractCoverage measures help to determine whether a test suite exercises a program adequately according to a testing criterion. Many existing measures, however, are defined over coverage domains that cannot be precisely calculated, rendering them of limited value in assessing the extent of testing activities. To exploit the use of such measures, we formalize saturation-based test adequacy, a form of adequacy focused on the rate at which coverage increases during test suite execution. We define a family of coverage metrics for concurrent program testing that are well-suited to saturation-based adequacy and present a study that explores their cost and effectiveness. The results of this study suggest that saturation-based testing can serve as an effective complement to traditional notions of coverage-based testing. Elena Sherman, Matthew B. Dwyer, Sebastian G. Elbaum |
ESEC/SIGSOFT FSE | 2 |
| 2009 | Carving and Replaying Differential Unit Test Cases from System Test CasesabstractUnit test cases are focused and efficient. System tests are effective at exercising complex usage patterns. Differential unit tests (DUT) are a hybrid of unit and system tests that exploits their strengths. They are generated by carving the system components, while executing a system test case, that influence the behavior of the target unit, and then re-assembling those components so that the unit can be exercised as it was by the system test. In this paper we show that DUTs retain some of the advantages of unit tests, can be automatically generated, and have the potential for revealing faults related to intricate system executions. We present a framework for carving and replaying DUTs that accounts for a wide variety of strategies and tradeoffs, we implement an automated instance of the framework with several techniques to mitigate test cost and enhance flexibility and robustness, and we empirically assess the efficacy of carving and replaying DUTs on three software artifacts. Sebastian G. Elbaum, Hui Nee Chin, Matthew B. Dwyer, Matthew Jorde |
IEEE Trans. Software Eng. | 3 |
| 2008 | Trace NormalizationabstractIdentifying truly distinct traces is crucial for the performance of many dynamic analysis activities. For example, given a set of traces associated with a program failure, identifying a subset of unique traces can reduce the debugging effort by producing a smaller set of candidate fault locations. The process of identifying unique traces, however, is subject to the presence of irrelevant variations in the sequence of trace events, which can make a trace appear unique when it is not. In this paper we present an approach to reduce inconsequential and potentially detrimental trace variations. The approach decomposes traces into segments on which irrelevant variations caused by event ordering or repetition can be identified, and then used to normalize the traces in the pool. The approach is investigated on two well-known client dynamic analyses by replicating the conditions under which they were originally assessed, revealing that the clients can deliver more precise results with the normalized traces. Madeline Diep, Sebastian G. Elbaum, Matthew B. Dwyer |
ISSRE | 3 |
| 2008 | Reducing the Cost of Path Property Monitoring Through SamplingabstractRun-time monitoring can provide important insights about a program's behavior and, for simple properties, it can be done efficiently. Monitoring properties describing sequences of program states and events, however, can result in significant run-time overhead. In this paper we present a novel approach to reducing the cost of run-time monitoring of path properties. Properties are composed to form a single integrated property that is then systematically decomposed into a set of properties that encode necessary conditions for property violations. The resulting set of properties forms a lattice whose structure is exploited to select a sample of properties that can lower monitoring cost, while preserving violation detection power relative to the original properties. Preliminary studies for a widely used Java API reveal that our approach produces a rich, structured set of properties that enables control of monitoring overhead, while detecting more violations than alternative techniques. Matthew B. Dwyer, Madeline Diep, Sebastian G. Elbaum |
ASE | 1 |
| 2008 | Increasing Test Granularity by Aggregating Unit TestsabstractUnit tests are focused, efficient, and there are many techniques to support their automatic generation. Coarser granularity tests, however, are necessary to validate the behavior of larger software components, and are also likely to be more robust in the presence of program changes. This paper investigates whether coarser granularity tests can be automatically generated by aggregating unit tests. We leverage our Differential Unit Test (DUT) framework to represent unit tests, define a space of potential aggregations of those unit tests, and implement a strategy to traverse that space to generate Aggregated DUTs (A- DUTs) that validate the effects of multiple method calls on a (set of) receiver object(s). An empirical study of A-DUTs on two applications shows their tradeoffs with DUTs and their potential to increase the number of versions for which tests remain usable relative to method level tests. Matthew Jorde, Sebastian G. Elbaum, Matthew B. Dwyer |
ASE | 3 |
| 2008 | Differential symbolic executionabstractDetecting and characterizing the effects of software changes is a fundamental component of software maintenance. Version differencing information can be used to perform version merging, infer change characteristics, produce program documentation, and guide program re-validation. Existing techniques for characterizing code changes, however, are imprecise leading to unnecessary maintenance efforts. Suzette Person, Matthew B. Dwyer, Sebastian G. Elbaum, Corina Pasareanu |
SIGSOFT FSE | 2 |
| 2008 | Constructing Interaction Test Suites for Highly-Configurable Systems in the Presence of Constraints: A Greedy ApproachabstractResearchers have explored the application of combinatorial interaction testing (CIT) methods to construct samples to drive systematic testing of software system configurations. Applying CIT to highly-configurable software systems is complicated by the fact that, in many such systems, there are constraints between specific configuration parameters that render certain combinations invalid. Many CIT algorithms lack a mechanism to avoid these. In recent work, automated constraint solving methods have been combined with search-based CIT construction methods to address the constraint problem with promising results. However, these techniques can incur a non-trivial overhead. In this paper, we build upon our previous work to develop a family of greedy CIT sample generation algorithms that exploit calculations made by modern Boolean satisfiability (SAT) solvers to prune the search space of the CIT problem. We perform a comparative evaluation of the cost-effectiveness of these algorithms on four real-world highly-configurable software systems and on a population of synthetic examples that share the characteristics of those systems. In combination our techniques reduce the cost of CIT in the presence of constraints to 30 percent of the cost of widely-used unconstrained CIT methods without sacrificing the quality of the solutions. Myra B. Cohen, Matthew B. Dwyer, Jiangfan Shi |
IEEE Trans. Software Eng. | 2 |
| 2007 | Parallel Randomized State-Space SearchabstractModel checkers search the space of possible program behaviors to detect errors and to demonstrate their absence. Despite major advances in reduction and optimization techniques, state-space search can still become cost-prohibitive as program size and complexity increase. In this paper, we present a technique for dramatically improving the cost- effectiveness of state-space search techniques for error detection using parallelism. Our approach can be composed with all of the reduction and optimization techniques we are aware of to amplify their benefits. It was developed based on insights gained from performing a large empirical study of the cost-effectiveness of randomization techniques in state-space analysis. We explain those insights and our technique, and then show through a focused empirical study that our technique speeds up analysis by factors ranging from 2 to over 1000 as compared to traditional modes of state-space search, and does so with relatively small numbers of parallel processors. Matthew B. Dwyer, Sebastian G. Elbaum, Suzette Person, Rahul Purandare |
ICSE | 1 |
| 2007 | Adaptive Online Program AnalysisabstractAnalyzing a program run can provide important insights about its correctness. Dynamic analysis of complex correctness properties, however, usually results in significant run-time overhead and, consequently, it is rarely used in practice. In this paper, we present an approach for exploiting properties of stateful program specifications to reduce the cost of their dynamic analysis. With our approach, analysis results are guaranteed to be identical to those of a traditional expensive dynamic analyses, while analysis cost is very low - between 23% and 33% more than the un-instrumented program for the analyses we studied. We describe the principles behind our adaptive online program analysis technique, extentions to our Java run-time analysis framework that support such analyses, and report on the performance and capabilities of two different families of adaptive online program analyses. Matthew B. Dwyer, Alex Kinneer, Sebastian G. Elbaum |
ICSE | 1 |
| 2007 | Interaction testing of highly-configurable systems in the presence of constraintsabstractCombinatorial interaction testing (CIT) is a method to sample configurations of a software system systematically for testing. Many algorithms have been developed that create CIT samples, however few have considered the practical concerns that arise when adding constraints between combinations of options. In this paper, we survey constraint handling techniques in existing algorithms and discuss the challenges that they present. We examine two highly-configurable software systems to quantify the nature of constraints in real systems. We then present a general constraint representation and solving technique that can be integrated with existing CIT algorithms and compare two constraint-enhanced algorithm implementations with existing CIT tools to demonstrate feasibility. Myra B. Cohen, Matthew B. Dwyer, Jiangfan Shi |
ISSTA | 2 |
| 2007 | Reducing irrelevant trace variationsabstractIdentifying truly distinct traces is crucial for the performance and practicality of many dynamic analysis activities. For example, given a trace pool resulting from program failures, identifying the set of distinct traces can reduce the debugging effort by more quickly producing a smaller set of candidate fault locations. The process of discriminating valuable traces, however, is subject to the presence of irrelevant variations in the trace constitution, i.e., the sequence of events in a trace, that can make a trace appear unique when it is not, leading to the retention of a trace that adds no value. In this paper we present an approach to address inconsequential and potentially detrimental trace variations. The approach decomposes traces into segments on which irrelevant variations caused by event ordering or repetition can be detected and removed. The approach is illustrated on two well-known client dynamic analyses and is supported by an infrastructure to explore the approach Madeline Diep, Sebastian G. Elbaum, Matthew B. Dwyer |
ASE | 3 |
| 2007 | Residual dynamic typestate analysis exploiting static analysis: results to reformulate and reduce the cost of dynamic analysisabstractProgrammers using complex libraries and frameworks are faced with the difficult task of ensuring that their implementations comply with complex and informally described rules for proper sequencing of API calls. Recent advances in static and dynamic techniques for checking explicit specifications of program typestate properties have shown promise in addressing this challenge. Unfortunately, static typestate analyses are limited in their scalability and dynamic analyses can suffer from significant run-time overhead. In this paper, we present an approach that exploits information calculated by flow-sensitive static typestate analyses to reformulate the original analysis problem as a residual dynamic typestate analysis. We demonstrate that residual analyses retain the error reporting of unoptimized dynamic analysis while offering the potential for significantly reducing analysis cost Matthew B. Dwyer, Rahul Purandare |
ASE | 1 |
| 2007 | A new foundation for control dependence and slicing for modern program structuresabstractThe notion of control dependence underlies many program analysis and transformation techniques. Despite being widely used, existing definitions and approaches to calculating control dependence are difficult to apply directly to modern program structures because these make substantial use of exception processing and increasingly support reactive systems designed to run indefinitely. This article revisits foundational issues surrounding control dependence, and develops definitions and algorithms for computing several variations of control dependence that can be directly applied to modern program structures. To provide a foundation for slicing reactive systems, the article proposes a notion of slicing correctness based on weak bisimulation, and proves that some of these new definitions of control dependence generate slices that conform to this notion of correctness. This new framework of control dependence definitions, with corresponding correctness results, is even able to support programs with irreducible control flow graphs. Finally, a variety of properties show that the new definitions conservatively extend classic definitions. These new definitions and algorithms form the basis of the Indus Java slicer, a publicly available program slicer that has been implemented for full Java. Venkatesh Prasad Ranganath, Torben Amtoft, Anindya Banerjee 0001, John Hatcliff, Matthew B. Dwyer |
ACM Trans. Program. Lang. Syst. | 5 |
| 2006 | Domain-specific Model Checking Using The Bogor FrameworkabstractModel checking has proven to be an effective technology for verification and debugging in hardware and more recently in software domains. We believe that recent trends in both the requirements for software systems and the processes by which systems are developed suggest that domain-specific model checking engines may be more effective than general purpose model checking tools. To overcome limitations of existing tools which tend to be monolithic and non-extensible, we have developed an extensible and customizable model checking framework called Bogor. In this tutorial, we give an overview of (a) Bogor's direct support for modeling object-oriented designs and implementations, (b) its facilities for extending and customizing its modeling language and algorithms to create domain-specific model checking engines, and (c) pedagogical materials that we have developed to describe the construction of model checking tools built on top of the Bogor infrastructure Robby, Matthew B. Dwyer, John Hatcliff |
ASE | 2 |
| 2006 | Controlling factors in evaluating path-sensitive error detection techniquesabstractRecent advances in static program analysis have made it possible to detect errors in applications that have been thoroughly tested and are in wide-spread use. The ability to find errors that have eluded traditional validation methods is due to the development and combination of sophisticated algorithmic techniques that are embedded in the implementations of analysis tools. Evaluating new analysis techniques is typically performed by running an analysis tool on a collection of subject programs, perhaps enabling and disabling a given technique in different runs. While seemingly sensible, this approach runs the risk of attributing improvements in the cost-effectiveness of the analysis to the technique under consideration, when those improvements may actually be due to details of analysis tool implementations that are uncontrolled during evaluation.In this paper, we focus on the specific class of path-sensitive error detection techniques and identify several factors that can significantly influence the cost of analysis. We show, through careful empirical studies, that the influence of these factors is sufficiently large that, if left uncontrolled, they may lead researchers to improperly attribute improvements in analysis cost and effectiveness. We make several recommendations as to how the influence of these factors can be mitigated when evaluating techniques. Matthew B. Dwyer, Suzette Person, Sebastian G. Elbaum |
SIGSOFT FSE | 1 |
| 2006 | Carving differential unit test cases from system test casesabstractUnit test cases are focused and efficient. System tests are effective at exercising complex usage patterns. Differential unit tests (DUT) are a hybrid of unit and system tests. They are generated by carving the system components, while executing a system test case, that influence the behavior of the target unit, and then re-assembling those components so that the unit can be exercised as it was by the system test. We conjecture that DUTs retain some of the advantages of unit tests, can be automatically and inexpensively generated, and have the potential for revealing faults related to intricate system executions. In this paper we present a framework for automatically carving and replaying DUTs that accounts for a wide-variety of strategies, we implement an instance of the framework with several techniques to mitigate test cost and enhance flexibility, and we empirically assess the efficacy of carving and replaying DUTs. Sebastian G. Elbaum, Hui Nee Chin, Matthew B. Dwyer, Jonathan Dokulil |
SIGSOFT FSE | 3 |
| 2006 | Evaluating the Effectiveness of Slicing for Model Reduction of Concurrent Object-Oriented Programs
Matthew B. Dwyer, John Hatcliff, Matthew Hoosier, Venkatesh Prasad Ranganath, Robby, Todd Wallentine |
TACAS | 1 |
| 2006 | Checking JML specifications using an extensible software model checking framework
Robby, Edwin Rodríguez, Matthew B. Dwyer, John Hatcliff |
Int. J. Softw. Tools Technol. Transf. | 3 |
| 2005 | Building Your Own Software Model Checker Using the Bogor Extensible Model Checking Framework
Matthew B. Dwyer, John Hatcliff, Matthew Hoosier, Robby |
CAV | 1 |
| 2005 | Extending JML for Modular Specification and Verification of Multi-threaded Programs
Edwin Rodríguez, Matthew B. Dwyer, Cormac Flanagan, John Hatcliff, Gary T. Leavens, Robby |
ECOOP | 2 |
| 2005 | A New Foundation for Control-Dependence and Slicing for Modern Program Structures
Venkatesh Prasad Ranganath, Torben Amtoft, Anindya Banerjee 0001, Matthew B. Dwyer, John Hatcliff |
ESOP | 4 |
| 2005 | Translating Java for Multiple Model Checkers: The Bandera Back-End
Radu Iosif, Matthew B. Dwyer, John Hatcliff |
Formal Methods Syst. Des. | 2 |
| 2004 | Cadena: An Integrated Development Environment for Analysis, Synthesis, and Verification of Component-Based Systems
Adam Childs, Jesse Greenwald, Venkatesh Prasad Ranganath, Xianghua Deng, Matthew B. Dwyer, John Hatcliff, Georg Jung, Prashant Shanti, Gurdip Singh |
FASE | 5 |
| 2004 | A Case Study in Domain-Customized Model Checking for Real-Time Component Software
Matthew Hoosier, Matthew B. Dwyer, Robby, John Hatcliff |
ISoLA | 2 |
| 2004 | Analyzing Interaction Orderings with Model Checking
Matthew B. Dwyer, Robby, Oksana Tkachuk, Willem Visser |
ASE | 1 |
| 2004 | SyncGen: An Aspect-Oriented Framework for Synchronization
Xianghua Deng, Matthew B. Dwyer, John Hatcliff, Masaaki Mizuno |
TACAS | 2 |
| 2004 | Checking Strong Specifications Using an Extensible Software Model Checking Framework
Robby, Edwin Rodríguez, Matthew B. Dwyer, John Hatcliff |
TACAS | 3 |
| 2004 | Verifying Atomicity Specifications for Concurrent Object-Oriented Software Using Model-Checking
John Hatcliff, Robby, Matthew B. Dwyer |
VMCAI | 3 |
| 2004 | Exploiting Object Escape and Locking Information in Partial-Order Reductions for Concurrent Object-Oriented Programs
Matthew B. Dwyer, John Hatcliff, Robby, Venkatesh Prasad Ranganath |
Formal Methods Syst. Des. | 1 |
| 2004 | Introductory paper
Matthew B. Dwyer, Stefan Leue |
Int. J. Softw. Tools Technol. Transf. | 1 |
| 2004 | Flow analysis for verifying properties of concurrent software systemsabstractThis article describes FLAVERS, a finite-state verification approach that analyzes whether concurrent systems satisfy user-defined, behavioral properties. FLAVERS automatically creates a compact, event-based model of the system that supports efficient dataflow analysis. FLAVERS achieves this efficiency at the cost of precision. Analysts, however, can improve the precision of analysis results by selectively and judiciously incorporating additional semantic information into an analysis.We report on an empirical study of the performance of the FLAVERS/Ada toolset applied to a collection of multitasking Ada systems. This study indicates that sufficient precision for proving system properties can usually be achieved and that the cost for such analysis typically grows as a low-order polynomial in the size of the system. Matthew B. Dwyer, Lori A. Clarke, Jamieson M. Cobleigh, Gleb Naumovich |
ACM Trans. Softw. Eng. Methodol. | 1 |
| 2003 | Space Reductions for Model Checking Quasi-Cyclic Systems
Matthew B. Dwyer, Robby, Xianghua Deng, John Hatcliff |
EMSOFT | 1 |
| 2003 | Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based SystemsabstractThe use of component models such as Enterprise Java Beans and the CORBA Component Model (CCM) in application development is expanding rapidly. Even in real-time safety/mission-critical domains, component-based development is beginning to take hold as a mechanism for incorporating non-functional aspects such as real-time, quality-of-service, and distribution. To form an effective basis for development of such systems, we believe that support for reasoning about correctness properties of component-based designs is essential. In this paper, we present Cadena - an integrated environment for building and modeling CCM systems. Cadena provides facilities for defining component types using CCM IDL, specifying dependency information and transition System semantics for these types, assembling systems from CCM components, visualizing various dependence relationships between components, specifying and verifying correctness properties of models of CCM systems derived from CCM IDL, component assembly information, and Cadena specifications, and producing CORBA stubs and skeletons implemented in Java. We are applying Cadena to avionics applications built using Boeing's Bold Stroke framework. John Hatcliff, Xianghua Deng, Matthew B. Dwyer, Georg Jung, Venkatesh Prasad Ranganath |
ICSE | 3 |
| 2003 | Automated Environment Generation for Software Model CheckingabstractA key problem in model checking open systems is environment modeling (i.e., representing the behavior of the execution context of the system under analysis). Software systems are fundamentally open since their behavior is dependent on patterns of invocation of system components and values defined outside the system but referenced within the system. Whether reasoning about the behavior of whole programs or about program components, an abstract model of the environment can be essential in enabling sufficiently precise yet tractable verification. In this paper, we describe an approach to generating environments of Java program fragments. This approach integrated formally specified assumptions about environment behavior with sound abstractions of environment implementations to form a model of the environment. The approach is implemented in the Bandera environment generator (BEG) which we describe along with our experience using BEG to reason about properties of several nontrivial concurrent Java programs. Oksana Tkachuk, Matthew B. Dwyer, Corina Pasareanu |
ASE | 2 |
| 2003 | Slicing and partial evaluation of CORBA component model designs for avionics systemabstractThe use of component models such as Enterprise Java Beans and the CORBA Component Model (CCM) in application development is expanding rapidly. Even in real-time safety-critical and mission-critical domains, component-based development is beginning to take hold as a mechanism for in-corporating non-functional aspects such as real-time, quality-of-service, and distribution. John Hatcliff, William Deng, Matthew B. Dwyer, Georg Jung, Venkatesh Prasad Ranganath, Robby |
PEPM | 3 |
| 2003 | Bogor: an extensible and highly-modular software model checking frameworkabstractModel checking is emerging as a popular technology for reasoning about behavioral properties of a wide variety of software artifacts including: requirements models, architectural descriptions, designs, implementations, and process models. The complexity of model checking is well-known, yet cost-effective analyses have been achieved by exploiting, for example, naturally occurring abstractions and semantic properties of a target software artifact. semantic properties of target software artifacts. Adapting a model checking tool to exploit this kind of domain knowledge often requires in-depth knowledge of the tool's implementation.We believe that with appropriate tool support, domain experts will be able to develop efficient model checking-based analyses for a variety of software-related models. To explore this hypothesis, we have developed Bogor, a model checking framework with an extensible input language for defining domain-specific constructs and a modular interface design to ease the optimization of domain-specific state-space encodings, reductions and search algorithms. We present the pattern-oriented design of Bogor and discuss our experiences adapting it to efficiently model check Java programs and event-driven component-based designs. Robby, Matthew B. Dwyer, John Hatcliff |
ESEC / SIGSOFT FSE | 2 |
| 2003 | Adapting side effects analysis for modular program model checkingabstractThere is a widely held belief that whole program analysis is intractable for large complex software systems, and there can be little doubt that this is true for program analyses based on model checking. Model checking selected program components that comprise a cohesive unit, however, can be an effective way of uncovering subtle coding errors, especially for components of multi-threaded programs. In this setting, one of the chief problems is how to safely approximate the behavior of the rest of the application as it relates to the unit being analyzed.Non-unit application components are collectively referred to as the environment. In this paper, we describe how points-to and side-effects analyses can be adapted to support generation of summaries of environment behavior that can be reified into Java code using special modeling primitives. The resulting abstract models of the environment can be combined with the code of the unit and then model checked against unit properties. We present our analysis framework, illustrate its flexibility in generating several types of models, and present experience that provides evidence of the scalability of the approach. Oksana Tkachuk, Matthew B. Dwyer |
ESEC / SIGSOFT FSE | 2 |
| 2003 | Finding feasible abstract counter-examples
Corina Pasareanu, Matthew B. Dwyer, Willem Visser |
Int. J. Softw. Tools Technol. Transf. | 2 |
| 2002 | Invariant-based specification, synthesis, and verification of synchronization in concurrent programsabstractConcurrency is used in modern software systems as a means of addressing performance, availability, and reliability requirements. The collaboration of multiple independently executing components is fundamental to meeting such requirements and such collaboration is realized by synchronizing component execution.Using current technologies developers are faced with a tension between correct synchronization and performance. Developers can be confident when simple forms of synchronization are used, for example, locking all accesses to shared data. Unfortunately, such simple approaches can result in significant run-time overhead, and, in fact, there are many cases in which such simple approaches cannot implement required synchronization policies. Implementing more sophisticated (and less constraining) synchronization policies may improve run-time performance and satisfy synchronization requirements, but fundamental difficulties in reasoning about concurrency make it difficult to assess their correctness.This paper describes an approach to automatically synthesizing complex synchronization implementations from formal high-level specifications. Moreover, the generated coded is designed to be processed easily by software model-checking tools such as Bandera. This enables the generated synchronization solutions to be verified for important system correctness properties. We believe this is an effective approach because the tool-support provided makes it simple to use, it has a solid semantic foundation, it is language independent, and we have demonstrated that it is powerful enough to solve numerous challenging synchronization problems. Xianghua Deng, Matthew B. Dwyer, John Hatcliff, Masaaki Mizuno |
ICSE | 2 |
| 2002 | Expressing checkable properties of dynamic systems: the Bandera Specification Language
James C. Corbett, Matthew B. Dwyer, John Hatcliff, Robby |
Int. J. Softw. Tools Technol. Transf. | 2 |
| 2001 | Using the Bandera Tool Set to Model-Check Properties of Concurrent Java Software
John Hatcliff, Matthew B. Dwyer |
CONCUR | 2 |
| 2001 | Tool-Supported Program Abstraction for Finite-State VerificationabstractNumerous researchers have reported success in reasoning about properties of small programs using finite-state verification techniques. We believe, as do most researchers in this area, that in order to scale those initial successes to realistic programs, aggressive abstraction of program data will be necessary. Furthermore, we believe that to make abstraction-based verification usable by non-experts significant tool support will be required. In this paper we describe how several different program analysis and transformation techniques are integrated into the Bandera toolset to provide facilities for abstracting Java programs to produce compact, finite-state models that are amenable to verification for example via model checking. We illustrate the application of Bandera's abstraction facilities to analyze a realistic multi-threaded Java program. Matthew B. Dwyer, John Hatcliff, Roby Joehanes, Shawn Laubach, Corina Pasareanu, Robby, Hongjun Zheng, Willem Visser |
ICSE | 1 |
| 2001 | Finding Feasible Counter-examples when Model Checking Abstracted Java Programs
Corina Pasareanu, Matthew B. Dwyer, Willem Visser |
TACAS | 2 |
| 2000 | Bandera: extracting finite-state models from Java source codeabstractFinite-state verification techniques, such as model checking, have shown promise as a cost-effective means for finding defects in hardware designs. To date, the application of these techniques to software has been hindered by several obstacles. Chief among these is the problem of constructing a finite-state model that approximates the executable behavior of the software system of interest. Current best-practice involves hand-construction of models which is expensive (prohibitive for all but the smallest systems), prone to errors (which can result in misleading verification results), and difficult to optimize (which is necessary to combat the exponential complexity of verification algorithms). James C. Corbett, Matthew B. Dwyer, John Hatcliff, Shawn Laubach, Corina Pasareanu, Robby, Hongjun Zheng |
ICSE | 2 |
| 2000 | Bandera: a source-level interface for model checking Java programsabstractDespite emerging tool support for assertion-checking and testing of object-oriented programs, providing convincing evidence of program correctness remains a difficult challenge. This is especially true for multi-threaded programs. Techniques for reasoning about finite-state systems have been developing rapidly over the past decade and have the potential to form the basis of powerful software validation theologies.We have developed the Bandera toolset [1] to harness the power of existing model checking tools to apply them to reason about correctness requirements of Java programs. Bandera provides tool support for defining and managing collections of requirements for a program, for extracting compact finite-state models of the program to enable tractable analysis, and for displaying analysis results to the user through a debugger-like interface. This paper describes and illustrates the use of Bandera's source-level user interface for model checking Java programs. James C. Corbett, Matthew B. Dwyer, John Hatcliff, Robby |
ICSE | 2 |
| 2000 | Benchmarking Finite-State Verifiers
George S. Avrunin, James C. Corbett, Matthew B. Dwyer |
Int. J. Softw. Tools Technol. Transf. | 3 |
| 1999 | Patterns in Property Specifications for Finite-State VerificationabstractArticle Patterns in property specifications for finite-state verification Share on Authors: Matthew B. Dwyer Kansas State University, Department of Computing and Information Sciences, Manhattan, KS Kansas State University, Department of Computing and Information Sciences, Manhattan, KSView Profile , George S. Avrunin University of Massachusetts, Department of Mathematics and Statistics, Amherst, MA University of Massachusetts, Department of Mathematics and Statistics, Amherst, MAView Profile , James C. Corbett University of Hawai'i, Department of Information and Computer Science, Honolulu, HI University of Hawai'i, Department of Information and Computer Science, Honolulu, HIView Profile Authors Info & Claims ICSE '99: Proceedings of the 21st international conference on Software engineeringMay 1999 Pages 411–420https://doi.org/10.1145/302405.302672Online:16 May 1999Publication History 956citation2,118DownloadsMetricsTotal Citations956Total Downloads2,118Last 12 Months172Last 6 weeks21 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access Matthew B. Dwyer, George S. Avrunin, James C. Corbett |
ICSE | 1 |
| 1999 | Slicing Software for Model Construction
Matthew B. Dwyer, John Hatcliff |
PEPM | 1 |
| 1999 | A Formal Study of Slicing for Multi-threaded Programs with JVM Concurrency Primitives
John Hatcliff, James C. Corbett, Matthew B. Dwyer, Stefan Sokolowski, Hongjun Zheng |
SAS | 3 |
| 1998 | Filter-Based Model Checking of Partial SystemsabstractRecent years have seen dramatic growth in the application of model checking techniques to the validation and verification of correctness properties of hardware, and more recently software, systems. Most of this work has been aimed at reasoning about properties of complete systems. This paper describes an automatable approach for building finite-state models of partially defined software systems that are amenable to model checking using existing tools. It enables the application of existing model checking tools to system components taking into account assumptions about the behavior of the environment in which the components will execute. We illustrate the application of the approach by validating and verifying properties of a reusable parameterized programming framework. Matthew B. Dwyer, Corina Pasareanu |
SIGSOFT FSE | 1 |
| 1997 | Verification of Concurrent Software with FLAVERSabstractIn this demonstration we give a scenario of how FLAVERS, an implementation of the incremental accuracy improving data flow analysis approach [I], is used to verify event sequence properties of concurrent or distributed software programs. Gleb Naumovich, Lori A. Clarke, Leon J. Osterweil, Matthew B. Dwyer |
ICSE | 4 |
| 1997 | Modular Flow Analysis for Concurrent SoftwareabstractModern software systems are designed and implemented in a modular fashion by composing individual components. The advantages of early validation are widely accepted in this context, i.e., that defects in individual module designs and implementations may be detected and corrected prior to system-level validation. This is particularly true for errors related to interactions between system components. In this paper, we describe how a whole-program automated static analysis technique can be adapted to the validation of individual components, or groups of components, of sequential or concurrent software systems. This work builds off of an existing approach, FLAVERS, that uses program flow analysis to verify explicitly stated correctness properties of software systems. We illustrate our modular analysis approach and some of its benefits by describing part of a case-study with a realistic concurrent multi-component system. Matthew B. Dwyer |
ASE | 1 |
| 1997 | A Framework for Parallel Adaptive Grid SimulationsabstractExploiting parallelism in the solution of scientific and computational engineering problems requires significant expertise and effort on the part of application developers. We describe a framework targeted at the class of discrete-time grid simulations that hides much of the complexity inherent in the parallel solution of those problems. By doing so this programming framework offers the potential to reduce developer training and software development time, and improve the quality of the resulting simulation software. Software engineering concerns are important; however, they need not stand in the way of high performance. Our framework is designed to enable efficient solution to simulation problems and to allow developers to address simulation problems that have a high degree of dynamism and irregularity. We evaluate both the usability and performance of the framework as applied to a standard finite-difference computation. © 1997 John Wiley & Sons, Ltd. Matthew B. Dwyer, Virgil Wallentine |
Concurr. Pract. Exp. | 1 |
| 1996 | A Flexible Architecture for Building Data Flow Analyzers
Matthew B. Dwyer, Lori A. Clarke |
ICSE | 1 |
| 1996 | A Compact Petri Net Representation and Its Implications for AnalysisabstractWe explore a property-independent, coarsened, multilevel representation for supporting state reachability analysis for a number of different properties. This multilevel representation comprises a reachability graph derived from a highly optimized Petri net representation that is based on task interaction graphs and associated property-specific summary information. This highly optimized representation reduces the size of the reachability graph but may increase the cost of the analysis algorithm for some types of analyses. We explore this tradeoff. To this end, we have developed a framework for checking a variety of properties of concurrent programs using this optimized representation and present empirical results that compare the cost to an alternative Petri net representation. In addition, we present reduction techniques that can further improve the performance and yet still preserve analysis information. Although worst-case bounds for most concurrency analysis techniques are daunting, we demonstrate that the techniques that we propose significantly broaden the applicability of reachability analyses. Matthew B. Dwyer, Lori A. Clarke |
IEEE Trans. Software Eng. | 1 |
| 1995 | A Compact Petri Net Representation for Concurrent ProgramsabstractThis paper presents a compactPetri net representa- Matthew B. Dwyer, Lori A. Clarke, Kari A. Nies |
ICSE | 1 |
| 1994 | Data Flow Analysis for Verifying Properties of Concurrent ProgramsabstractClassification D.2.4 Software/Program Verification, D.1.3 Concurrent Programming This paper describes FLAVERS, a finite-state verification approach that analyzes whether concurrent systems satisfy user-defined, behavioral properties. FLAVERS automatically creates a compact, event-based model of the system that supports efficient data-flow analysis. FLAVERS achieves this efficiency at the cost of precision. Analysts, however, can improve the precision of analysis results by selectively and judiciously incorporating additional semantic information into an analysis. We report on an empirical study of the performance of the FLAVERS/Ada toolset applied to a collection of multitasking Ada systems. This study indicates that sufficient precision for proving system properties can usually be Matthew B. Dwyer, Lori A. Clarke |
SIGSOFT FSE | 1 |