Pålitlig och feltolerant programvara. Håkan Edler Laboratoriet för pålitliga datorsystem Institutionen för datorteknik Chalmers tekniska högskola

Relevanta dokument
Verifiering och validering av programvara med automatisk provning på gränssnitt. Håkan Edler

Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas

Experimentell verifiering av feldetektering och feltolerans

Creo Customization. Lars Björs

Testning på 3 föreläsningar. PV7180 Verifiering och Validering. Litteratur. Vad är testning? Varför testa och olika syn? Målet med testning

Inför projektuppgiften. Markus Buschle,

Seminarium för CAMO, F-verkstäder, AUB och tekniker med inriktning på privat-, skol- och bruksflyg 2017 B1 versus B2 Jukka Salo Flygteknisk inspektör

Resultatkonferens Välkommen!

Hur fattar samhället beslut när forskarna är oeniga?

GOLD SD Med styrenhet/with control unit. Fläkt/ Fan. Utan filter/ Without filter. Fläkt/Fan. Fläkt/ Fan. Med filter/ With filter.

Design Service Goal. Hantering av demonterbara delar som ingår i Fatigue Critical Baseline Structure List. Presentatör

Application Note SW

Installation av F13 Bråvalla

GOLD SD Fläkt 2/ Fan 2. Fläkt 1/ Fan 1. Fläkt/ Fan. Utan filter/ Without filter. Fläkt 1/ Fan 1. Fläkt 2/ Fan 2. Med filter/ With filter Filter

Virtuellt VA med digitala tvillingar

LOG/iC2. Introduction

CHANGE WITH THE BRAIN IN MIND. Frukostseminarium 11 oktober 2018

Informationssäkerhet och medicintekniska produkter eller Information security with respect to safety considerations

Designmönster, introduktion. Vad är det? Varför skall man använda mönster?

RUP är en omfattande process, ett processramverk. RUP bör införas stegvis. RUP måste anpassas. till organisationen till projektet

För att justera TX finns det ett tool med namnet MMDVMCal. t.ex. /home/pi/applications/mmdvmcal/mmdvmcal /dev/ttyacm0

ISTQB Testarens ledstjärna

Configuration Management

CM FORUM. Introduktion till. Configuration Management (CM) / Konfigurationsledning. Tobias Ljungkvist

RADIATION TEST REPORT. GAMMA: 30.45k, 59.05k, 118.8k/TM1019 Condition D

Robust och energieffektiv styrning av tågtrafik

Course syllabus 1(7) School of Management and Economics. FEN305 Reg.No. EHVc 2005:6 Date of decision Course Code. Företag och Marknad I

Ämnesområden. Examensarbete inom datavetenskap (1DV41E) Martin Fredriksson

Magic Grippers System för att enkelt bygga robotgrippers / grippers. -- Kort presentation -- Beställ komplett katalog

Förändrade förväntningar

Enterprise App Store. Sammi Khayer. Igor Stevstedt. Konsultchef mobila lösningar. Teknisk Lead mobila lösningar

Användarhandbok. MHL to HDMI Adapter IM750

SOLAR LIGHT SOLUTION. Giving you the advantages of sunshine. Ningbo Green Light Energy Technology Co., Ltd.

Datavetenskapligt program, N1COS

Tentamen vid Institutionen för Datavetenskap, Linköpings universitet. TDDD36 Säkra mobila System (Systemprogramvara)

Kursinformation. Metodik för programvaruutveckling. Utvecklingsprocessen för programvara. Innehåll. Processmodell. Exempel

Swedbank Mobile Loadtesting. LoadRunner Mobile App protocol

Custom-made software solutions for increased transport quality and creation of cargo specific lashing protocols.

8.1 General factorial experiments

Designprinciper för säkerhet och Epilog. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT)

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML

Säkerhetsfunktioner rstå varandra? Finns behov av att avvika från normal säkerhetsfunktion s vissa betingelser under uppstart, ändringar i processen

PROFINET MELLAN EL6631 OCH EK9300

L 37/74 Europeiska unionens officiella tidning

Configuration testing Why? Vad det är tänkt att koden ska göra. Performance testing Kommentarer Skriva om koden som kommentar

Swedish National Data Service

Discovery FSQ, IAA Utgåva/Edition 11. SE Habo. Klass 2 IAA FSQ-I 26W. 4 mm c c mm N L

SkillGuide. Bruksanvisning. Svenska

Datasäkerhet och integritet

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod

Datavetenskap. Beteendevetenskap MDI. Design

Projekt? 1DV420 Nätverksprojekt Kalmar, Lars Karlsson +46(0)

GOLD SD eff.var./cap.var.120-1

Produktens väg från idé till grav

DC-DC CONVERTER IP67

The present situation on the application of ICT in precision agriculture in Sweden

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE

