Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Peter C. Mehlitz

dblp:91/1422 · DBLP profile ↗
← Back
9ranked-venue papers
3as first author
1since 2021 · last 2023
—ORCID · none

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

Software engineering, systems software and programming languages · 9 · 3 first-author · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
3 papers
Program verification · 51% Program analysis · 37% Software testing · 12%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Embedded and real-time systems · 100%

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

TopicWeightPapersLastEvidence papers
Program verification › model checking
software model checking
0.322013
A hands-on Java PathFinder tutorial · ICSE 2013
JPF-AWT: Model checking GUI applications · ASE 2011
Program analysis
symbolic execution
0.222013
A hands-on Java PathFinder tutorial · ICSE 2013
Combining unit-level symbolic execution and system-level concrete execution for testing NASA software · ISSTA 2008
Software testing
test generation
0.112008
Combining unit-level symbolic execution and system-level concrete execution for testing NASA software · ISSTA 2008
Program verification
model checking
0.012008
Combining unit-level symbolic execution and system-level concrete execution for testing NASA software · ISSTA 2008
Program verification › model checking
symbolic model checking
0.012008
Combining unit-level symbolic execution and system-level concrete execution for testing NASA software · ISSTA 2008
Embedded and real-time systems › critical systems
safety-critical software
0.012008
Combining unit-level symbolic execution and system-level concrete execution for testing NASA software · ISSTA 2008

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

model checking · 0.3tutorial · 0.2symbolic execution · 0.2concrete execution · 0.2user modeling · 0.1
YearPublicationVenuePosition
2023 Concurrent runtime verification of data rich events
Nastaran Shafiei, Klaus Havelund, Peter C. Mehlitz
Int. J. Softw. Tools Technol. Transf.3
2020 Actor-Based Runtime Verification with MESA
Nastaran Shafiei, Klaus Havelund, Peter C. Mehlitz
RV3
2013 A hands-on Java PathFinder tutorial
abstract
Java Pathfinder (JPF) is an open source analysis system that automatically verifies Java programs. The JPF tutorial provides an opportunity to software engineering researchers and practitioners to learn about JPF, be able to install and run JPF, and understand the concepts required to extend JPF. The hands-on tutorial will expose the attendees to the basic architecture framework of JPF, demonstrate the ways to use it for analyzing their artifacts, and illustrate how they can extend JPF to implement their own analyses. One of the defining qualities of JPF is its extensibility. JPF has been extended to support symbolic execution, directed automated random testing, different choice generation, configurable state abstractions, various heuristics for enabling bug detection, configurable search strategies, checking temporal properties and many more. JPF supports these extensions at the design level through a set of stable well defined interfaces. The interfaces are designed to not require changes to the core, yet enable the development of various JPF extensions. In this tutorial we provide attendees a hands on experience of developing different interfaces in order to extend JPF. The tutorial is targeted toward a general software engineering audience-software engineering researchers and practitioners. The attendees need to have a good understanding of the Java programming language and be fairly comfortable with Java program development. The attendees are not required to have any background in Java Pathfinder, software model checking or any other formal verification techniques. The tutorial will be self-contained.
Peter C. Mehlitz, Neha Rungta, Willem Visser
ICSE1
2013 Symbolic PathFinder: integrating symbolic execution with model checking for Java bytecode analysis
Corina Pasareanu, Willem Visser, David H. Bushnell, Jaco Geldenhuys, Peter C. Mehlitz, Neha Rungta
Autom. Softw. Eng.5
2012 X10X: Model Checking a New Programming Language with an "Old" Model Checker
abstract
Parallel and distributed computing is becoming a norm with the advent of multi-core, networked, and cloud computing platforms. New programming languages are emerging for these platforms, e.g., the X10 language from IBM. While these languages explicitly support concurrent programming, they cannot eliminate all concurrency related bugs, which are usually hard to find. Finding such bugs is easier using specialized, language-aware model-checking tools. However, such tools are highly complex and developing them from scratch requires large effort. We describe our experience in developing a model-checking tool for a new language, X10, by systematically adapting an existing tool, the JPF model checker for Java. X10 programs can be compiled to Java, but unfortunately checking X10 programs directly with the unmodified JPF and X10 runtime can miss some behaviors and scales very poorly. We present four sets of techniques that can be employed to make checking a new language with an " old" model checker practical: (1) modify the model checker, (2) modify the language runtime, (3) extend the language compiler, and (4) develop a new static analysis. We instantiated each technique to enable checking X10 programs with JPF. We evaluated our new techniques on over 100 X10 example programs and found a substantial speedup.
Milos Gligoric 0001, Peter C. Mehlitz, Darko Marinov
ICST2
2011 JPF-AWT: Model checking GUI applications
abstract
Verification of Graphical User Interface (GUI) applications presents many challenges. GUI applications are open systems that are driven by user events. Verification of such applications by means of model checking therefore requires a user model in order to close the state space. In addition, GUIs rely extensively on complex and inherently concurrent framework libraries such as AWT/Swing, for which the application code merely provides callbacks. Software model checking of GUI applications therefore needs abstractions of such frameworks that faithfully preserve application behavior. This paper presents JPF-AWT, an extension of the Java PathFinder software model checker, which addresses these challenges. JPF-AWT has been successfully applied to a GUI front end of a NASA ground data system.
Peter C. Mehlitz, Oksana Tkachuk, Mateusz Ujma
ASE1
2008 Combining unit-level symbolic execution and system-level concrete execution for testing NASA software
abstract
We describe an approach to testing complex safety critical software that combines unit-level symbolic execution and system-level concrete execution for generating test cases that satisfy user-specified testing criteria. We have developed Symbolic Java PathFinder, a symbolic execution framework that implements a non-standard bytecode interpreter on top of the Java PathFinder model checking tool. The framework propagates the symbolic information via attributes associated with the program data. Furthermore, we use two techniques that leverage system-level concrete program executions to gather information about a unit's input to improve the precision of the unit-level test case generation. We applied our approach to testing a prototype NASA flight software component. Our analysis helped discover a serious bug that resulted in design changes to the software. Although we give our presentation in the context of a NASA project, we believe that our work is relevant for other critical systems that require thorough testing.
Corina Pasareanu, Peter C. Mehlitz, David H. Bushnell, Karen Gundy-Burlet, Michael R. Lowry, Suzette Person, Mark Pape
ISSTA2
2005 Model Checking Real Time Java Using Java PathFinder
Gary Lindstrom, Peter C. Mehlitz, Willem Visser
ATVA2
2005 Design for Verification with Dynamic Assertions
abstract
Completed design and implementation are often regarded as prerequisites of any verification. While recent development methods establish testability as a design criterion, there is no corresponding design support for other verification methods like model checking and static analysis. Since these methods have inherent scalability problems, their application becomes more difficult where it is most needed - for complex systems. Our design-for-verification (D4V) approach attempts to close this gap using a variety of techniques, such as design patterns, APIs and source annotations. This paper presents a overview of D4V, and introduces dynamic assertions as one of the proposed D4V techniques. Dynamic assertions are dedicated, non-intrusive check objects that are dynamically activated, evaluated and deactivated via assertions of their target objects. Since these check objects can have their own state, they can be used to verify a broad range of properties. Properties can be expressed in the target programming language, and checked in a testing environment. In addition, dynamic assertions can be configured via call contexts, making them suitable for connector-specific verification of component based systems
Peter C. Mehlitz, John Penix
SEW1