Software Science: How Far Could Mathematics and Rigor Take Us?

Similar documents
Quantitative Safety Analysis of Non-Deterministic System Architectures

Modeling Input Space for Testing Scientific Computational Software: A Case Study

IMPROVING THE ACCURACY OF RUNWAY ALLOCATION IN AIRCRAFT NOISE PREDICTION

Semi-asynchronous. Fault Diagnosis of Discrete Event Systems ALEJANDRO WHITE DR. ALI KARIMODDINI OCTOBER

DVClub Europe Formal fault analysis for ISO fault metrics on real world designs. Jörg Große Product Manager Functional Safety November 2016

Today s Lecture. Mars Climate Orbiter. Lecture 21: Software Disasters. Mars Climate Orbiter, continued

Joint work with Marie-Aude Esteve, Joost-Pieter Katoen, Bart Postma and Yuri Yushtein.

Supervisory Control: Advanced Theory and Applications

Methods for Software Verification. Andrea Corradini Gian Luigi Ferrari. Second Semester 6 CFU

An Informal introduction to Formal Verification

Seamless Model Driven Development and Tool Support for Embedded Software-Intensive Systems

MetConsole LLWAS (Low Level Wind Shear Alert System)

Autonomous Agent Behaviour Modelled in PRISM A Case Study

Vaisala AviMet Automated Weather Observing System

Ranking Verification Counterexamples: An Invariant guided approach

MetConsole AWOS. (Automated Weather Observation System) Make the most of your energy SM

arxiv: v1 [cs.lo] 7 Dec Department of Electrical and Computer Engineering,

arxiv: v1 [cs.se] 6 Dec 2017

Methodology to combine Formal and Fault simulator to measure safety metrics

Algorithmic Verification of Stability of Hybrid Systems

This unit is primarily aimed at learners who intend to seek employment within the maritime industry.

Safety and Reliability of Embedded Systems. (Sicherheit und Zuverlässigkeit eingebetteter Systeme) Fault Tree Analysis Obscurities and Open Issues

NOAA Supercomputing Directions and Challenges. Frank Indiviglio GFDL MRC Workshop June 1, 2017

Paul Bridge Meteorologist Vaisala/UKMO Work Groups/Committees: WMO/TRB/AMS

Chapter 2. Theory of Errors and Basic Adjustment Principles

Property Directed Equivalence via Abstract Simulation. Grigory Fedyukovich, Arie Gurfinkel, and Natasha Sharygina

Report on the U.S. NLDN System-wide Upgrade. Vaisala's U.S. National Lightning Detection Network

Department of Electrical and Computer Engineering University of Wisconsin Madison. Fall Final Examination

Software Verification with Abstraction-Based Methods

Model-based testing. November2017

SciBox, a Proven Automated Planning and Commanding System

Aromatic Chemistry: Theory and Laboratory Skills (SCQF level 8)

Complex Systems Design & Distributed Calculus and Coordination

Knights, Knaves, and Logical Reasoning Mechanising the Laws of Thought

Model Repair in Systems Design. Panagiotis Katsaros Aristotle University of Thessaloniki (GR)

The Vaisala AUTOSONDE AS41 OPERATIONAL EFFICIENCY AND RELIABILITY TO A TOTALLY NEW LEVEL.

Management of Requirements Changes in Sequence-Based Software Specifications

Reliable Computing I

Doppler Weather Radars and Weather Decision Support for DP Vessels

Intel s Successes with Formal Methods

Alabama Chemistry Core Content Standards

Scientific Method. Chapter 1.3. Copyright Cmassengale

The ATU Decision Support System (DSS)

Marlene H. Dortch Secretary, Federal Communications Commission th Street, S.W. Washington, D.C

Linear Algebra, Boolean Rings and Resolution? Armin Biere. Institute for Formal Models and Verification Johannes Kepler University Linz, Austria

Elementary Linear Algebra

Formal verification of IA-64 division algorithms

Safety analysis and standards Analyse de sécurité et normes Sicherheitsanalyse und Normen

Runtime Verification of Stochastic, Faulty Systems

