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.

Michael R. Lowry

dblp:90/685 · DBLP profile ↗
← Back
28ranked-venue papers
13as first author
0since 2021 · last 2013
—ORCID · none

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

Software engineering, systems software and programming languages · 13 · 5 first-authorArtificial intelligence and machine learning · 11 · 8 first-authorGraphics, computer vision, multimedia, augmented reality and games · 6 · 4 first-authorTheory of computation · 4Applied, interdisciplinary, general and emerging computing · 1

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

Software engineering, system software, and programming languages
7 papers
Program verification · 36% Software testing · 22% Program analysis · 18%
Theoretical computer science
5 papers
Automated reasoning and model checking · 74% Logic in computer science · 26%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Embedded and real-time systems · 100%

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

TopicWeightPapersLastEvidence papers
Program verification
model checking
0.122011
Polyglot: modeling and analysis for multiple Statechart formalisms · ISSTA 2011
Combining unit-level symbolic execution and system-level concrete execution for testing NASA software · ISSTA 2008
Software testing
test generation
0.122011
Combining unit-level symbolic execution and system-level concrete execution for testing NASA software · ISSTA 2008
Polyglot: modeling and analysis for multiple Statechart formalisms · ISSTA 2011
Program analysis
symbolic execution
0.112008
Combining unit-level symbolic execution and system-level concrete execution for testing NASA software · ISSTA 2008
Program synthesis and code generation
deductive program synthesis
0.122001
Amphion/NAV: Deductive Synthesis of State Estimation Software · ASE 2001
Explaining Synthesized Software · ASE 1998
Program analysis › static analysis
abstract interpretation
0.012001
Certifying Domain-Specific Policies · ASE 2001
Concurrent programming
concurrency bugs
0.012001
Formal Analysis of a Space-Craft Controller Using SPIN · IEEE Trans. Software Eng. 2001
Concurrent programming
deadlock detection
0.012001
Formal Analysis of a Space-Craft Controller Using SPIN · IEEE Trans. Software Eng. 2001
Program verification › mechanized verification
proof checking
0.012001
Certifying Domain-Specific Policies · ASE 2001
Automated reasoning and model checking › model checking
explicit-state model checking
0.012001
Formal Analysis of a Space-Craft Controller Using SPIN · IEEE Trans. Software Eng. 2001
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
Software testing
software reliability
0.011998
Towards a Theory for Integration of Mathematical Verification and Empirical Testing · ASE 1998
Knowledge, reasoning and agents › Knowledge representation and reasoning
problem reformulation
0.021988
Invariant Logic: A Calculus for Problem Reformulation · AAAI 1988
The Abstraction/Implementation Model of Problem Reformulation · IJCAI 1987
Automated reasoning and model checking
theorem proving
0.011998
Explaining Synthesized Software · ASE 1998
Computer vision › Segmentation and scene understanding
scene understanding
0.011982
Modeling and Using Physical Constraints in Scene Analysis · AAAI 1982

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

