Abstract-Många organisationer vill förutsäga antalet defekter (fel) i mjukvarusystem, innan de är utplacerade, för att mäta den sannolikt levererade kvalitet och underhåll arbete. För att hjälpa till med detta har ett stort antal programvarumått och statistiska modeller tagits fram, med en motsvarande stor litteratur. Vi ger en kritisk granskning av denna litteratur och den senaste tekniken. De flesta av de många modellerna använder storleks- och komplexitetsmått för att förutsäga fel. Andra bygger på testdata, utvecklingsprocessens "kvalitet" eller en multivariat strategi. Författarna till modellerna har ofta gjort heroiska bidrag till ett ämne som annars berövats empiriska studier. Det finns dock ett antal allvarliga teoretiska och praktiska problem i många studier. Modellerna är svaga på grund av sin oförmåga att hantera det hittills okända sambandet mellan defekter och misslyckanden. Det finns grundläggande statistik- och datakvalitetsproblem som undergräver modellens giltighet. Mer påtagligt många förutsägelser modeller tenderar att modellera endast en del av det underliggande problemet och allvarligt missuppfatta det. För att illustrera dessa punkter "Goldilocks hypotes", att det finns en optimal modulstorlek, används för att visa de betydande problem som ingår i nuvarande fel förutsägelse metoder. Noggrann och genomtänkt analys av tidigare och nya resultat visar att hypotesen saknar stöd och att vissa modeller är vilseledande. Vi rekommenderar holistiska modeller för förutsägelse av programvarudefekter, med hjälp av Bayesian Belief Networks, som alternativa metoder till de single-issue-modeller som används för närvarande. Vi argumenterar också för forskning om en teori om "programvara nedbrytning" för att testa hypoteser om fel introduktion och bidra till att bygga en bättre vetenskap om programvaruteknik.
REF kritiserade de modeller som presenterats hittills, kallade singel-issue modeller, och föreslog istället användning av maskininlärning tekniker för att komma fram till en mer allmän modell för att förutsäga fel i programvara.
A Critique of Software Defect Prediction Models
{'venue': 'IEEE Transactions on Software Engineering', 'journal': None, 'mag_field_of_study': ['Computer Science']}