Expert System Presentation On…. Software Certification for Industry - Verification and Validation Issues in Expert Systems By Anca I. Vermesan Presented.

Slides:



Advertisements
Similar presentations
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Advertisements

Testing and Quality Assurance
Ossi Taipale, Lappeenranta University of Technology
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 2.
©Ian Sommerville 2000Software Engineering. Chapter 22Slide 1 Chapter 22 Verification and Validation.
Verification and Validation: A Quick Introduction 1-2 Lectures.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
1 Verification, validation and testing Chapter 12, Storey.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
SE 555 Software Requirements & Specification Requirements Validation.
Testing an individual module
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
Introduction to Software Testing
Verification and Validation
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Software Integration and Documenting
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 23 Slide 1 Software testing Slightly adapted by Anders Børjesson.
CLEANROOM SOFTWARE ENGINEERING.
Software Testing.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Software Testing Testing types Testing strategy Testing principles.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
This chapter is extracted from Sommerville’s slides. Text book chapter
BE-SECBS FISA 2003 November 13th 2003 page 1 DSR/SAMS/BASP IRSN BE SECBS – IRSN assessment Context application of IRSN methodology to the reference case.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
1 Introduction to Software Engineering Lecture 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
Safety-Critical Systems 5 Testing and V&V T
Software Testing and Quality Assurance Software Quality Assurance 1.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
MODES-650 Advanced System Simulation Presented by Olgun Karademirci VERIFICATION AND VALIDATION OF SIMULATION MODELS.
A Review of Software Testing - P David Coward Reprinted: Information and Software Technology; Vol. 30, No. 3 April 1988 Software Engineering: The Development.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Smart Home Technologies
SAFEWARE System Safety and Computers Chap18:Verification of Safety Author : Nancy G. Leveson University of Washington 1995 by Addison-Wesley Publishing.
Software Requirements Specification Document (SRS)
Software Quality Assurance and Testing Fazal Rehman Shamil.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
SE513 Software Quality Assurance Lecture12: Software Reliability and Quality Management Standards.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Slide 1SATC June 2000 Dolores R. Wallace* NASA Goddard Space Flight Center Greenbelt, Maryland for the American Society.
SOFTWARE TESTING SOFTWARE TESTING Presented By, C.Jackulin Sugirtha-10mx15 R.Jeyaramar-10mx17K.Kanagalakshmi-10mx20J.A.Linda-10mx25P.B.Vahedha-10mx53.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
 System Requirement Specification and System Planning.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Software Testing. Software Quality Assurance Overarching term Time consuming (40% to 90% of dev effort) Includes –Verification: Building the product right,
A Review of Software Testing - P. David Coward
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Quality Control and Quality Assurance: Introduction
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Verification and Validation
Software Quality Engineering
Verification and Validation Overview
BASICS OF SOFTWARE TESTING Chapter 1. Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability.
Introduction to Software Testing
Lecture 09:Software Testing
Verification and Validation Unit Testing
Software testing.
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Presentation transcript:

Expert System Presentation On…. Software Certification for Industry - Verification and Validation Issues in Expert Systems By Anca I. Vermesan Presented by Wilford Morrison

Software Certification for Industry - Topics Introduction KBS Characteristics applicable to V&V –Task Related –Architecture Related Software Certification –Product vs Process Certification Components of Certification –Quality Characteristics of KBS –V&V Methods & Techniques –Methods of Certification Industrial Needs –V&V of Safety Critical Systems Conclusion V&V – Verification & Validation KBS- Knowledge- based Software

What is Verification and Validation? V&V techniques used What is Certification? Components of Certification Why Certification for KBS? Issues with Certification Software Certification for Industry Introduction

Software Certification for Industry New V&V techniques developed for KB component Two major characteristics: –Type of task performed – What are specific task being carried out within a narrow domain? –Type of Internal architecture – The similarity of architecture across all KBS Characteristics of KBS Applicable to V&V

Software Certification for Industry The vague nature of the requirement specification Incremental nature of the knowledge elicitation process Not amenable to formal analysis Characteristics of KBS Applicable to V&V Task-Related : Issue: In KBS what serve as input is typically not well defined at the outset and the relation of possible inputs to the output may not be clear either compared to conventional system

Software Certification for Industry Uses declarative style programming languages (usually Rule-based) Often cause different types of errors and anomalies (new V&V technique needed) Characteristics of KBS Applicable to V&V Architecture-Related : Issue: While some of the errors are similar to conventional software, the effects and methods of detection are rather different

Software Certification for Industry Why software certification? –Gives confidence, quality and dependability –Determinant factor in software competitiveness –Assuring their conformance with requirements and specifications Software Certification

Software Certification for Industry Composed of three types:- –Self certification- when a producer declares that their product conforms to specified standards –Buyer certification- a particular buyer may require that products be submitted for certification by a specified body –Third-party- a body independent of both the producer and the user carries out the certification process (the focus of this paper) Software Certification ….cont’d

Software Certification for Industry Consist of three major activities:- –Software quality evaluation- involves V&V techniques, tests, static/dynamic analysis as a measurement to determine quality of the software –Software quality assessment- the process of comparing the actual tests and measurements of the functions of interest with the specifications –Software quality certification- an independent third party gives written assurance that a software product or process conforms to specified functions Software Certification ….cont’d