model checking · 0.3symbolic execution · 0.2concrete execution · 0.2java pathfinder · 0.1formal semantics · 0.1membership equational logic · 0.1graphical specification · 0.1fortran subroutine composition · 0.1abstract interpretation · 0.1PROMELA · 0.1promela · 0.0proof instrumentation · 0.0abstraction of proof structures · 0.0
YearPublicationVenuePosition
2013 Polyglot: Systematic Analysis for Multiple Statechart Formalisms
Daniel Balasubramanian, Corina Pasareanu, Gabor Karsai, Michael R. Lowry
TACAS4
2012 Fast, Interactive Worst-Case Execution Time Analysis With Back-Annotation
abstract
For hard real-time systems, static code analysis is needed to derive a safe bound on the worst-case execution time (WCET). Virtually all prior work has focused on the accuracy of WCET analysis without regard to the speed of analysis. The resulting algorithms are often too slow to be integrated into the development cycle, requiring WCET analysis to be postponed until a final verification phase. In this paper, we propose interactive WCET analysis as a new method to provide near-instantaneous WCET feedback to the developer during software programming. We show that interactive WCET analysis is feasible using tree-based WCET calculation. The feedback is realized with a plugin for the Java editor jEdit, where the WCET values are back-annotated to the Java source at the statement level. Comparison of this tree-based approach with the implicit path enumeration technique (IPET) shows that tree-based analysis scales better with respect to program size and gives similar WCET values.
Trevor Harmon, Martin Schoeberl, Raimund Kirner, Raymond Klefstad, K. H. (Kane) Kim, Michael R. Lowry
IEEE Trans. Ind. Informatics6
2011 Polyglot: modeling and analysis for multiple Statechart formalisms
abstract
In large programs such as NASA Exploration, multiple systems that interact via safety-critical protocols are already designed with different Statechart variants. To verify these safety-critical systems, a unified framework is needed based on a formal semantics that captures the variants of Statecharts. We describe Polyglot, a unified framework for the analysis of models described using multiple State-chart formalisms. In this framework, Statechart models are translated into Java and analyzed using pluggable semantics for different variants operating in a polymorphic execution environment. The framework has been built on the basis of a parametric formal semantics that captures the common core of Statecharts with extensions for different variants, and addresses previous limitations. Polyglot has been integrated with the Java Pathfinder verification tool-set, providing analysis and test-case generation capabilities. We describe the application of this unified framework to the analysis of NASA/JPL's MER Arbiter whose interacting components were modeled using multiple Statechart formalisms.
Daniel Balasubramanian, Corina Pasareanu, Michael W. Whalen, Gabor Karsai, Michael R. Lowry
ISSTA5
2008 Intelligent Software Engineering Tools for NASA's Crew Exploration Vehicle
Michael R. Lowry
ISMIS1
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
ISSTA5
2005 Combining test case generation and runtime verification
Cyrille Artho, Howard Barringer, Allen Goldberg, Klaus Havelund, Sarfraz Khurshid, Michael R. Lowry, Corina Pasareanu, Grigore Rosu, Koushik Sen, Willem Visser, Richard Washington
Theor. Comput. Sci.6
2004 Experimental Evaluation of Verification and Validation Tools on Martian Rover Software
Guillaume Brat, Doron Drusinsky, Dimitra Giannakopoulou, Allen Goldberg, Klaus Havelund, Michael R. Lowry, Corina Pasareanu, Arnaud Venet, Willem Visser, Richard Washington
Formal Methods Syst. Des.6
2002 Software Construction and Analysis Tools for Future Space Missions
Michael R. Lowry
TACAS1
2001 Certifying Domain-Specific Policies
abstract
Proof-checking code for compliance to safety policies potentially enables a product-oriented approach to certain aspects of software certification. To date, previous research has focused on generic, low-level programming-language properties such as memory type safety. In this paper we consider proof-checking higher-level domain-specific properties for compliance to safety policies. The paper first describes a framework related to abstract interpretation in which compliance to a class of certification policies can be efficiently calculated. Membership equational logic is shown to provide a rich logic for carrying out such calculations, including partiality, for certification. The architecture for a domain-specific certifier is described, followed by an implemented case study. The case study considers consistency of abstract variable attributes in code that performs geometric calculations in Aerospace systems.
Michael R. Lowry, Thomas Pressburger, Grigore Rosu
ASE1
2001 Amphion/NAV: Deductive Synthesis of State Estimation Software
abstract
Previous work on domain-specific deductive program synthesis described the Amphion/NAIF system for generating Fortran code from high-level graphical specifications describing problems in space system geometry. Amphion/NAIF specifications describe input-output functions that compute geometric quantities (e.g., the distance between two planets at a point in time, or the time when a radio communication path between a spacecraft and earth is occluded) by composing together Fortran subroutines from the NAIF subroutine library developed at the Jet Propulsion Laboratory. In essence, Amphion/NAIF synthesizes code for glueing together the NAIF components in a way such that the generated code implements the specification, with a concurrently generated proof that this implementation is correct. Amphion/NAIF demonstrated the success of domain-specific deductive program synthesis and is still in use today within the space science community. However, a number of questions remained open that we will attempt to answer in this paper.
Jon Whittle 0001, Jeffrey Van Baalen, Johann Schumann, Peter Robinson 0004, Thomas Pressburger, John Penix, Phil Oh, Michael R. Lowry, Guillaume Brat
ASE8
2001 Requirements Engineering and Program Synthesis: Mutually Exclusive or Synergistic?
abstract
There has often been a clash within the formal methods community between early life-cycle proponents, such as the requirements engineering community, and late life-cycle proponents, such as the program synthesis community. This paper first characterizes these positions and their underlying assumptions, and then exposes a common set of problems and approaches. The paper then proposes an integrated life-cycle framework and expounds on its potential benefits. Technical challenges to achieving this integrated life-cycle framework are described, as well as some preliminary work towards that goal.
Michael R. Lowry
RE1
2001 Formal Analysis of a Space-Craft Controller Using SPIN
abstract
The paper documents an application of the finite state model checker SPIN to formally analyze a multithreaded plan execution module. The plan execution module is one component of NASA's New Millennium Remote Agent, an artificial intelligence-based spacecraft control system architecture which launched in October of 1998 as part of the DEEP SPACE 1 mission. The bottom layer of the plan execution module architecture is a domain specific language, named ESL (Executive Support Language), implemented as an extension to multithreaded COMMON LISP. ESL supports the construction of reactive control mechanisms for autonomous robots and spacecraft. For the case study, we translated the ESL services for managing interacting parallel goal-and-event driven processes into the PROMELA input language of SPIN. A total of five previously undiscovered concurrency errors were identified within the implementation of ESL. According to the Remote Agent programming team, the effort has had a major impact, locating errors that would not have been located otherwise and, in one case, identifying a major design flaw. In fact, in a different part of the system, a concurrency bug identical to one discovered by this study escaped testing and caused a deadlock during an in-flight experiment, 96 million kilometers from Earth. The work additionally motivated the introduction of procedural abstraction in terms of inline procedures into SPIN.
Klaus Havelund, Michael R. Lowry, John Penix
IEEE Trans. Software Eng.2
1999 Guest Editorial
Christopher A. Welty, Michael R. Lowry, Yves Ledru
Autom. Softw. Eng.2
1998 Explaining Synthesized Software
abstract
Motivated by NASA's need for high-assurance software, NASA Ames' Amphion project has developed a generic program generation system based on deductive synthesis. Amphion has a number of advantages, such as the ability to develop a new synthesis system simply by writing a declarative domain theory. However, as a practical matter, the validation of the domain theory for such a system is problematic because the link between generated programs and the domain theory is complex. As a result, when generated programs do not behave as expected, it is difficult to isolate the cause, whether it be an incorrect problem specification or an error in the domain theory. The paper describes a tool being developed that provides formal traceability between specifications and generated code for deductive synthesis systems. It is based on extensive instrumentation of the refutation-based theorem prover used to synthesize programs. It takes augmented proof structures and abstracts them to provide explanations of the relation between a specification, a domain theory, and synthesized code. In generating these explanations, the tool exploits the structure of Amphion domain theories, so the end user is not confronted with the intricacies of raw proof traces. This tool is crucial for the validation of domain theories as well as being important in every-day use of the code synthesis system.
Jeffrey Van Baalen, Peter Robinson 0004, Michael R. Lowry, Thomas Pressburger
ASE3
1998 Towards a Theory for Integration of Mathematical Verification and Empirical Testing
abstract
From the viewpoint of a project manager who is responsible for the verification and validation (V&V) of a software system, mathematical verification techniques provide a potentially valuable addition to otherwise standard empirical testing. However, the value they add, both in terms of coverage and in fault detection, has been difficult to quantify. Potential cost savings from replacing testing with mathematical techniques cannot be realized until the tradeoffs can be quantified. This paper first describes a framework for a theory of software fault detection that is based on software reliability and formalized fault models. The novelty of this approach is that it takes into account the relative utility of the various tools for fault detection. Second, the paper describes a utility model for integrating mathematical and empirical techniques with respect to fault detection and coverage analysis for software. Third, the paper discusses how to determine the optimal combination of black-box testing, white-box (structural) testing and formal methods in V&V of a software system. Finally, a demonstration of how this utility model can be used in practice is offered using a case study from a NASA software system.
Michael R. Lowry, M. Boyd, D. Kulkarni
ASE1
1997 Verification and Validation of AI Systems that Control Deep-Space Spacecraft
Michael R. Lowry, Klaus Havelund, John Penix
ISMIS1
1997 META-AMPHION: Synthesis of Efficient Domain-Specific Program Synthesis Systems
Michael R. Lowry, Jeffrey Van Baalen
Autom. Softw. Eng.1
1994 Deductive Composition of Astronomical Software from Subroutine Libraries
Mark E. Stickel, Richard J. Waldinger, Michael R. Lowry, Thomas Pressburger, Ian Underwood
CADE3
1994 AMPHION: Automatic Programming for Scientific Subroutine Libraries
Michael R. Lowry, Andrew Philpot, Thomas Pressburger, Ian Underwood
ISMIS1
1993 Methodologies for Knowledge-Based Software Engineering
Michael R. Lowry
ISMIS1
1992 Symmetry as Bias: Rediscovering Special Relativity
Michael R. Lowry
AAAI1
1990 Algorithm Theories and Design Tactics
Douglas R. Smith, Michael R. Lowry
Sci. Comput. Program.2
1989 Algorithm Theories and Design Tactics
Douglas R. Smith, Michael R. Lowry
MPC2
1988 Invariant Logic: A Calculus for Problem Reformulation
Michael R. Lowry
AAAI1
1987 Algorithm Synthesis through Problem Reformulation
Michael R. Lowry
AAAI1
1987 The Abstraction/Implementation Model of Problem Reformulation
Michael R. Lowry
IJCAI1
1983 Learning Physical Descriptions From Functional Definitions, Examples, and Precedents
Patrick Henry Winston, Boris Katz, Thomas O. Binford, Michael R. Lowry
AAAI4
1982 Modeling and Using Physical Constraints in Scene Analysis
Martin A. Fischler, Stephen T. Barnard, Robert C. Bolles, Michael R. Lowry, L. H. Quam, Andrew P. Witkin
AAAI4