Sammanfattning av denna webbsida: Detta papper presenterar en förbättrad metod för att testa giltigheten av aritmetisk optimering av C-kompilatorer med hjälp av slumpmässigt genererade program. Dess förmåga att upptäcka fel förbättras jämfört med en befintlig metod genom 1) att generera längre aritmetiska uttryck och 2) att ta emot flera uttryck i testprogram. Odefinierat beteende i långa uttryck elimineras framgångsrikt genom att ändra problematiska underuttryck vid beräkning av förväntade värden för uttrycken. En ny metod för att inkludera flyttalsoperationer i kompilatorns slumpmässiga provning föreslås också. Dessutom presenteras en effektiv metod för att minimera fel framkalla testprogram, som använder binär sökning. Experimentella resultat visar att ett slumpmässigt testsystem baserat på vår metod har högre feldetekteringskapacitet än befintliga metoder; det har upptäckt fler fel än tidigare metod i tidigare versioner av GCC:er och har avslöjat nya fel i de senaste versionerna av GCC:er och LLVM:er.
Orange3 är en slumpmässig program generator som testar aritmetiska optimeringar i C kompilatorer REF.
Reinforcing Random Testing of Arithmetic Optimization of C Compilers by Scaling up Size and Number of Expressions
{'venue': 'IPSJ Trans. System LSI Design Methodology', 'journal': 'IPSJ Trans. System LSI Design Methodology', 'mag_field_of_study': ['Computer Science']}