Processvirtualisering ger en virtuell exekveringsmiljö där en omodifierad applikation kan övervakas och styras medan den körs. Det angivna kontrollskiktet kan användas för allt från sandlåda till kompatibilitet till profilering. De ytterligare åtgärder som krävs för detta lager utförs hemlighetsfullt tillsammans med regelbunden programutförande. Mjukvarudynamisk instrumentering är en metod för att implementera processvirtualisering som dynamiskt instrumenterar en applikation så att applikationens kod och den införda koden interleaveds tillsammans. DynamoRIO är ett processvirtualiseringssystem som implementeras med hjälp av programvarukodscachetekniker som gör det möjligt för användare att bygga anpassade dynamiska instrumenteringsverktyg. Det finns många utmaningar med att bygga ett sådant runtime system. Ett stort hinder är öppenhet. För att stödja exekvering av godtyckliga tillämpningar måste DynamoRIO vara helt transparent så att en applikation inte kan skilja mellan att köra inne i den virtuella miljön och att köra inåt. Dessutom måste alla önskade extra operationer för ett visst verktyg undvika att störa beteendet hos programmet. Transparens har historiskt sett tillhandahållits på ad hoc-basis, som en reaktion på konstaterade problem i måltillämpningar. I detta dokument identifieras en nödvändig uppsättning insynskrav för att köra vanliga Windows- och Linuxapplikationer. Vi diskuterar möjliga lösningar på varje öppenhetsfråga, utvärderar kompromisser mellan olika val och identifierar fall där det praktiskt taget inte går att lösa att upprätthålla öppenhet. Vi tror att detta kommer att ge en riktlinje för bättre design och genomförande av transparent dynamisk instrumentering, liksom andra liknande processvirtualiseringssystem med hjälp av programvarukodcache.
DynamoRIO REF är ett processvirtualiseringssystem som implementeras med hjälp av teknik för programvarukodcache.
Transparent dynamic instrumentation
{'venue': "VEE '12", 'journal': None, 'mag_field_of_study': ['Computer Science']}