Software Certification for Industry Software Certification ….cont’d Product vs. Process Certification The idea that process-approach gave way to product-approach Ultimate goal of certification is to assess the quality of the software product Therefore, process certification is intended to analyse the software development process

Software Certification for Industry Process Oriented Certification steps include:- –Certifier and manufacturer agree on criticality of the software –A software methodology is then agreed upon –Software is developed, validated and tested according to the methodology –Documented results allow the certifier to approve the process and a certificate may be granted Software Certification ….cont’d Product vs. Process Certification

Software Certification for Industry Product Oriented Certification steps include :- –Analysis of the actual requirement for the evaluation (This may refer to standards and regulations with which the product should comply) –Specification of the evaluation that is to comply with the requirements identified by the analysis –Design of the evaluation which shall identify evaluation techniques and plan –Performing the evaluation (consist of inspecting and testing product parts) –Reporting the result obtained from performing the above activities Software Certification ….cont’d Product vs. Process Certification

Software Certification for Industry The three major components are:- –Quality characteristics –V&V methods and techniques –Certification methods Components of Certification

Software Certification for Industry This list consist of:- –Competency- this deals with the quality of the knowledge in the system relative to human skills –Completeness- this involves ensuring all the knowledge is referenced and there is no attempts to access non-existing knowledge –Correctness- the knowledge within the KB should be 100% –Reliability- determines how often a system fails to arrive at the correct solution to a problem –Testability- system should be designed so that a test plan can be carried out –Verifiability- possible to establish logical correctness of the KB through verification Components of Certification ….cont’d Quality characteristics

Software Certification for Industry Clustered into two main groups:- –Non-method specific techniques- involves human analysis of a product –Method specific techniques- involves using a formal and structured approach Components of Certification ….cont’d V&V Methods and Techniques

Software Certification for Industry Non-method specific techniques –Involves human analysis of product, relying on individuals to use their experience to find errors –Involves the general examination of programs by using reviews, walkthroughs and inspections to identify defects and discrepancies –Inspections are aim at detecting semantically incorrect knowledge Components of Certification ….cont’d V&V Methods and Techniques Issue: Use of this technique usually lead to bias and omissions

Software Certification for Industry Method specific techniques –The properties of the product are well defined and can be expressed in a structured and formal way –This method may offer rigorous checks of the code functionality to mathematical proof of specification refinement –Can be further classified into:- Empirical methods Logical methods Components of Certification ….cont’d V&V Methods and Techniques

Software Certification for Industry Empirical Methods Involves running a prototype system on a selection of test cases and assessing the results. (Known as “black-box” validation ) Logical Methods Consist of identifying anomalies such as redundant, contradictory, circular or deficient knowledge. (Known as “white-box” validation ) Components of Certification ….cont’d V&V Methods and Techniques Issue: exhaustive testing is impossible due to the many paths through the KB

Software Certification for Industry Common methods used are:- –Static Analysis –Dynamic Testing –Inspections –Modeling Components of Certification ….cont’d Methods of Certification

Software Certification for Industry Static Analysis –This involves subjecting the program texts (and its requirements and specifications documents) to scrutiny and review in order to detect inconsistencies and omissions Static Analysis –This is a generic form for techniques of software analysis which do not involve software execution –Other forms include, dataflow diagrams, symbolic execution, requirements tracing and program proving Components of Certification ….cont’d Methods of Certification Note: Static methods are in general judged cheaper, more practical to perform, and more amenable to automatic testing than dynamic methods

Software Certification for Industry Dynamic Testing –Encompasses any form of software analysis, which involves software execution. –In KBS, the input space may be so large that it is infeasible to examine the behavior for all inputs –Also for KBS, an expert is usually required to judge the errors detected, and many test cases need to be generated for systems with extensive chaining between rules –Other forms include, random testing, equivalence partitioning, boundary testing and cause-effect graphs Components of Certification ….cont’d Methods of Certification Note: Dynamic testing for evaluation in the view of certification would most likely involve re-running test cases prepared during the software process development and applied during the testing phase

Software Certification for Industry Software Certification has strategic importance to all industries Mature software industry help to integrate other industries Improved V&V techniques along with considerable experience and expertise has lead to a transfer to industry Industrial Needs

Software Certification for Industry As essential components- where the KB element performs an essential function within the system and without which the system will not perform As advisory components- where they act in an advisory or supervisory capacity to enhance an independent system Industrial Needs….cont’d KBS in Safety Critical System Note: - When a KBS fails, it usually fails catastrophically rather than safely - KBS put a burden on the overall system hazard and safety analysis

Software Certification for Industry V&V of KBS are as much potential value to certification specialists as they are to software producers Certification of KBS cannot be sufficiently accomplished by use of static testing means V&V need objective points of reference on which to guide the certification activities Conclusion

Software Certification for Industry The “process culture” of traditional software engineering may at last lead to the “product culture” in knowledge engineering Increasing use of software embedded in systems that need to be certified for safety reasons will demonstrate the necessity for software certification Software certification has a strategic importance, as it is a way in which the software industry can become mature and integrate harmonically with other industries Conclusion….cont’d

Software Certification for Industry - Verification and Validation Issues in Expert Systems Questions?