DO-178B Standardguide: Programvaruverifieringsverktyg

Innehållsförteckning

DO-178B Standardguide: Programvaruverifieringsverktyg

Beskrivning

Säkerhet är av yttersta vikt när det kommer till design av mjukvara för flygindustrin, och ingen säkerhetsriktlinje har varit så påverkande som DO-178B, även känd som Software Considerations in Airborne Systems and Equipment Certification. I det här blogginlägget kommer vi att diskutera vad DO-178B är, hur man följer det och de olika verktyg och certifieringar som finns tillgängliga för att hjälpa dig att göra det.

Vad är DO-178B?

Publicerad 1992 av Radio Technical Commission for Aeronautics (RTCA) och utvecklat tillsammans med EUROCAE, European Organization for Civil Aviation Equipment, DO-178B är en internationell riktlinje som handlar om säkerheten för verksamhetskritisk programvara som används i luftburna system och utrustning. Även om det bara är en riktlinje och inte en policy ses DO-178B som en standard för utveckling av flygprogramvara, och även FAA använder den för vägledning när man avgör om en mjukvara kommer att fungera tillförlitligt i en luftburen miljö.

Trots att de utvecklats specifikt för att tillgodose flygindustrins unika behov, har DO-178B också använts i andra industrier, ofta i samband med DO-254, även känd som Design Assurance Guidance for Airborne Electronic Hardware, som handlar om utvecklingen av luftburet elektronisk hårdvara. Precis som DO-178B publiceras DO-254 av RTCA, en frivilligorganisation i USA vars uppdrag är att utveckla teknisk vägledning för användning av statliga tillsynsmyndigheter och av industrin.

Vilken skillnad mellan DO-178B och DO-178C?

DO-178B och DO-178C är båda standarder utvecklade av Radio Technical Commission for Aeronautics (RTCA) för programvara som används i luftburna system. Dessa standarder ger riktlinjer och krav för utveckling och certifiering av programvara för användning i flygplanssystem. Den största skillnaden mellan DO-178B och DO-178C ligger i deras omfattning, uppdateringar och förbättringar.

DO-178B, även känd som "Software Considerations in Airborne Systems and Equipment Certification", publicerades 1992 och blev de facto-standarden för mjukvaruutveckling inom flygindustrin. Den definierade en uppsättning mål och aktiviteter för att säkerställa att programvara som används i flygplanssystem är tillförlitlig och säker. DO-178B är organiserad i sex mjukvarunivåer, från nivå A (den mest kritiska) till nivå E (den minst kritiska), baserat på den potentiella påverkan av ett programvarufel på flygplanet och dess passagerare. Den tillhandahåller en systematisk process för mjukvaruutveckling, verifiering och validering, inklusive krav, design, kodning och testning.

DO-178C, även känd som "Software Considerations in Airborne Systems and Equipment Certification", är den uppdaterade versionen av DO-178B. Den publicerades 2011 och introducerade flera betydande förändringar och förbättringar av standarden. DO-178C återspeglar de framsteg inom mjukvaruutvecklingsmetoder, teknologier och verktyg som har skett sedan lanseringen av DO-178B. De primära målen för DO-178C var att förbättra standardens konsekvens och tydlighet, förbättra dess användbarhet och ta itu med de utmaningar som är förknippade med modern mjukvaruutvecklingsteknik.

En av de anmärkningsvärda förändringarna i DO-178C är tillägget av en ny mjukvarulivscykelmodell kallad "Model-Based Development and Verification" (MBDV). Denna modell tillåter användning av modellbaserade design- och verifieringstekniker, vilket kan förbättra effektiviteten och kvaliteten på mjukvaruutveckling. DO-178C ger också tydligare vägledning om användningen av formella metoder, objektorienterad teknik och integrering av kommersiellt tillgänglig programvara (COTS).

DO-178C upprätthåller samma mjukvarunivåer som DO-178B och fortsätter att betona vikten av kravbaserad utveckling, rigorösa tester och spårbarhet. Den innehåller också uppdaterad vägledning om ämnen som verifieringsaktiviteter, verktygskvalificering och användning av mjukvarumodeller och genererad kod.

