Model-based Quality Assurance of Automotive Software



Similar documents
Secure Software Architecture Description using UML Jan Jürjens Competence Center for IT Security Software & Systems Engineering TU Munich, Germany

Page 1. Outline of the Lecture. What is Software Configuration Management? Why Software Configuration Management?

Configuration & Build Management

What is a life cycle model?

Motivation and Contents Overview

Software Configuration Management. Addendum zu Kapitel 13

Embedded Software development Process and Tools:

Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors

Best Practices for Verification, Validation, and Test in Model- Based Design

Model Checking based Software Verification

Chapter 13 Configuration Management

Engineering Object Change Management Process Observation in Distributed Automation Systems Projects

Model-based Security Analysis for Mobile Communications

Towards Modeling and Transformation of Security Requirements for Service-oriented Architectures

µfup: A Software Development Process for Embedded Systems

Die wichtigsten Use Cases für MISRA, HIS, SQO, IEC, ISO und Co. - Warum Polyspace DIE Embedded Code-Verifikationslösung ist.

Process Automation and Quality Management in Multi-Disciplinary Engineering Environments

Designing Real-Time and Embedded Systems with the COMET/UML method

Chapter 13 Configuration Management

Introduction to Functional Verification. Niels Burkhardt

The Course.

Software Production. Industrialized integration and validation of TargetLink models for series production

System modeling. Budapest University of Technology and Economics Department of Measurement and Information Systems

Adversary Modelling 1

Detecting Defects in Object-Oriented Designs: Using Reading Techniques to Increase Software Quality

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Model Checking of Software

DIPLODOCUS: An Environment for. the Hardware/Software Partitioning of. Institut Mines-Telecom. Complex Embedded Systems

Fundamentals of Measurements

Dr. Jana Koehler IBM Zurich Research Laboratory

Formal Verification and Linear-time Model Checking

Software security specification and verification

System Engineering Data Repository

CS4507 Advanced Software Engineering

Quality Assurance Methods for Model-based Development: A Survey and Assessment

Model-driven development solutions To support your business objectives. IBM Rational Rhapsody edition comparison matrix

Automotive Software Engineering

Introducing Performance Engineering by means of Tools and Practical Exercises

Specification and Analysis of Contracts Lecture 1 Introduction

Measuring Return on Investment of Model-Based Design

Virtual Integration and Consistent Testing of Advanced Driver Assistance Functions

Model-based Test Case Generation for (Dynamic) Software Product Lines

Trends in Embedded Software Development in Europe. Dr. Dirk Muthig

Manage Software Development in LabVIEW with Professional Tools

Model Based Software Development for DDG 1000 Advanced Gun System

Model Checking: An Introduction

The Software Development Process

I can make just such ones if I had tools, and I could make tools if I had tools. -Eli Whitney

Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer

Development of AUTOSAR Software Components within Model-Based Design

Part I. Introduction

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

Meeting DO-178B Software Verification Guidelines with Coverity Integrity Center

Introduction to RACE FUELS Hans-Christian von der Wense Munich, Germany

Introduction to Formal Methods. Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm

Introduction to Automated Testing

Mutual Exclusion using Monitors

Software testing. Objectives

What is BPM? Software tools enabling BPM

The Model Checker SPIN

SQMB '11 Automated Model Quality Rating of Embedded Systems

How To Test On A Model Driven Test On An Embedded System

find model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Advanced Test-Driven Development

Real Time Programming: Concepts

IBM Rational Rhapsody

Developing the Architectural Framework for SOA Adoption

What Is Specific in Load Testing?

Software Verification for Space Applications Part 2. Autonomous Systems. G. Brat USRA/RIACS

ECU State Manager Module Development and Design for Automotive Platform Software Based on AUTOSAR 4.0

Model-Based Development of Safety-Critical Software: Safe and Effi cient

Performance Testing Process A Whitepaper

Mastering increasing product complexity with Collaborative Systems Engineering and PLM

Introduction to MATLAB Gergely Somlay Application Engineer

Software Verification: Infinite-State Model Checking and Static Program

theguard! ApplicationManager System Windows Data Collector

Test Coverage Criteria for Autonomous Mobile Systems based on Coloured Petri Nets

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Incorporating database systems into a secure software development methodology

Integrated Error-Detection Techniques: Find More Bugs in Java Applications

SCADE Suite in Space Applications

Beckhoff TwinCAT The Windows Control and Automation Technology. TwinCAT NC PTP Examples

Software House Embedded Systems

Foundations for Systems Development

Transcription:

Model-based Quality Assurance of Automotive Software Jan Jürjens 1, Daniel Reiss 2, David Trachtenherz 3 1 Open University (GB) and Microsoft Research (Cambridge) 2 Elektrobit (Germany) 3 TU Munich (Germany)

The Problem (Meta-level M3) Research in Software Engineering is largely hype-driven. Research activities largely consist of solution development [cf Wieringa]. Very little independent scientific validation, as would be expected from a scientific discipline (e.g. controlled and repeatable experiments, preferably independently from solution developers). This paper tries to contribute (a bit) towards improving this situation. Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 2

The Problem (Meta-level M2) Model-based development using UML is one of the current hypes : strongly promoted by gurus in industry, actively researched in academia [cf previous slide]. But does it really pay? When / under which conditions / to what degree / which techniques exactly etc? Very few independent, controlled and repeatable experiments regarding this question. This paper tries to contribute to improving this situation wrt. model-based quality assurance, with an emphasis on automotive / embedded software. Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 3

