Beskriva omfattning och begränsningar av både informella och formella tekniker för att upptäcka, analysera och rätta programfel.Beskriva grundprinciper för hur man skriver precisa specifikationer för mjukvaruenheter.Diskutera grundprinciper inom mjukvaruverifiering.Färdighet och förmåga:
Formulera precisa specifikationer för mjukvaruenheter.
Karakterisera indata för vilka ett program går fel.
Lokalisera, analysera och fixa programfel.
Resonera formellt om enkla program för att garantera korrekthet.
V
ä
r
d
e
i
n
g
s
f
ö
m
å
a
o
c
h
l
t
:
Bedöma olika tekniker för felsökning och felprevention som kan påträffas i ett arbetssammanhang.
Bidra till utveckling och förbättring av tekniker för felsökning och felprevention i ett givet sammanhang.
Följa upp och utnyttja konceptuell och teknisk utveckling inom områdena testning, felsökning och verifiering som går bortom de exakta teknikerna som omfattas av kursen.
Kursinnehåll
Kursen täcker formella och informella metoder, testning (terminologi, täckningsgrad, enhetstest, ramverk för enhetstester), felsökning (kontroll, arbetsflöde, lokalisering, verktyg), formell specifikation (pre-/postconditions, invarianter), formell verifiering (logik, verktyg). Kursen berör imperativa programmeringsspråk generellt, med mer specifikt fokus på objektorienterad programmering. Efter genomgången kurs ska studenten ha förstått och ha förmåga att använda metoder för testning (att systematiskt påvisa programvarufel), felsökning (processen att isolera och rätta programvarufel), samt verifiering (att formellt resonera om program för att garantera korrekthet). Samtliga av dessa metoder är beroende av precisa specifikationer för vad programmet ska göra.
Förutsättningar
Grundläggande behörighet för grundnivå
Litteratur
Slides från föreläsningar distribueras via kurshemsidan. Litteraturlista finns på kurshemsidan.
Redo att boosta dina studier?
Gör som 15 000+ studenter och ta kontroll över ditt tentaplugg.