THE COLLECTION AND STANDARDIZATION OF GEOGRAPHICAL NAMES

The State Explosion Problem

Comp 11 Lectures. Mike Shah. July 26, Tufts University. Mike Shah (Tufts University) Comp 11 Lectures July 26, / 40

Wellsite Consulting Services Diversified Well Logging LLC. All Rights Reserved.

Enumeration Schemes for Words Avoiding Permutations

SAFETY GUIDED DESIGN OF CREW RETURN VEHICLE IN CONCEPT DESIGN PHASE USING STAMP/STPA

Risk Analysis of Highly-integrated Systems

QCA: Strengths, Weaknesses, Policy Relevance

Scalable and Accurate Verification of Data Flow Systems. Cesare Tinelli The University of Iowa

Unit title: Fundamental Chemistry: An Introduction (SCQF level 6)

URTeC: Abstract

MODELLING DYNAMIC RELIABILITY VIA FLUID PETRI NETS

A Complete Method for Algorithm Validation

Identifying and Analyzing Implicit Interactions in Critical Infrastructure Systems

A Reliability-oriented Evolution Method of Software Architecture Based on Contribution Degree of Component

Model Checking. Boris Feigin March 9, University College London

AP Physics 1. Essential Question(s) Standards(College Board Standards for Science)

Mechanizing Elliptic Curve Associativity

ECONOMIC AND FINANCIAL ANALYSIS

University of Surrey. Bounded Retransmission in Event-B CSP: A Case Study. Steve Schneider, Helen Treharne and Heike Wehrheim

The Green-OAWL (GrOAWL) Airborne Demonstrator for the ATHENA-OAWL Mission Concept: System Progress and Flight Plans

Module 2, Investigation 1: Briefing Where do we choose to live and why?

Determining The Pattern for 1- fault Tolerant Hamiltonian Cycle From Generalized Petersen Graph P(n,k)

Redundant Array of Independent Disks

The Complexity of a Reliable Distributed System

Agent-Based HOL Reasoning 1

Last Time. Inference Rules

Integrated Electricity Demand and Price Forecasting

Nonlinear Discrete Optimization

1 Introduction. Station Type No. Synoptic/GTS 17 Principal 172 Ordinary 546 Precipitation

Program verification. Hoare triples. Assertional semantics (cont) Example: Semantics of assignment. Assertional semantics of a program

Multi-State Availability Modeling in Practice

Improving the Efficiency of Dynamic Fault Tree Analysis by Considering Gate FDEP as Static

Western States Rural Transportation Consortium Meeting. June 14, 2011

: Principles of Autonomy and Decision Making Final Exam

Enhancing Parcel Data In Colleton County. February 10, 2009

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1

FURTHER EXPANSION OF GOLD DISCOVERY AT COLUMBUS PROJECT REPORTED BY IRELAND INC.

NONPARAMETRIC STATISTICAL METHODS BY MYLES HOLLANDER, DOUGLAS A. WOLFE, ERIC CHICKEN

: Principles of Autonomy and Decision Making Final Exam Solutions

The Future of the USAP Antarctic Internet Data Distribution System

Warm-Up Problem. Is the following true or false? 1/35

Optimization-based Modeling and Analysis Techniques for Safety-Critical Software Verification

Planetary Protection at ESA Issues & Status

Traversing a n-cube without Balanced Hamiltonian Cycle to Generate Pseudorandom Numbers

Certified Roundoff Error Bounds using Semidefinite Programming

MINERAL RESERVE AND MINERAL RESOURCE STATEMENT PROVEN AND PROBABLE MINERAL RESERVES

Semester I BASIC STATISTICS AND PROBABILITY STS1C01

Methods for the specification and verification of business processes MPB (6 cfu, 295AA)

Interval Arithmetic An Elementary Introduction and Successful Applications

GISLab (UK) School of Computing and Mathematical Sciences Liverpool John Moores University, UK. Dr. Michael Francis. Keynote Presentation

Transcription:

Software Science: How Far Could Mathematics and Rigor Take Us? New Proposal Dr. Lan Lin (llin4@bsu.edu) Ball State University November 8, 2017 1

