Matthew B. Dwyer

ORCID: 0000-0002-1937-1544
Publications
Citations
Views
---
Saved
---
About
Contact & Profiles
Research Areas
  • Software Testing and Debugging Techniques
  • Formal Methods in Verification
  • Software Reliability and Analysis Research
  • Software Engineering Research
  • Advanced Software Engineering Methodologies
  • Software System Performance and Reliability
  • Adversarial Robustness in Machine Learning
  • Parallel Computing and Optimization Techniques
  • Distributed systems and fault tolerance
  • Logic, programming, and type systems
  • Real-Time Systems Scheduling
  • Software Engineering Techniques and Practices
  • Security and Verification in Computing
  • Model-Driven Software Engineering Techniques
  • Advanced Malware Detection Techniques
  • Scientific Computing and Data Management
  • Embedded Systems Design Techniques
  • Distributed and Parallel Computing Systems
  • Cloud Computing and Resource Management
  • Anomaly Detection Techniques and Applications
  • Advanced Data Storage Technologies
  • IoT and Edge/Fog Computing
  • Energy Efficient Wireless Sensor Networks
  • Explainable Artificial Intelligence (XAI)
  • Service-Oriented Architecture and Web Services

University of Virginia
2019-2025

DEVCOM Army Research Laboratory
2019-2024

United States Army Combat Capabilities Development Command
2023-2024

Chartered Institute of Library and Information Professionals
2024

University of Nebraska–Lincoln
2011-2021

St. John Macomb Oakland Hospital
2020

Parsons (United States)
2018

Technology Solutions Experts (United States)
2015

Stellenbosch University
2012

Kansas State University
1997-2008

Article 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 KSView Profile , George S. Avrunin University Massachusetts, Mathematics Statistics, Amherst, MA MAView James C. Corbett Hawai'i, Computer Science, Honolulu, HI HIView Authors Info & Claims ICSE '99: Proceedings the 21st international conference Software engineeringMay 1999 Pages...

10.1145/302405.302672 article EN 1999-05-16

Finite-state verification techniques, such as model checking, have shown promise 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 is problem constructing finite-state that approximates executable behavior system interest. Current best-practice involves hand-construction models which expensive (prohibitive all but smallest systems), prone errors (which can result...

10.1145/337180.337234 article EN 2000-01-01

Article Free Access Share on Property specification patterns for finite-state verification Authors: Matthew B. Dwyer Kansas State University, Department of Computing and Information Sciences, 234 Nichols Hall Manhattan, KS KSView Profile , George S. Avrunin University Massachusetts, Mathematics Statistics, Box 34515, Amherst, MA MAView James C. Corbett Hawai'i, Computer Science, Honolulu, HI HIView Authors Info & Claims FMSP '98: Proceedings the second workshop Formal methods in software...

10.1145/298595.298598 article EN 1998-01-01

Researchers have explored the application of combinatorial interaction testing (CIT) methods to construct samples drive systematic software system configurations. Applying CIT highly-configurable systems is complicated by fact that, in many such systems, there are constraints between specific configuration parameters that render certain combinations invalid. Many algorithms lack a mechanism avoid these. In recent work, automated constraint solving been combined with search-based construction...

10.1109/tse.2008.50 article EN IEEE Transactions on Software Engineering 2008-09-01

Detecting and characterizing the effects of software changes is a fundamental component maintenance. Version differencing information can be used to perform version merging, infer change characteristics, produce program documentation, guide re-validation. Existing techniques for code changes, however, are imprecise leading unnecessary maintenance efforts.

10.1145/1453101.1453131 article EN 2008-11-09

Combinatorial interaction testing (CIT) is a method to sample configurations of software system systematically for testing. Many algorithms have been developed that create CIT samples, however few considered the practical concerns arise when adding constraints between combinations options. In this paper, we survey constraint handling techniques in existing and discuss challenges they present. We examine two highly-configurable systems quantify nature real systems. then present general...

10.1145/1273463.1273482 article EN 2007-07-09

Model checking is emerging as a popular technology for reasoning about behavioral properties of wide variety software artifacts including: requirements models, architectural descriptions, designs, implementations, and process models. The complexity model well-known, yet cost-effective analyses have been achieved by exploiting, example, naturally occurring abstractions semantic target artifact. artifacts. Adapting tool to exploit this kind domain knowledge often requires in-depth the tool's...

10.1145/940071.940107 article EN 2003-09-01

In this paper we present an approach, based on data flow analysis, that can provide cost-effective analysis of concurrent programs with respect to explicitly stated correctness properties. Using a developer specifies property program as pattern selected events and asks the verify all or no executions satisfy given property. We have developed family polynomial-time, conservative anlysis algorithms support reasoning about these questions. To overcome traditional inaccuracies static also range...

10.1145/193173.195295 article EN 1994-12-01

The analysis of constraints plays an important role in many aspects software engineering, for example constraint satisfiability checking is central to symbolic execution. However, the norm recompute results each analysis. We propose a different approach where every call solver wrapped check see if result not already available. While tools use some form caching, novelty our persistence across runs, programs being analyzed, analyses and even physical location. Achieving such reuse requires...

10.1145/2393596.2393665 article EN 2012-11-11

The continued development of efficient automated decision procedures has spurred the resurgence research on symbolic execution over past decade. Researchers have applied to a wide range software analysis problems including: checking programs against contract specifications, inferring bounds worst-case performance, and generating path-adequate test suites for widely used library code.

10.1145/2338965.2336773 article EN 2012-07-15

The use of component models such as Enterprise Java Beans and the CORBA Component Model (CCM) in application development is expanding rapidly. Even real-time safety/mission-critical domains, component-based beginning to take hold a mechanism for incorporating non-functional aspects real-time, quality-of-service, distribution. To form an effective basis systems, we believe that support reasoning about correctness properties designs essential.In this paper, present Cadena -- integrated...

10.5555/776816.776836 article EN International Conference on Software Engineering 2003-05-03

10.1023/a:1026599015809 article EN Higher-Order and Symbolic Computation 2000-01-01

Software product line modeling has received a great deal of attention for its potential in fostering reuse software artifacts across development phases. Research on the testing phase, focused identifying test cases instances. While this offers reductions effort given instance, it does not focus and leverage fundamental abstraction that is inherent lines - variability.In paper, we illustrate how rich notations can be mapped onto an underlying relational model captures variability feasible...

10.1145/1147249.1147257 article EN 2006-07-17

The notion of control dependence underlies many program analysis and transformation techniques. Despite being widely used, existing definitions approaches to calculating are difficult apply directly modern structures because these make substantial use exception processing increasingly support reactive systems designed run indefinitely. This article revisits foundational issues surrounding dependence, develops algorithms for computing several variations that can be applied structures. To...

10.1145/1275497.1275502 article EN ACM Transactions on Programming Languages and Systems 2007-08-02

Combinatorial interaction testing (CIT) is a cost-effective sampling technique for discovering faults in highly configurable systems. Recent work with greedy CIT algorithms efficiently supports constraints on the features that can coexist configuration. But when single system configuration expensive, techniques perform worse than meta-heuristic because they produce larger samples. Unfortunately, current are inefficient present. We investigate sources of inefficiency, focusing simulated...

10.1109/ssbse.2009.25 article EN 2009-05-01

Load 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 input. Ignoring particular input values, however, may lead suites that grossly mischaracterize a system's performance. To address this limitation we introduce mixed symbolic execution based approach unique in how it 1) favors program paths associated with measure interest, 2) operates an iterative-deepening beam-search...

10.1109/ase.2011.6100093 article EN 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE) 2011-11-01

