Software betrouwbaarheid Wat is de kans dat de
Software betrouwbaarheid Wat is de kans dat de software faalt? 23 mei 2011
Software betrouwbaarheid Aanleiding, geschiedenis Het nieuwe model: TOPAAS – – – Definities Systeemanalyse Filosofie, de basis Uitwerking Voorbeeld Nabije toekomst 2 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
3 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Het TDT model T: toepassingsdichtheid - hoe vaak wordt het systeem gebruikt D: dynamisch gedrag - hoeveel in- en uitgangen heeft het systeem T: totstandkoming - hoe is het systeem gemaakt 4 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Wat gedaan? Alle criticasters verzameld, plus alle, ons bekende experts op het gebied van software en betrouwbaarheid: TU/e, Uv. A, Logica/CMG, Movares, Delta-Pi, Intermedion/KEMA, Refis, DNV-CIBIT Vier brainstormsessies gehad in 2007 Criteria voor een methode opgesteld en opdracht gegeven voor ontwikkeling van de methode in 2008 5 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Criteria voor nieuwe methode • • • 6 omvat de belangrijke parameters die van invloed zijn op softwarebetrouwbaarheid kan worden gebruikt voor verschillende situaties, bijv. voor producten die je als black box inkoopt, producten die je laat ontwikkelen, etc. richt zich op de kritische delen van het softwaresysteem is algemeen geaccepteerd maakt procesbeheersing mogelijk kan vrij toegepast worden, er zijn dus geen belemmerende eigendomsrechten van toepassing Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Resultaat • TOPAAS, Een structurele aanpak voor faalkansanalyse van software intensieve systemen • Task Oriented Probability of Abnormalities Analysis for Software 7 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Topaas maakt een schatting van de faalkans van één module, op basis van vastgelegde, gekalibreerde expertmening Het verrekenen van de faalkansen van meerdere modulen gebeurt middels de (standaard) foutenboom 8 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Definitie softwaremodule Een softwaremodule is een taak of een consistente verzameling taken die door een afgebakende verzameling logische regels programmacode (of grafisch equivalent) wordt gerealiseerd, waarbij geldt dat: – Een duidelijke afbakening te onderkennen is ten opzichte van andere stukken code én er een onderkende functionele doelstelling in het totaal van het systeem aanwezig is; – Te verifiëren kwaliteitseigenschappen en taakuitvoering aanwezig zijn. 9 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Definitie van falen Falen van een softwaremodule is de (te lange) afwezigheid van gewenst gedrag, of het uitvoeren van verkeerd gedrag. Gewenst gedrag is gedrag dat noodzakelijk is om de taak binnen de missie te volbrengen. 10 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid 11 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Basis • • • 12 Per module Methodiek TDT: kansen bepalen op aspecten van de software Basisfaalkans = 1. 0 /vraag Elk aspect reduceert óf vergroot de faalkans Gekalibreerde expert opinion per aspect Kalibratie aan 20 verschillende soorten software (alle modulen) Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid 15 aspecten, eigenschappen (properties) Totstandkomingproces 1. Het ontwikkelproces voldoet aan een van de SIL’s van de IEC 61508 2. Gebruik van Inspecties (op het maken van de software) 3. Hoeveelheid wijzigingen ten opzichte originele ontwerp/eisenpakket 4. Cultuur en samenwerking (binnen het bedrijf) 5. Opleidingsniveau en ervaring ontwikkelaars 6. Samenwerking met Opdrachtgever 13 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Product 7. 8. 9. 10. Complexiteit van de beslislogica Omvang van de softwaremodule (Lines of code) Helderheid van de gebruikte architectuurconcepten Gebruik van een certified compiler Requirements traceability/verifieerbaarheid 11. Traceerbaarheid van requirements door het proces heen 14 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Testen 12. Testtechnieken en dekkingsgraad Executieomgeving/gebruik 13. Multiprocesomgeving 14. Aanwezigheid representatieve velddata gedurende missie 15. Monitoring 15 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Formule P = PB * F 1 * F 2 * F 3 … F 15 met PB = 1 als eigenschap onbekend is: Fi = 1 (niet meenemen) Kansen in machten van 10. Dan, voor het gebruiksgemak: Log(P) = Som( Log(Fi) ) Als eigenschap onbekend is: Log(Fi) = 0 (niet meenemen) 16 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Totstandkomingproces 1 Het ontwikkelproces voldoet aan een van de SIL’s van de IEC 61508 1 Onbekend, het ontwikkelproces voldoet niet aantoonbaar aan een SIL niveau 0 2 Ontwikkelproces voldoet aantoonbaar niet aan een SIL niveau door het gebruik van Not Recommended practices, zoals Fuzzy Logic ½ 3 Ontwikkelproces voldoet aantoonbaar aan SIL-1 niveau -½ 4 Ontwikkelproces voldoet aantoonbaar aan SIL-2 niveau -1 5 Ontwikkelproces voldoet aantoonbaar aan SIL-3 niveau -2 6 Ontwikkelproces voldoet aantoonbaar aan SIL-4 niveau -3 17 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Totstandkomingproces 2 Gebruik van Inspecties Normaal SIL 3/SIL 4 1 Onbekend 0 NVT 2 Geen inspecties uitgevoerd ⅓ NVT 3 Aantoonbare inspecties op ontwerpen en code uitgevoerd 0 ⅓ 4 Aantoonbaar Fagan inspecties uitgevoerd op alle ontwerp en testdocumenten -½ 0 3 Hoeveelheid wijzigingen ten opzichte originele ontwerp/eisenpakket 1 Onbekend 0 2 Zeer frequente of enkele fundamentele wijzigingen ⅔ 3 Weinig wijzigingen, met zeer geringe impact 0 4 Geen wijzigingen 18 -⅓ Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Totstandkomingproces 4 Cultuur en samenwerking 1 Onbekend 0 2 Op regels gebaseerde organisatie ⅓ 3 Doelgerichte organisatie 0 4 Zelflerende organisatie 19 -½ Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Totstandkomingproces 5 Opleidingsniveau en ervaring ontwikkelaars 1 Onbekend 0 2 Geen kennis met systeemontwikkeling voor het specifieke domein 1 3 Weinig kennis met systeemontwikkeling voor het specifieke domein ½ 4 Gewenste kennis met systeemontwikkeling voor het specifieke domein 0 5 Aantoonbaar uitstekende kennis en veel ervaring met systeemontwikkeling voor het specifieke domein 20 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu -½ 23 mei 2011
Software betrouwbaarheid Totstandkomingproces 6 Samenwerking met Opdrachtgever 1 Onbekend 0 2 Niet nauw betrokken opdrachtgever met weinig IT kennis, sterk financieel gedreven opdrachtgever ½ 3 Zijdelings betrokken opdrachtgever met matige IT kennis 0 4 Sterk betrokken opdrachtgever met voldoende kennis, open dialoog waarbij de opdrachtgever bereid is om overall architectuur te wijzigen als dat de software betrouwbaarheid ten goed komt. Er is sprake van een systems engineering approach voor de overall ontwikkeling van het systeem. -½ 21 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Producteigenschappen 7 Complexiteit beslislogica 1 Onbekend 0 2 Beslislogica is zeer complex (bevat veel vertakkingen en uitzonderingen), Mc. Cabe index groter dan 60 ½ 3 Beslisogica matig complex (bevat enkele uitzonderingssituaties), Mc. Cabe index tussen 30 en 60 0 4 Beslislogica is redelijk eenvoudig (bevat enkele zeer geïsoleerde uitzonderingssituaties), Mc. Cabe index tussen 10 en 30. -⅓ 5 Beslislogica en foutherkenning zijn erg eenvoudig, Mc. Cabe Index kleiner dan 10 -½ 22 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Producteigenschappen 8 Omvang softwaremodule (Lines of code) 1 Onbekend 0 2 Meer dan 50. 000 ½ 3 Tussen 10. 000 en 50. 000 ⅓ 4 Tussen 5. 000 en 10. 000 0 5 Tussen 1. 000 en 5. 000 -⅓ 6 Minder dan 1000 -½ 23 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Producteigenschappen 9 Helderheid gebruikte architectuurconcepten 1 Onbekend 0 2 Geen heldere afbakening taakuitvoering modulen in ontwerp benoemd ½ 3 Wel taakuitvoering op hoofdlijnen benoemd, maar geen navolging gegeven in ontwikkeling ⅓ 4 Er is een scheiding van taakuitvoering tussen modulen beschreven, welke het principe van “maximale cohesie en minimale koppeling respecteert”, maar deze is passief bewaakt tijdens het ontwikkelproces 0 5 Er is een scherpe scheiding van taakuitvoering tussen modulen beschreven op basis van geldende documenten, welke het principe van “maximale cohesie en minimale koppeling respecteert”, en deze is actief bewaakt tijdens het ontwikkelproces -½ 24 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Producteigenschappen 10 Gebruik van een certified compiler Normaal SIL 3/SIL 4 1 Onbekend 0 NVT 2 Gebruik van een willekeurige compiler ⅓ NVT 3 Gebruik van een compiler waar de ontwikkelaar langdurige ervaring mee heeft 0 ⅓ 4 Gebruik van een certified compiler in combinatie met een gevalideerde safe subset -½ 0 5 Gebruik van een certified compiler in combinatie met een gevalideerde safe subset met bijbehorende kalibratiesets en testprotocol om compiler te ijken/testen, wat voor elke nieuwe versie van de compiler structureel gebeurt -⅔ -⅓ 25 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Requirements traceability/verifieerbaarheid 11 Traceerbaarheid van requirements door het proces heen Normaal SIL 3/SIL 4 1 Onbekend 0 NVT 2 Geen traceerbaarheid ⅓ NVT 3 Aantoonbaar traceerbaar naar testscripts 0 NVT 4 Aantoonbaar traceerbaar naar architectuur en testen -⅓ ⅓ 5 Aantoonbaar traceerbaar van veiligheidskritische eisen tot aan de code en individuele testen toe -⅔ 0 6 Aantoonbare volledige traceerbaarheid -1 -⅓ 7 Aantoonbaar wiskundig/logisch bewezen correcte traceerbaarheid -2 -½ 26 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Testen 12 Testtechnieken en dekkingsgraad Normaal SIL 3/SIL 4 1 Onbekend 0 NVT 2 Geen gedocumenteerde tests uitgevoerd 0 NVT 3 Wel testen gedocumenteerd, geen formele testtechnieken gehanteerd; dekkingsgraad onbekend -⅓ NVT 4 Formele testtechniek(en) gehanteerd met lage dekkingsgraad -½ ⅔ 5 Formele testtechniek(en) gehanteerd met gemiddelde dekkingsgraad -⅔ ½ 6 Formele testtechniek(en) gehanteerd met hoge dekkingsgraad -1 0 7 Formele testtechniek(en) gehanteerd met aantoonbare (gemeten) hoge dekkingsgraad -1⅓ -⅓ 27 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Executieomgeving/gebruik 13 Multiprocesomgeving 1 Onbekend 0 2 Meerdere applicaties draaien parallel op één OS in een netwerkomgeving ½ 3 Meerdere applicaties op één stuk hardware ⅓ 4 Één proces op een dedicated OS met een dedicated CPU 0 5 Dedicated CPU en memory op geen of een triviaal OS 28 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu -⅓ 23 mei 2011
Software betrouwbaarheid Executieomgeving/gebruik 14 Aanwezigheid representatieve velddata gedurende taakuitvoering Normaal SIL 3/SIL 4 1 Onbekend 0 NVT 2 Geen velddata aanwezig, zelfs niet uit (schaduw)draaien eigen applicatie ⅓ ⅓ 3 Beperkte gegevens aanwezig en geanalyseerd uit periode tijdens uitvoeren van de functie van de module 0 0 4 Significante hoeveelheid gegevens aanwezig en gebruikt uit periode tijdens uitvoeren van de functie van de module -1 -⅓ 5 Veel representatieve velddata aanwezig en gebruikt van identieke of sterk vergelijkbare toepassingen -2 -½ 29 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Executieomgeving/gebruik 15 Monitoring 1 Onbekend 0 2 Geen aanwezig ⅓ 3 Weinig/kort gemonitord gedurende taakuitvoering 0 4 Langdurige monitoring, maar niet frequente taakuitvoering -⅓ 5 Langdurige/frequente monitoring tijdens taakuitvoering -½ 30 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid 31 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid 32 Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
Software betrouwbaarheid Recent gebeurd • Evaluatierapport geschreven • Versie 2 uitgebracht Nabije toekomst • • 33 Handleiding maken Versie 2 breed publiceren Onderzoek naar correlatie tussen modules Onderzoek naar een statistische onderbouwing Ministerie van Verkeer en Waterstaat Infrastructuur en Milieu 23 mei 2011
- Slides: 33