Abstrakt. Formanalys handlar om problemet med att bestämma "forminvarianter" för program som utför destruktiv uppdatering på dynamiskt tilldelad lagring. Detta dokument presenterar en ny algoritm som tar som indata ett abstrakt värde (en 3-värderad logisk struktur som beskriver några uppsättning betong butiker X) och en förutsättning p, och beräknar det mest exakta abstrakta värdet för butikerna i X som uppfyller p. Denna algoritm löser flera öppna problem i form analys: (i) beräkna det mest exakta abstrakta värdet av en uppsättning betong butiker som specificeras av en logisk formel; (ii) dator bäst transformatorer för atomprogram uttalanden och villkor; (iii) dator bäst transformatorer för loopfria kodfragment (dvs block av atomprogram uttalanden och villkor); (iv) utföra interprocedural form analys med hjälp av procedurspecifikationer och antagande-garanti resonemang; och (v) beräkna den mest exakta över tillnärmningen av uppfyllande av två abstrakta värden. Algoritmen använder ett beslutsförfarande för logiken som används för att uttrycka egenskaper hos datastrukturer. En decidable logik för att uttrycka sådana egenskaper beskrivs i en följeslagare underkastelse [6]. Algoritmen kan också användas med en obeslutbar logik och en teoremprovare; uppsägning kan garanteras genom att använda standardtekniker (t.ex. att ha teoremprovaren returnerar ett säkert svar om en tidsgräns överskrids) till priset av att förlora förmågan att garantera att ett mest exakt resultat erhålls. En prototyp har implementerats i TVLA med hjälp av SPASS-teorin.
REF använder 3-värderad logik för att utföra formanalys.
Symbolically computing most-precise abstract operations for shape analysis
{'venue': 'In 10th TACAS', 'journal': None, 'mag_field_of_study': ['Computer Science']}