There are many ways to express parallel programs: message-passing libraries (MPI) and multithreading/GPU language extensions such as OpenMP, Pthreads, CUDA, but a few. This multitude creates serious challenge for developers of software verification tools: it takes enormous effort develop tools, each development typically targets one small part the concurrency landscape, with little sharing techniques code among efforts.

10.1145/2807591.2807635 article EN 2015-10-27

Numerous researchers have reported success in reasoning about properties of small programs using finite-state verification techniques. We believe, as do most this area, that order to scale those initial successes realistic programs, aggressive abstraction program data will be necessary. Furthermore, we believe make abstraction-based usable by non-experts significant tool support required.In paper, describe how several different analysis and transformation techniques are integrated into the...

10.5555/381473.381493 article EN International Conference on Software Engineering 2001-07-01

Finite-state verification techniques, such as model checking, have shown promise 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 is problem constructing finite-state that approximates executable behavior system interest. Current best-practice involves hand-construction models which expensive (prohibitive all but smallest systems), prone errors (which can result...

10.1109/icse.2000.870434 article EN Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium 2002-11-07

This article describes FLAVERS, a finite-state verification approach that analyzes whether concurrent systems satisfy user-defined, behavioral properties. FLAVERS automatically creates compact, event-based model of the system supports efficient dataflow analysis. achieves this efficiency at cost precision. Analysts, however, can improve precision analysis results by selectively and judiciously incorporating additional semantic information into an analysis.We report on empirical study...

10.1145/1040291.1040292 article EN ACM Transactions on Software Engineering and Methodology 2004-10-01

A key problem in model checking open systems is environment modeling (i.e., representing the behavior of execution context system under analysis). Software are fundamentally since their dependent on patterns invocation components and values defined outside but referenced within system. Whether reasoning about whole programs or program components, an abstract can be essential enabling sufficiently precise yet tractable verification. In this paper, we describe approach to generating...

10.1109/ase.2003.1240300 article EN 2004-01-24

Unit test cases are focused and efficient. System tests effective at exercising complex usage patterns. Differential unit (DUT) a hybrid of system tests. They generated by carving the components, while executing case, that influence behavior target unit, then re-assembling those components so can be exercised as it was test. We conjecture DUTs retain some advantages tests, automatically inexpensively generated, have potential for revealing faults related to intricate executions. In this...

10.1145/1181775.1181806 article EN 2006-11-05
Coming Soon ...