En restriktion-baserad strategi för invariant generation i program översätter ett program till begränsningar som är lösta med hjälp av off-theshelf restrict lösare för att ge önskat program invariants. I detta dokument visar vi hur den begränsningsbaserade metoden kan användas för att modellera ett brett spektrum av programanalyser i ett uttrycksfullt område som innehåller diskrepanser och samband mellan linjära ojämlikheter. I synnerhet visar vi hur man kan modellera problemet med kontextkänslig interprocedural programverifiering. Vi presenterar också den första begränsningsbaserade strategin för den svagaste förutsättningen och den starkaste slutsatsen efter omständigheterna. De begränsningar vi genererar är booleska kombinationer av kvadratiska ojämlikheter över heltalsvariabler. Vi minskar dessa begränsningar till SAT-formler med hjälp av bitvekormodellering och använder off-the-shelf SAT-lösare för att lösa dem. Dessutom presenterar vi intressanta tillämpningar av ovanstående analyser, nämligen gränsanalys och generering av de flesta allmänna motexempel för både säkerhets- och terminsfastigheter. Vi presenterar också uppmuntrande preliminära experimentella resultat som visar genomförbarheten av vår teknik på en mängd utmanande exempel.
Gulwani m.fl. REF tar upp interprocedural verifiering, svagaste förutsättning och starkaste postvillkor inference, men användartillhandahållna tips behövs för att generera restriktionssystemet.
Program analysis as constraint solving
{'venue': "PLDI '08", 'journal': None, 'mag_field_of_study': ['Computer Science']}