Sammanfattningsvis är DO-178C en uppdaterad version av DO-178B som innehåller förbättringar och tar itu med utvecklingen av mjukvaruutvecklingsmetoder och teknologier. Den ger tydligare vägledning, introducerar nya livscykelmodeller och redogör för framsteg inom mjukvaruutveckling sedan lanseringen av DO-178B.

Översikt över DO-178B

DO-178B beskriver fem feltillstånd, som kategoriseras efter deras effekt på passagerare, besättning och flygplan. Deras effekter används för att bestämma mjukvarunivån, även känd som Design Assurance Level (DAL) eller Item Development Assurance Level (IDAL).  Mjukvarunivå anger hur mycket ansträngning som går till utvecklingen av den givna mjukvaruapplikationen.
  • Nivå A (katastrofal) - Fel förhindrar fortsatt säker flygning eftersom det kan orsaka en krasch genom att inaktivera en kritisk funktion som krävs för att säkert flyga och landa ett flygplan.
  • Nivå B (farligt) - Fel har negativa effekter på passagerare eftersom det minskar operatörernas förmåga att använda flygplanet korrekt. Allvarliga eller dödliga skador kan uppstå.
  • Nivå C (major) - Fel har inte så stor inverkan som ett farligt fel, men det är fortfarande mycket viktigt och ökar operatörernas arbetsbelastning kraftigt och minskar säkerhetsmarginalen.
  • Nivå D (Mindre) - Ett misslyckande har inte så stor inverkan som ett stort misslyckande, men det är fortfarande märkbart och kan orsaka passagerare besvär eller en rutinmässig ändring av färdplanen.
  • Nivå E (ingen effekt) - Fel påverkar inte driftsförmågan alls och har därför ingen inverkan på flygplanens säkerhet eller operatörernas arbetsbelastning.
Tillförlitliga data om kostnaderna för att flytta till en högre nivå är knapphändiga, men de få data som finns pekar på en ökning av utvecklingskostnaderna mellan kl. 75% och 150%. Ökningen beror till stor del på att de ökande målen ska uppnås för varje kritisk nivå. DO-178B tillåter stor flexibilitet när det gäller mjukvaruutveckling på grund av dess målbaserade natur, eftersom det finns många möjliga sätt för ett riktigt projekt att tillfredsställa dem. En generisk DO-178B-process är uppdelad i fem distinkta processer, där varje process har en uppsättning förväntade dokumenterade utdata:
  • Programvaruplanering - Detta är en beskrivning av mjukvaruutvecklingsprocesserna och mjukvarans livscykel som kommer att användas för att uppfylla kraven i DO-178B. Utdatadokumenten inkluderar en mjukvaruutvecklingsplan (SDP).
  • Utveckling - Detta är en beskrivning av mjukvaruutvecklingsprocesserna och mjukvarans livscykel som används för att uppfylla DO-178C-målen. De utdatadokument inkluderar mjukvarukravsdata (SRD), mjukvarudesignbeskrivning (SDD), källkod och exekverbar objektkod.
  • Verifiering - Detta är en beskrivning av verifieringsprocesserna (recensioner, analyser och tester) som används för att uppfylla DO-178C-målen. De Utdatadokument inkluderar fall och procedurer för programverifiering (SVCP) och resultat för programvaruverifiering (SVR) med granskning av alla krav, design och kod.
  • Systemintegration - Detta är en beskrivning av metoderna och miljön som kommer att användas för att konfigurera all designdata och överensstämmelsebevis som behövs för att uppnå DO-178C-certifiering. Utdatadokumenten inkluderar programvarukonfigurationsindex (SCI) och programvarulivscykelmiljökonfigurationsindex (SECI).
  • Kvalitetssäkring - Detta är en beskrivning av de metoder och tillhörande register som kommer att användas för att säkerställa att DO-178C kvalitetssäkringsmål uppfylls. Utdatadokumenten inkluderar kvalitetssäkringsdokument för programvara (SQAR), granskning av mjukvaruöverensstämmelse (SCR) och sammanfattning av mjukvaruprestationer (SAS).

Vikten av mjukvaruverifiering i DO-178B

