Många abstrakta värdedomäner som intervaller, bitvis, konstanter och värdeuppsättningar har utvecklats för att stödja dataflödesanalys. Olika domäner erbjuder alternativa avvägningar mellan analyshastighet och precision. Dessutom är vissa domäner en bättre matchning för vissa typer av kod än andra. Detta dokument presenterar utformningen och genomförandet av cXprop, ett analys- och transformationsverktyg för C som implementerar "villkorlig X-förökning", en generalisering av den välkända villkorliga konstantförökningsalgoritmen där X är en abstrakt värdedomän som tillhandahålls av användaren. cXprop är interprocedural, kontext-okänslig, och uppnår rimlig precision på pekarrika koder. Vi har tillämpat cXprop på sensornätverksprogram som körs på TinyOS, för att minska kodstorleken genom interprocedural död kod eliminering, och för att hitta begränsad-bitwidth globala variabler. Vår analys av globala variabler stöds av en ny konvergensmodell för avbrottsdriven programvara. cXprop minskar TinyOS applikationskodstorlek med i genomsnitt 9,2 % och förutspår en genomsnittlig datastorleksreduktion på 8,2 % genom RAM-komprimering.
cXprop REF är vårt statiska analys- och omvandlingsverktyg för C-kod och innehåller alternativ för att specifikt rikta WSN-applikationer.
Pluggable abstract domains for analyzing embedded software
{'venue': "LCTES '06", 'journal': None, 'mag_field_of_study': ['Computer Science']}