Typkontroll anses vara en viktig mekanism för att upptäcka programmeringsfel, särskilt gränssnittsfel. I denna rapport beskrivs ett experiment för att bedöma förmågan att upptäcka fel vid statisk typkontroll mellan moduler. Experimentet använder gränssnitten Ansi C och Kernighan&Ritchie K&R C. Den relevanta skillnaden är att gränssnitten för Ansi C-kompilatorn kontrollerar modulen, dvs. parameterlistorna över samtal till externa funktioner, medan K&R C inte gör det. Experimentet använder en motbalanserad design där var och en av de 40 ämnena, de flesta av dem CS Ph.D. studenter, skriver två icke-triviala program som gränssnitt med ett komplext bibliotek Motif. Varje ämne skriver ett program i Ansi C och ett i K&R C. Inmatningen till varje kompilatorkörning sparas och analyseras manuellt för defekter. Resultaten visar att levererade Ansi C-program innehåller betydligt färre gränssnittsfel än levererade K&R C-program. Dessutom, efter att försökspersoner har fått viss förtrogenhet med gränssnittet de använder, Ansi C programmerare ta bort defekter snabbare och är mer produktiva mätt i både leveranstid och funktionalitet implementeras.
Ett tidigt exempel är utvärderingen av fel-detektion kapacitet av inter-modul typ kontroll i C av Prechelt och Tichy REF.
A Controlled Experiment to Assess the Benefits of Procedure Argument Type Checking
{'venue': 'IEEE Trans. Software Eng.', 'journal': 'IEEE Trans. Software Eng.', 'mag_field_of_study': ['Computer Science']}