Mjukvaruverifiering är en kritisk del av DO-178B-standarden, eftersom den säkerställer att programvaran fungerar som avsett och uppfyller säkerhets- och tillförlitlighetskraven. Det primära målet med mjukvaruverifiering är att identifiera och eliminera programvarudefekter och fel innan programvaran distribueras i ett flygplan. Genom att använda verktyg för programverifiering kan utvecklare automatisera olika verifieringsaktiviteter och förbättra effektiviteten och effektiviteten i verifieringsprocessen.

Rollen av mjukvaruverifieringsverktyg i DO-178B

Mjukvaruverifieringsverktyg spelar en avgörande roll för att uppnå målen för DO-178B-standarden. Dessa verktyg hjälper utvecklare att automatisera olika programvaruverifieringsaktiviteter, såsom statisk analys, dynamisk analys och kravbaserad testning. Här är några nyckelroller för programvaruverifieringsverktyg i DO-178B:

Verktyg för statisk analys 

Statiska analysverktyg analyserar källkoden för programvaran utan att köra den. Dessa verktyg upptäcker potentiella defekter och brott mot kodningsstandarder genom att undersöka kodstrukturen, syntaxen och dataflödet. Statiska analysverktyg kan identifiera problem som oinitierade variabler, buffertspill och oåtkomlig kod. Genom att använda statiska analysverktyg kan utvecklare fånga fel tidigt i utvecklingsprocessen, vilket minskar sannolikheten för programvarufel i drift.

Dynamiska analysverktyg 

Dynamiska analysverktyg övervakar programvarans beteende under exekvering. Dessa verktyg fångar körtidsinformation som minnesanvändning, funktionsanrop och variabelvärden. Dynamiska analysverktyg är särskilt användbara för att upptäcka körtidsfel, minnesläckor och prestandaflaskhalsar. De ger insikter i programvarans faktiska beteende och hjälper till att identifiera problem som kanske inte är uppenbara under statisk analys.

Kravbaserade testverktyg 

Kravbaserade testverktyg underlättar verifieringen av programvaran mot de specificerade kraven. Dessa verktyg automatiserar genereringen av testfall baserat på systemkraven och hjälper till att säkerställa att alla krav testas adekvat. Kravbaserade testverktyg kan spåra omfattningen av tester, vilket säkerställer att programvaran har testats grundligt mot de specificerade kraven. De hjälper till att uppnå spårbarhet mellan krav, design och testfall, vilket är ett nyckelkrav i DO-178B.

Överväganden för val av programvaruverifieringsverktyg

När du väljer mjukvaruverifieringsverktyg för DO-178B-överensstämmelse bör flera överväganden tas i beaktande. Här är några viktiga faktorer att tänka på:

Verktygskvalifikation 

Enligt DO-178B bör programvaruverifieringsverktyg som används i utvecklingsprocessen vara kvalificerade. Verktygskvalificering innebär att visa att verktygen är tillförlitliga, effektiva och inte introducerar ytterligare fel. Kvalificeringsprocessen inkluderar vanligtvis att dokumentera verktygets funktioner, begränsningar och antaganden, samt tillhandahålla bevis på verktygsvalidering och verifiering.

Verktygsintegration 

De valda mjukvaruverifieringsverktygen bör kunna integreras i utvecklingsmiljön och den övergripande mjukvaruutvecklingens livscykel. Verktygen ska fungera sömlöst med utvecklingsverktygen, kompilatorerna och andra programvarukomponenter. Integration säkerställer smidigt arbetsflöde och underlättar automatisering av verifieringsaktiviteter.

Verktygsdokumentation och support 

Korrekt dokumentation och support är avgörande för att använda programvaruverifieringsverktyg effektivt. Verktygen bör ha omfattande dokumentation, inklusive användarmanualer, handledningar och exempel. Dessutom är tillgång till teknisk support och regelbundna uppdateringar från verktygsleverantören avgörande för att lösa eventuella problem eller uppdateringar som krävs under utvecklingsprocessen.

Överensstämmelse med DO-178B

För att säkerställa överensstämmelse med DO-178B-standarden bör verifieringsverktyg för programvara användas i enlighet med riktlinjerna som specificeras i standarden. Processen att välja, kvalificera och använda verktygen bör vara väldokumenterad, och bevis på verktygskvalificering och validering bör upprätthållas. Dessutom bör verktygen tillämpas konsekvent över hela mjukvaruutvecklingens livscykel och utsättas för rigorösa tester och granskning.

