Genomskinlig uthållighet lovar att integrera programmeringsspråk och databaser genom att tillåta procedurprogram att få tillgång till ihållande data med samma lätthet som icke-beständiga data. När data lagras i en relationsdatabas, dock, transparent persistens inte naturligt utnyttja prestandafördelarna med relationell frågeoptimering. Vi presenterar en programanalys som kombinerar fördelarna med båda tillvägagångssätten genom att extrahera databasfrågor från program med transparent tillgång till ihållande data. Analysen använder en ljud abstrakt tolkning av det ursprungliga programmet för att approximera data traversal banor i programmet och de villkor under vilka banorna används. De resulterande sökvägarna omvandlas sedan till en fråga, och programmet förenklas genom att ta bort överflödiga tester. Vi studerar ett imperativt kärnspråk med lässkyddad tillgång till ihållande data och identifierar de förhållanden under vilka omvandlingarna kan tillämpas. Denna analys metod lovar att kombinera de programvarutekniska fördelarna med transparent data persistens med prestandafördelarna med databas frågeoptimering.
För att återvinna några av fördelarna med dessa optimeringar föreslår REF användning av abstrakt tolkning för att statiskt extrahera SQL-frågor från koden.
Extracting queries by static analysis of transparent persistence
{'venue': "POPL '07", 'journal': None, 'mag_field_of_study': ['Computer Science']}