Building Confidence in Scientific Computing Software Via Assurance Cases

Assurance cases provide an organized and explicit argument for correctness. They can dramatically improve the certification of Scientific Computing Software (SCS). Assurance cases have already been effectively used for safety cases for real time systems. Their advantages for SCS include engaging domain experts, producing only necessary documentation, and providing evidence that can be verified/replicated. This paper illustrates assurance cases for SCS through the correctness case for 3dfim+, an existing Medical Imaging Application (MIA) for analyzing activity in the brain. This example was partly chosen because of recent concerns about the validity of fMRI (Functional Magnetic Resonance Imaging) studies. The example justifies the value of assurance cases for SCS, since the existing documentation is shown to have ambiguities and omissions, such as an incompletely defined ranking function and missing details on the coordinate system. A serious concern for 3dfim+ is identified: running the software does not produce any warning about the necessity of using data that matches the parametric statistical model employed for the correlation calculations. Raising the bar for SCS in general, and MIA in particular, is both feasible and necessary - when software impacts safety, an assurance case methodology (or an equivalently rigorous confidence building methodology) should be employed.

[1]  Fokie Cnossen,et al.  Proceedings of the First International Workshop on Situational Requirements Engineering Processes: Methods, Techniques and Tools to Support Situation-Specific Requirements Engineering Processes (SREP’05) , 2005 .

[2]  David Lorge Parnas,et al.  A Rational Design Process: How and Why to Fake It , 1985, TAPSOFT, Vol.2.

[3]  John McCutchan,et al.  Program Families in Scientific Computing , 2007 .

[4]  Tim Kelly A Systematic Approach to Safety Case Management , 2004 .

[5]  Mojdeh Sayari Nejad A CASE STUDY IN ASSURANCE CASE DEVELOPMENT FOR SCIENTIFIC SOFTWAR , 2017 .

[6]  M. H. van Emden,et al.  Interval arithmetic: From principles to implementation , 2001, JACM.

[7]  Wen Yu A Document Driven Methodology for Improving the Quality of a Parallel Mesh Generation Toolbox , 2007 .

[8]  Peter G. Bishop,et al.  A Methodology for Safety Case Development , 2000, SSS.

[9]  T. S. E. Maibaum,et al.  Assurance via model transformations and their hierarchical refinement , 2018, MoDELS.

[10]  T. S. E. Maibaum,et al.  A Software Certification Consortium and its Top 9 Hurdles , 2009, Electron. Notes Theor. Comput. Sci..

[11]  Diane Kelly,et al.  Advantages, Disadvantages and Misunderstandings About Document Driven Design for Scientific Software , 2016, 2016 Fourth International Workshop on Software Engineering for High Performance Computing in Computational Science and Engineering (SE-HPCCSE).

[12]  Linda Northrop Achieving Product Qualities Through Software Architecture Practices , 2004 .

[13]  Spencer Smith,et al.  Debunking the Myth That Upfront Requirements Are Infeasible for Scientific Computing Software , 2019, 2019 IEEE/ACM 14th International Workshop on Software Engineering for Science (SE4Science).

[14]  John C. Knight,et al.  Current Practices in Constructing and Evaluating Assurance Cases With Applications to Aviation , 2015 .

[15]  Alan Wassyng,et al.  Poster: Assurance Cases for Scientific Computing Software , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering: Companion (ICSE-Companion).

[16]  Patrick J. Roache,et al.  Verification and Validation in Computational Science and Engineering , 1998 .

[17]  Walter Lampl,et al.  A Roadmap for HEP Software and Computing R&D for the 2020s , 2019 .

[18]  Didar Zowghi,et al.  The Three Cs of Requirements : Consistency , Completeness , and Correctness , 2002 .

[19]  W. Spencer Smith,et al.  A Document-Driven Method for Certifying Scientific Computing Software for Use in Nuclear Safety Analysis , 2016 .

[20]  John Spriggs,et al.  GSN - The Goal Structuring Notation , 2012 .

[21]  Tim Storer,et al.  Bridging the Chasm , 2017, ACM Comput. Surv..

[22]  Dipak Gade,et al.  Assurance Driven Software Design using Assurance Case Based Approach , 2015 .

[23]  Jonathan Riddell,et al.  Evidence : Using safety cases in industry and healthcare , 2012 .

[24]  Judith Segal,et al.  Developing Scientific Software , 2008, IEEE Software.

[25]  Fred B. Schneider,et al.  A Logical Approach to Discrete Math , 1993, Texts and Monographs in Computer Science.

[26]  Diane Kelly,et al.  Task-directed software inspection technique: an experiment and case study , 2000, CASCON.

[27]  Judith Segal,et al.  Models of scientific software development , 2008, CSE 2008.

[28]  Ridha Khédri,et al.  Requirements Analysis for Engineering Computation: A Systematic Approach for Improving Reliability , 2007, Reliab. Comput..

[29]  Diane Kelly A Software Chasm: Software Engineering and Scientific Computing , 2007, IEEE Software.

[30]  Hans van Vliet,et al.  Software engineering (2nd ed.): principles and practice , 2000 .

[31]  Judith Segal,et al.  When Software Engineers Met Research Scientists: A Case Study , 2005, Empirical Software Engineering.

[32]  Capers Jones,et al.  Embedded Software: Facts, Figures, and Future , 2009, Computer.

[33]  Carlo Ghezzi,et al.  Fundamentals of Software Engineering , 2011, Lecture Notes in Computer Science.

[34]  John Rushby,et al.  The Interpretation and Evaluation of Assurance Cases , 2015 .

[35]  John Goodenough,et al.  Arguing Security – Creating Security Assurance Cases , 2014 .

[36]  Ridha Khedri,et al.  Requirements Analysis for Engineering Computation , 2004 .

[37]  Jeffrey C. Carver,et al.  Software Development Environments for Scientific and Engineering Software: A Series of Case Studies , 2007, 29th International Conference on Software Engineering (ICSE'07).

[38]  Diane Kelly,et al.  Software Engineering for Scientists , 2011, Comput. Sci. Eng..

[39]  Hao Wang,et al.  Can Product-Specific Assurance Case Templates Be Used as Medical Device Standards? , 2015, IEEE Design & Test.

[40]  J. M. Singer,et al.  IEEE Recommended Practice for Software Requirements SpeciÞcations , 1993 .