QC i en organisation SAST

Företagsekonomi, allmän kurs. Business Administration, General Course. Business Administration until further notice

Vad är RTCA DO-178C? och: Hur arbetar Saab med dessa krav? Lars Ljungberg, Saab AB, Avionics Systems

Safe Logic Compact. Konfigurering av Rexroth säkerhets PLC. Snabbguide Svenska

Momentbegränsare. Aktivering med hjälp av analoga signaler. Aktivering med hjälp av Extern CAN

Studienämnden Data

Barn och läkemedelssäkerhet

Europeiska unionens officiella tidning L 67/13

Regressionstestning teori och praktik

802.11b Wireless router w. 4 port switch. StarTech ID: BR411BWDC

Patientrapporterade utfallsmått, ett verktyg för jämlik vård? Evalill Nilsson Universitetslärare, med dr Avd f Samhällsmedicin

Europeiska unionens officiella tidning L 136/11

Finans workshop. Presented by: Håkan Ebersjö Director, Product Marketing

Programinformation VT 2012 för

Implementationsstrategier för PLCS

Taxning och motorkörning av flygplan/helikopter

CHALMERS ROCK PROCESSING SYSTEM

VHDL Basics. Component model Code model Entity Architecture Identifiers and objects Operations for relations. Bengt Oelmann -- copyright

Agenda. Plats och magkänsla. Presentation. - en pedagogisk fråga?

Användarhandbok. Xperia P TV Dock DK21

Läkemedelsutveckling inte bara kliniska studier. Göran Långström Statistikerträffen

IRIS Integrerat Dynamiskt Prognostiserande Underhållsstöd

HANTERING AV UPS CX

Sara Skärhem Martin Jansson Dalarna Science Park

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Experimentell verifiering av feldetektering och feltolerans

Rättvis kostnadsfördelning av IT-infrastrukturinvesteringar

Komponenter Removed Serviceable

Validering av APV-procedurer genom flygmätning

PowerCell Sweden AB. Ren och effektiv energi överallt där den behövs

DeltaV Simulate. Introduction. Allows DeltaV configuration on a single PC or in a multi-node system

Datateknik Teknologie kandidatexamen, 180 sp

Sida 1 av FELEFFEKTSANALYS/FAILURE MODE AND EFFECT ANALYSIS PROCESS. Leverantör/Supplier. Utgåva/Issue

Erfarenheter från Hazop användning på programvara i Arte740. Presentation för SESAM Claes Norelöv 4Real AB

Risk Management Riskhantering i flygföretag

GOLD SD Med styrenhet/with control unit. Fläkt/ Fan. Utan filter/ Without filter. Fläkt/Fan. Fläkt/ Fan. Med filter/ With filter

Ansökan till Vinnova PROJEKTUPPGIFTER. Diarienummer. Inskickad. Utlysning

Bridging the gap - state-of-the-art testing research, Explanea, and why you should care

3 rd October 2017

Kod och kvalitet. Mjukvarukvalitet. Mjukvarukvalitet. Effektkartan. -ilities. TNM021 Programvaruutveckling

Functional safety. EN ISO nu och i framtiden. Anette Wester Odbratt

OFTP2: Secure transfer over the Internet

DVU-HP. Integrerat reversibelt värmepumpsystem

Transkript:

Pålitlig och feltolerant programvara Laboratoriet för pålitliga datorsystem Institutionen för datorteknik Chalmers tekniska högskola 1 1

Vision Pålitliga datorsystem tack vare programvara 2 2

3 3 Vad är pålitlighet? DEPENDABILITY Readiness for usage Continuity of service Avoidance of catastophical consequences on the environment Preservation of confidentality and of integrity AVAILABILITY RELIABILITY SAFETY SECURITY

4 4 Hur vi skapar pålitlighet Faults Impairments Errors Dependability Means Failures Procurement Validation Fault prevention Fault tolerance Fault removal Availability Fault forecasting Attributes Reliability Safety Security

5 5 Felkedjan Adjudged or hypothesized cause System internal effect User perceived effect... FAILURE FAULT ERROR FAILURE FAULT... Activation (internal) Occurrence (external) Deviation of delivered service from compliance to system specification Fault - fault, bug, defect, mistake, et c Failure - failure, crash, breakdown, malfunction, denial of service, et c

Konstruktionsprinciper N-version programming - N-versions programmering Recovery block - Återhämtningsblock Data diversity - Diversifierade källdata View diversity - Diversifierad översättning Consensus recovery blocks - Återhämtningsblock med samstämmighet Robust data structures - Robusta datastrukturer Resourceful systems - Diversitet i funktioner Recovery blocks and exception handling - Återhämtningsblock med undantagshantering 6 6

7 7 N-version programming - NVP Input Version 1 Version 2 Decision mechanism Result... Version n failed raise error

