John B. Goodenough
Software Engineering Institute
John B. Goodenough is an SEI alumni employee.
Although John Goodenough, an ACM and SEI fellow, retired from the SEI in December 2011, he has continued as a part-time employee. During this time, his research has focused on methods for establishing how much confidence one should have in an argument intend-ed to justify claims about system properties. This work has most recently been extended to establishing confidence in properties of a portfolio of research projects.
Prior to retirement, Goodenough led the SEI's System of Systems (SoS) Software Assurance (SoSSA) research initiative starting in 2008. This initiative investigated assurance issues that arise in large-scale systems of systems. The key research question was to determine what types of evidence (and associated argumentation) are needed to achieve justified con-fidence that SoS behavior (with respect to quality attributes such as reliability, availability, performance, or security) are acceptable when the SoS is used in its actual and evolving use environment.
From 2002 until 2007, Goodenough led the Performance Critical Systems Initiative, which focused on researching the application of assurance cases. From 1996 until 2002, he was the chief technical officer of the SEI. From 1986 until 1996, he led a project developing the theory and practice of rate monotonic analysis for real-time systems.
Goodenough was named a Fellow of the Association for Computing Machinery (ACM) in 1995. He was a distinguished reviewer for the Ada 95 language revision effort and served as head of the U.S. delegation to the ISO Working Group on Ada. He was the principal author of the document specifying the revision requirements for Ada 95 and served as chair of the group responsible for recommending interpretations of the Ada language.
Before joining the SEI, Goodenough was manager of the research and development depart-ment of SofTech, Inc. His work focused on the Ada programming language. He was the principal designer of one of the candidate languages leading to Ada. He later led the Ada Compiler Validation effort and helped develop Ada training materials.
Goodenough worked at the Wang Institute of Graduate Studies as a visiting scholar, where he lectured on software reusability and testing and led seminars on object-oriented lan-guages. He also worked at the Air Force Electronic Systems Division in Bedford, Mass. There, he was responsible for formulating contract and in-house research and development, and he sponsored the first research work on software maintenance.
Publications by John B. Goodenough
-
Architecting the Future of Software Engineering: A National Agenda for Software Engineering Research & Development
November 03, 2021 • Book
Anita CarletonMark H. KleinJohn E. Robert
The SEI led the community in creating this multi-year research and development vision and roadmap for engineering next-generation software-reliant systems.
read -
Assured Design Session Opening Remarks
October 16, 2015 • Presentation
John B. Goodenough
Explores a definition of assured design as having justified confidence that a (software-reliant) system design has particular properties
read -
Improving Quality Using Architecture Fault Analysis with Confidence Arguments
March 10, 2015 • Technical Report
Peter H. FeilerCharles B. WeinstockJohn B. Goodenough
The case study shows that by combining an analytical approach with confidence maps, we can present a structured argument that system requirements have been met and problems in the design have been addressed adequately.
read -
Eliminative Argumentation: A Basis for Arguing Confidence in System Properties
February 25, 2015 • Technical Report
John B. GoodenoughCharles B. WeinstockAri Z. Klein
This report defines the concept of eliminative argumentation and provides a basis for assessing how much confidence one should have in an assurance case argument.
read -
Arguing Security - Creating Security Assurance Cases
July 05, 2013 • White Paper
Charles B. WeinstockHoward F. LipsonJohn B. Goodenough
In this paper, the authors explain an approach to documenting an assurance case for system security.
read -
Four Pillars for Improving the Quality of Safety-Critical Software-Reliant Systems
April 29, 2013 • White Paper
Peter H. FeilerJohn B. GoodenoughArie Gurfinkel
This white paper presents an improvement strategy comprising four pillars of an integrate-then-build practice that lead to improved quality through early defect discovery and incremental end-to-end validation and verification.
read -
Eliminative Induction: A Basis for Arguing System Confidence
March 20, 2013 • Conference Paper
John B. GoodenoughCharles B. WeinstockAri Z. Klein
In this paper, the authors explain how the principle of eliminative induction provides a basis for assessing confidence in an assurance case argument.
read -
Measuring Assurance Case Confidence using Baconian Probabilities
March 01, 2013 • Conference Paper
John B. GoodenoughAri Z. KleinCharles B. Weinstock
In this 2013 paper, the authors discuss how to assess confidence in a case by considering the doubts eliminated by the claims and evidence in a case.
read -
Reliability Improvement and Validation Framework
November 01, 2012 • Special Report
Peter H. FeilerJohn B. GoodenoughArie Gurfinkel
This report discusses the reliability validation and improvement framework developed by the SEI. The purpose of this framework is to provide a foundation for addressing the challenges of qualifying increasingly software-reliant, safety-critical systems.
read -
Toward a Theory of Assurance Case Confidence
September 01, 2012 • Technical Report
John B. GoodenoughCharles B. WeinstockAri Z. Klein
In this report, the authors present a framework for thinking about confidence in assurance case arguments.
read -
Software Assurance for System of Systems
May 01, 2011 • White Paper
John B. GoodenoughLinda M. Northrop
In this paper, the authors discuss confidence in system and SoS behavior and how theories can be used to make the assurance process more effective.
read -
Evaluating and Mitigating Software Supply Chain Security Risks
May 01, 2010 • Technical Note
Robert J. EllisonJohn B. GoodenoughCharles B. Weinstock
In this 2010 report, the authors identify software supply chain security risks and specify evidence to gather to determine if these risks have been mitigated.
read -
Overview of Distributed Constraint Satisfaction and Optimization
March 31, 2010 • Presentation
Andres Diaz-PaceJoseph GiampapaJohn B. Goodenough
This presentation describes problem-solving algorithms and presents Distributed Constraint Optimization Problems (D-COP) algorithms as a "toolbox" for agent-based modeling.
read -
System of Systems Software Assurance
November 02, 2009 • White Paper
John B. Goodenough
This white paper describes SEI investigation into ways to provide justified confidence that a system of systems will behave as needed in its actual and evolving usage environments.
read -
Towards an Assurance Case Practice for Medical Devices
October 01, 2009 • Technical Note
Charles B. WeinstockJohn B. Goodenough
In this report, the authors explore how to enable manufacturers and federal regulators gain confidence in software-dominated medical devices.
read -
Evaluating Hazard Mitigations with Dependability Cases
April 21, 2009 • White Paper
Matthew R. Barry (Software Intensive Systems, Inc.)John B. Goodenough
In this 2009 paper, the authors present an example to show the value a dependability case adds to a traditional hazard analysis.
read -
Results of SEI Independent Research and Development Projects (FY 2008)
December 01, 2008 • Technical Report
Dionisio de NizGabriel MorenoRobert Nord
This report describes the independent research and development (IRAD) projects that were conducted during fiscal year 2008 (October 2007 through September 2008).
read -
Survivability Assurance for System of Systems
May 01, 2008 • Technical Report
Robert J. EllisonJohn B. GoodenoughCharles B. Weinstock
In this report, the authors describe the Survivability Analysis Framework, a structured view of people, process, and technology.
read -
Panel: Promising Research Areas
March 06, 2008 • Presentation
Richard P. Gabriel (Sun Microsystems)John B. GoodenoughMark H. Klein
SMART Event, March 6, 2008
read -
ULS Systems Research Roadmap 2008
March 06, 2008 • Presentation
John B. Goodenough
Presentation made at the 2008 SMART Ultra-Large-Scale System Forum, held at Carnegie Mellon University in Pittsburgh, PA.
read -
ULS Systems Research Roadmap
June 01, 2007 • Presentation
John B. Goodenough
Presented: June 2007
read -
Ultra-Large-Scale Systems: The Software Challenge of the Future
June 01, 2006 • Book
Peter H. FeilerKevin Sullivan (University of Virginia)Kurt C. Wallnau
Ultra-Large-Scale Systems: The Software Challenge of the Future is the product of a 12-month study of ultra-large-scale (ULS) systems software.
read -
On System Scalability
March 01, 2006 • Technical Note
Charles B. WeinstockJohn B. Goodenough
This 2006 report presents an analysis of what is meant by scalability and a description of factors to be considered when assessing the potential for system scalability.
read -
Results of SEI Independent Research and Development Projects and Report on Emerging Technologies and Technology Trends (FY2005)
December 01, 2005 • Technical Report
Rosann W. CollinsRick KazmanRichard C. Linger (Oak Ridge National Laboratory)
This report describes the IR&D projects that were conducted during fiscal year 2005 (October 2004 through September 2005). In addition, this report provides information on what the SEI has learned in its role as a technology scout for developments over the past year in the field of software engineering.
read -
Dependability Cases
May 01, 2004 • Technical Note
Charles B. WeinstockJohn B. GoodenoughJohn J. Hudak
In this 2004 report, the authors explain how to create a dependability case for a system that helps identify and keep track of details of large systems.
read -
ADA Adoption Handbook: A Program Manager's Guide, Version 2.0
October 01, 1992 • Technical Report
William E. HefleyJohn T. ForemanChuck Engle Jr.
The handbook addresses the advantages and risks in adopting ADA. Significant emphasis has been placed on providing information and suggesting methods that will help program and project managers succeed in using ADA across a broad range of applications.
read -
ADA Validation Tests for Rate Monotonic Scheduling Algorithm
February 01, 1992 • Technical Report
Keith A. KohoutKent MeyerJohn B. Goodenough
This report presents a set of tests for checking whether an ADA runtime system properly supports certain rate monotonic scheduling algorithms, specifically, the basic inheritance and priority ceiling protocols.
read -
Rate Monotonic Analysis for Real-Time Systems
March 01, 1991 • Technical Report
Lui R. ShaMark H. KleinJohn B. Goodenough
In this report, we review important decisions in the development of RMA. Our experience indicates that technology transition considerations should be embedded in the process of technology development from the start, rather than as an afterthought.
read -
Generic Avionics Software Specification
December 01, 1990 • Technical Report
Doug LockeLee Lucas (Naval Weapons Center)John B. Goodenough
This 1990 report informally specifies the general functions, data interactions, and timing constraints for an avionics mission control computer system typical of those found in some existing U.S. Navy/Marine Corps aircraft.
read -
Real-Time Scheduling Theory and ADA
April 01, 1989 • Technical Report
Lui R. ShaJohn B. Goodenough
This 1989 report reviews important results of a priority-based scheduling theory and discusses implications for the Ada tasking model.
read -
Real-Time Scheduling Theory and ADA (1988)
November 01, 1988 • Technical Report
Lui R. ShaJohn B. Goodenough
This 1988 report reviews results of a priority-based scheduling theory, illustrates its applications with examples, discusses its implications for the Ada tasking model, and suggests workarounds.
read -
Mode Change Protocols for Priority-Driven Preemptive Scheduling
November 01, 1988 • Technical Report
Lui R. ShaJohn B. GoodenoughRagunathan Rajkumar
This 1988 report discusses a protocol for accomplishing mode change in the context of a priority-driven preemptive scheduling environment.
read -
A Practical Application of the Ceiling Protocol in a Real-Time System
March 01, 1988 • Special Report
Doug LockeJohn B. Goodenough
This paper discusses real-time design issues that arise when using the priority ceiling protocol for real-time systems.
read -
The Priority Ceiling Protocol: A Method for Minimizing the Blocking of High-Priority ADA Tasks
March 01, 1988 • Special Report
John B. GoodenoughLui R. Sha
The priority ceiling protocol is a new technique that addresses the priority inversion problem. Under the priority ceiling protocol, a high priority task can be blocked at most once by a lower priority task.
read -
ADA Adoption Handbook
May 01, 1987 • Technical Report
John T. ForemanJohn B. Goodenough
This technical report has been superseded by CMU/SEI-92-TR-029. Please refer to the new page for information about this report.
read