Hur stöder jag DO-178B?

Det finns många verktyg som kan hjälpa till i DO-178B-processerna, inklusive utvecklingsverktyg, verifieringsverktyg och kravhanteringsverktyg.

Den sista kategorin av verktyg är särskilt viktig eftersom det bör vara möjligt att spåra tillbaka till varje kravs ursprung under DO-178B-processerna, och varje ändring som görs i kravet bör därför dokumenteras för att uppnå spårbarhet. Faktum är att användningen av kravet efter implementeringen av de implementerade funktionerna också skulle kunna spåras.

Att utveckla DO-178B-kompatibel programvara för luftburna system utan ett mjukvaruverktyg som kan ge djup och rigorös spårbarhet av projektartefakter under alla utvecklingsstadier skulle vara omöjligt.

Dokumentation krävs för DO-178B

Det finns flera dokument som krävs för att uppfylla DO-178B. De inkluderar:

  • Plan för programvaruaspekter av certifiering (PSAC)
  • Kvalitetssäkringsplan för programvara
  • Programvarukonfigurationshanteringsplan
  • Konfigurationskontrollprocedurer
  • Software Code Standard
  • Software Design Standard
  • Programvarukrav Standard
  • Programutvecklingsplan
  • Programverifieringsplan
  • Källa, exekverbar objektkod, SCI och SECI
  • Mjukvarudesigndokument
  • Programvarukravdokument
  • Spårbarhet
  • Testfall och procedurer
  • Verifieringsresultat
  • Kvalitetssäkringsdokument
  • Konfigurationshanteringsposter
  • Problemrapporter
  • Sammanfattning av mjukvaruprestationer

Stödjer DO-178B med ett kravhanteringsverktyg

Kravhanteringsverktyg som t.ex Visure Requirements kan stödja DO-178B genom att tillhandahålla spårbarhet från början till slut mellan alla krav, verifiering, problemrapportering, checklistor och projektartefakter. Den erbjuder en sammanhållen miljö som fungerar som ett centraliserat och öppet förråd för alla artefakter, inklusive DO-178B-mål.

Med Visure Requirements är det enkelt att standardisera och genomdriva de definierade processerna i hela organisationen för att följa DO-178B-riktlinjen och göra det på ett tillgängligt, samarbetsvilligt och kostnadseffektivt sätt.

Tack vare dess mångsidiga integrationsplattform kan Visure Requirements integreras med tredjeparts, kommersiella eller proprietära verktyg för att utöka förändringen konsekvensanalys funktioner för element utanför dess räckvidd för att ytterligare stödja DO-178B.

Andra kravhanteringsfunktioner i Visure Requirements inkluderar filter, användardefinierade vyer, rollbaserat användargränssnitt, grafiskt definierad kravprocess och spårbarhet, inbyggda arbetsflöden, ett obegränsat antal användardefinierade attribut, versionshantering och jämförelse, och återställning till äldre versioner, bland annat.

Slutsats

DO-178B är en mjukvarustandard som säkerställer att säkerhetskritisk programvara designas, utvecklas och testas på ett konsekvent och repeterbart sätt. Standarden har funnits sedan början av 1990-talet och har uppdaterats över tid för att ta hänsyn till förändringar i tekniken. Många kommersiella flygorganisationer kräver att deras leverantörer är certifierade enligt DO-178B som en del av att göra affärer med dem. För att uppnå certifiering måste organisationer gå igenom en rigorös process som inkluderar att dokumentera alla aspekter av mjukvaruutvecklingens livscykel. Visure Requirements ALM Platform är ett av få kravhanteringsverktyg som har certifierats för att stödja DO-178B på nivå A, den högsta certifieringsnivån. Om du letar efter en helhetslösning för att hantera dina krav och vill säkerställa efterlevnad av denna viktiga standard, pröva Visure Requirements idag. Prova på Gratis 30-dagsförsök Nu!

Glöm inte att dela detta inlägg!

kapitel

Kom till marknaden snabbare med Visure