NVP egenskaper Error detection by voting Relative result judgement Forward error recovery Parallel execution ADVANTAGES Increased run-time reliability Probability of common cause failure is reduced Residual design faults can be detected and masked at run-time without loss of service DISADVANTAGES Specification errors may remain undetected Comparision of N versions may be difficult Additional software for syncronization voting may cause common mode failures Increased development and maintenance cost compared to a single version, N = 3 => 1.8-2.7 8 8

9 9 Recovery blocks - RB Input roll back and try alternate Primary Recovery cache Alternate 1 Acceptance test passed Result... Alternate n-1 failed and alternates exhausted Switch raise error

RB egenskaper Error detection by acceptance test Absolute result judgement with respect to specification Backward error recovery Sequential execution ADVANTAGES Increased run-time reliability Provides diversity at the program, module and procedure level DISADVANTAGES Not easy to find reliable acceptance tests Not efficient in situations with strict timing restrictions The technique can only be used where side effects can be reversed Increased development and maintenance cost compared to a single version, N = 2 => 1.3-2.2 10 10

11 11 Tekniker för att bygga pålitliga system Analys Analytiska metoder, Markovmodellering Petrinät Konstruktion Simulering Bygge Felinjicering

Vad har vi gjort hittills? Kartlagt principer och metoder för att bygga feltolerant programvara med betoning på kostnadsaspekter Undersökt möjligheterna att skapa realistiska modeller av kvarvarande fel i välprovad programvara. Undersökt olika metoder att emulera programfel i en utrustning för experimentell verifiering av feltolerans Undersökt metoder att automatiskt generera program ur en given specifikation Kört experiment på system från verkliga tillämpningar 12 12

13 13 Testbänk för felinjicering Fault activator Log file Analysis tool Input data generator I I Control module F Golden version Environment simulator O G O FTAM Logging mechanism

14 14 Fel och sätten att tåla dem 7: Error tolerated 5: Error detected 6: Error detected Detection 5 Error processing 8: Recovery incomplete 9: Recovery failed 1: Fault 2: Error activation propagation Fault Error Propagated 4: Error error overwritten 3: Error activation Failure J. Christmansson AnExploration of Models for Software Faults and Errors

15 15 Provningsmiljön User input Campaign specification I/O FIC 3 Readouts Faults or errors I/O Reset Target system Signals Environment simulator Data analyzer Readouts Trigger Error injector

Mätningar på existerande system Felinjicering med ändring av källtext Felinjicering med ändring i maskinkod Algoritmer och metoder för feltolerant programvara Studier av dessa i verkliga system Infångning ochuppbromsning av flygplan Styrenheter i fordon 16 16

Mätningar på automatgenererade program Ställ upp specifikationer för programmet Börja med en godtycklig variant av programmet Kör den och notera resultatet Förändra programmet till en ny version Kör den och notera resultatet Mät förbättringen och sätt en vikt på programversionen Rekombinera programversionerna med hänsyn till deras vikter Upprepa 17 17

Felmodeller Data processing Data storage Data flow Control Timing Control Flow 18 18

19 19 Felmodeller (forts.) Byzantine Computation Timing Omission Crash

20 20 ODC felmodeller Checking Assignment Missing or incorrect validation of parameters or data in conditional statements Values assigned incorrectly or not at all Algorithm Timing/ Serialization Interface Function Efficiency or correctness problems related to the algorithm or data structure Necessary serialization of shared resources is missing or done in an incorrect way Communication problems between modules, components, device drivers or users and software Some capability that is not implemented or implemented incorrectly

Forskningsfrågor Kan algoritmer som automatiskt tar fram program användas för att uppnå styrd diversitet? Vilka är kostnaderna för att uppnå diversitet? Hur kvantifierar man skillnader i struktur och felbeteende hos olika programversioner? Kan svårigheten hos ett styrproblem visualiseras och vara underlag för analys och konstruktion i utvecklingsprocessen? Hur mycket ökar feltoleransen med olika formar av feltolerans? Kan man göra felinjicering på gränssnitten i ett datorbaserat system i stället för i programmen? Vilken inverkan har olika algoritmer och mekanismer på prestanda? Vad är kostnaden för de olika systemen? 21 21

Mål på kort sikt Analytisk modellering som underlag för felinjicering Utveckling av principer för att bygga feltolerant Undersökning av existerande system för evaluering av metoder att mäta pålitlighet Under de närmaste två åren skapa metoder att verifiera programvarusystem ur pålitlighetssynvinkel 22 22

Mål på lång sikt Metoder att bygga pålitliga datorsystem att bygga programvara så felfri som möjligt att finna och eliminera fel vid systemprov att förutsäga felfrekvens efter driftsättning att tolerera de fel, som trots allt kvarstår 23 23