Some well-known software failures } Compiled by Gang Tan, Penn State University Knight Capital s $40 million loss (8/1/2012) Microsoft Zune s New Year crash (12/312008) Air traffic control system in LA airport (9/14/2004) Northeast blackout (8/14/2003) NASA Mars climate orbiter (9/23/1999) Denver airport baggage-handling system (11/1993 6/1994) Therac-25 (6/1985 1/1987) USS Yorktown incident (9/1997) Ariane 5 Explosion (9/1997) } Cost of correcting an error $1 in requirements analysis $2 in preliminary design $4 in detailed design $8 in code and test $16 in integration test $32 in the field 2

Searching for software silver bullets } Industry focus } Short development cycles } No failures in the field } Our goal: the economical production of high quality software } Societal need: safe software, dependable software, designed software } Designed systems vs. accidental systems } Correct software by design } Choices are limited. 3

Software silver bullets } Precise specifications } Code generation from specifications } Automated program verification } Automated statistical certification } Design for testability } Design for conceptual integrity } Software development as an engineering process with mathematical foundations 4

Goals of the proposed research } To touch the surface of the fundamental problem of software engineering } To seek an economical means to introduce and apply more rigorous methods } To define a systematic process with a workflow and tool chain for such integration 5

Mathematical nature of SW development } Every software program implements the mapping rule of a mathematical function [Mills 75]. } Sequence-based software specification [Prowell and Poore] } High-quality software design in essence relies on conceptual integrity [Brooks 95, 10]. } Linear software models and the modularity matrix [Exman] } Software testing is a statistical experiment; development should be placed under statistical quality control [Mills 87]. } Statistical testing based on a Markov chain usage model [Whittaker and Poore] 6

Sequence-based software specification } Systematically derive mathematically rigorous specification from requirements Source: Poore et al., From requirements to automated statistical testing, 2007 Source: Prowell and Swain, Sequence-based specification of critical software systems, 2004 7

Usage-based statistical testing } Comprehensive application of statistical science to the testing of software } Demonstrate highly likely paths do not fail Population (All Uses) What to test: a statistically appropriate sample Sample (Tests) How much to test: a statistically valid inference Source: Swain and UTK SQRL, Model-based statistical testing, 2013 8

Combining them together Source: Poore et al., From requirements to automated statistical testing, 2007 Source: Poore and Eschbach, Sequencebased specification and statistical testing for embedded systems, 2007 9

Specification to implementation } Require a high level architecture } Define an implementation for } Stimulus gathering } Response generation } State data items } State box entries requirements } Map state data to architectural components } Map state box entry implementation to architecture S* R BB: S* --> R S x T T x R S x T T x R SB: S x T --> T x R SBS SBS SBS + architecture CB: S x T --> T x R Source: Swain and UTK SQRL, Sequence-based specification, 2013 10

Strengthening the linkage } Use Exman s linear software models and the modularity matrix to check the design after state box clear box refinement } A formal theory of modularity based on plain linear algebra } Enable formal treatment of informal design notions and principles } Make conceptual integrity quantitative calculations Source: Exman, Linear software models: An algebraic theory of software composition, keynote at SEKE 2016 11

Strengthening the linkage } Incorporate combinatorial testing techniques to achieve good combinatorial coverage of the generated test suite } One more sampling option enabling high fault detection rate besides reliability estimation } Sequence covering arrays Source: Rick Kuhn (NIST), Combinatorial methods in software testing, keynote at SCSE 2015 12

The proposed workflow } Each step based on mathematically-based methods that have been proven to be sound and promising Sequence-Based Specification Requirements Delivered Software Software Certification statistics function + automaton linear algebra Formal Specification Testing Combinatorial Testing Statistical Testing combinatorics statistics Linear Software Models and Modularity Matrix Modular Design Code/ Implementation theory practice theory 13

Deliverables } A theory that connects rigorous specification with conceptual software design } A theory that augments statistical testing with combinatorial testing } A process that flows from original requirements to modular design to testing all based on rigorous methods } A real-world case study to demonstrate its feasibility and practicality } Publications in suitable venues 14

15