The Problem (Meta-level M1) Quality assurance of software consumes significant resources. There are high levels of assurance expected especially in safety-critical systems. The QA process should as far as possible controllable (to measure degree of assurance) and repeatable (also to account for software changes). Model-based quality assurance seems to offer the potential to address these requirements due to a high degree of automation. Investigate based on a practical experiment to which extent this may be true wrt. to different QA techniques in the context of model-based development, in a comparative approach. Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 4

Automotive Software High safety requirements for some of the embedded software. Increasing complexity of the software. High sales numbers (compared to e.g. airplanes). Incentive for quality assurance as opposed to fault-tolerance by replication of functions. Relatively high uptake of model-based development techniques and tools. Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 5

Model-based System Assurance Requirements Weave in (UML) Models Codegenerat. Analyze against Generate/ Verify Generate Verify. Runtime V. Testgen. Configurations Configure Source Code Execute Runtime System Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 6

Case study: Door controller (M0) Industrial specification [Paech et al, Fraunhofer 2002]. Here: Window lifter (including crush guard) Door locking/unlocking Two door controllers communicating via CAN bus Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 7

ASCET Commercial CASE tool by ETAS Used in automotive industry Event-driven operational model Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 8

ASCET Modeling Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 9

AutoFOCUS Academic CASE tool for model-based development with UML-like notation (http://autofocus. informatik.tu-muenchen.de) Discrete-time operational semantics Simulation Validation (Consistency, Testing, Model Checking) Code Generation (e.g. Java, C, Ada) Connection to Matlab Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 10

AutoFOCUS Modeling Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 11

ASCET: Rapid Prototyping / Simulation Door Signal coupling Trigger Development platform Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 12

Testing in ASCET Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 13

Model Checking (AutoFOCUS) Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 14

Evaluation: Modeling Effort Modeling Training Door lock Window lifter Interior light ASCET 1 week 1.5 weeks 1.5 weeks 0.5 weeks AutoFocus (Including Specification) 1 day 3 weeks 3 weeks 1 week Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 15

Evaluation: QA Effort and Results Method Simulation (ASCET) White box testing (ASCET) Simulation (AutoFocus) Model Checking (AutoFocus) Time effort (days) 3 7 3 10 Error count 10 5 5 5 Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 16

Evaluation: Effort Distribution Testing 45% 15% 40% Create test cases Execute test cases Interprete test cases Model Checking 20% 20% 60% Create properties Execute modelchecker Interprete counter examples Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 17

Modelchecking: Experiences State explosion problem compositional modelchecking Modelling abstractions: execution timer equivalence classes for values compromise between abstraction and verification efficiency Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 18

Classes of Bugs Simulation (ASCET [10] / AutoFOCUS [5]): wrong priority definition wrong value communicated logical error at branchings wrong execution sequence (ASCET) Coverage analysis / rapid prototyping (ASCET [7]) same bugs as in simulation unreachable code wrong assumptions on hardware Modelchecking (AutoFOCUS [5]) synchronization error for concurrent components wrong evaluation of logical expressions Testing takes real hardware into account; modelchecking finds spurious / obscure bugs combination brings synergies Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 19

Evaluation: Model vs Code QA Model: + earlier (less expensive to fix flaws) + more abstract more efficient ( higher coverage, but at higher abstraction level) - more abstract may miss flaws - programmers may introduce flaws - even code generators, if not formally verified Code: + the real thing (which is executed) Do both where feasible. Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 20

Evaluation: General Comparison Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 21

Evaluation (M3) Semi-independent: researchers in modelbased development, from AutoFocus group Repeatability: experimental data available from http://mcs.open.ac.uk/jj2924/publications/experiments/autoqa (ref 10 in paper) Comparative SE: use same or different developers? Qualitative study, so no claim to statistical significance. Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 22

Related Work Practical experiments on model-based QA in: automotive: Pretschner et al. (ICSE 2005: model-based testing with AutoFocus); Kropf (CAV 2007) security: Best, Jurjens, Nuseibeh (ICSE 2007; information systems); Jurjens Schreck, Bartmann (ICSE 2008; mobile systems); Jurjens, Rumm (M.Med.Inf 2008; e-health-card) general: Halling, Biffl, Grunbacher (METRICS 2003; requirements analysis); Brat, Drusinsky, Giannakopoulou et al. (FMSD 2004; Martian Rover); Cheng et al. (Models 2005; model analysis); Bradbury, Cordy, Dingel (PASTE 2005; testing vs formal analysis); Denney, Fischer, Schumann (IJAIT 2006; ATPs); Mouchawrab, Briand, Labiche (ESEM 2007; modelbased testing) Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 23

Conclusions Model-based QA of automotive software: Model-checking and model-based testing complementary. Model-based testing quickly excludes large classes of flaws. Model-checking exhaustively checks user-defined sophisticated property. Ongoing work with Microsoft Research Cambridge: assurance for cryptoprotocol implementations. ADVERTISEMENT: Postdoc / PhD positions in modelbased security! Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 24

Questions? More information (papers, slides, tool etc.): http://www.jurjens.de/jan Jan Jürjens et al.: Model-based Quality Assurance of Automotive Software 25