Vi presenterar en enkel men användbar teknik för att förfina kontrollstrukturen av loopar som förekommer i tvingande program. Loopar som innehåller komplext kontrollflöde är vanliga i synkrona inbyggda styrenheter som härrör från modellering av språk som Lustre, Esterel och Simulink/Stateflow. Vår strategi använder en uppsättning etiketter för att skilja olika kontrollvägar inom en given slinga. Iterationer av loopen är abstrakt som en ändlig stat automaton över dessa etiketter. Därefter använder vi statiska analystekniker för att identifiera ogenomförbara iterationssekvenser och subtrahera sådana förbjudna sekvenser från det ursprungliga språket för att erhålla en förfining. I praktiken förenklar förfiningen av kontrollflödessekvenserna ofta kontrollflödets mönster i slingan. Vi har tillämpat förfiningstekniken för att förbättra precisionen i den abstrakta tolkningen i närvaro av breddning. Våra experiment på en uppsättning komplexa reaktiva loop riktmärken visar tydligt nyttan av våra förfiningsmetoder. Abstraction tolkning med vår förfining teknik kunde verifiera alla egenskaper för 10 av de 13 riktmärken, medan abstraktion tolkning utan förfining kunde verifiera endast fyra. Andra potentiellt användbara tillämpningar inkluderar termineringsanalys och omvända tekniska modeller från källkod.
Senare metoder för att förfina kontrollstrukturen för reaktiva noder inkluderar REF.
Refining the control structure of loops using static analysis
{'venue': "EMSOFT '09", 'journal': None, 'mag_field_of_study': ['Computer Science']}