Softwareontwikkeling en projectmanagement
Welk probleem is een statische-analysetool, toegepast op de broncode van firmware, het best in staat te vinden zonder het programma uit te voeren?
- AEen functie die gebruikers echt nodig hebben, ontbreekt in het requirementsdocument
- BPaden die een niet-geïnitialiseerde variabele lezen, en plaatsen die mogelijk buiten de grenzen van een array lezen of schrijven
- CBij een deel van de in serie geproduceerde printplaten worden signalen onderbroken door slechte soldeerverbindingen
Antwoord en toelichting tonen
Antwoord: B. Paden die een niet-geïnitialiseerde variabele lezen, en plaatsen die mogelijk buiten de grenzen van een array lezen of schrijven
Statische analyse onderzoekt de syntaxis, de control flow en de dataflow van broncode zonder die uit te voeren, en vindt problemen zoals het lezen van niet-geïnitialiseerde variabelen, arraytoegang buiten de grenzen, mogelijke dereferenties van een nullpointer en overtredingen van codeerstandaarden (zoals MISRA C, dat voor embedded C wordt gebruikt). Ze kan problemen vinden op paden die tests zelden bereiken, maar geeft ook valse meldingen, dus mensen beoordelen de resultaten. Ontbrekende eisen worden gevonden met reviews en afstemming met gebruikers, en slechte soldeerverbindingen met inspectie tijdens de productie en tests op echte hardware; analyse van broncode kan ze niet aan het licht brengen.
Verder: nog 9 vragen over Softwareontwikkeling en projectmanagement