JK
J. Kloppenburg
info
Please Note
<p>This page displays the records of the person named above and is not linked to a unique person identifier. This record may need to be merged to a profile.</p>
2 records found
1
Expressing Intent
An evaluation of the Arm Machine Readable Specification
The behaviour of software is intrinsically linked to the hardware it runs on. As hardware innovations continuously change the landscape of computing, software has to adapt to these changes. Running legacy software on new hardware requires either the old hardware to be emulated, or a very time-consuming and error-prone process of reverse engineering the software to determine its behaviour, and then writing new software that has the same behaviour, but runs on the new hardware. Binary lifting and translation tools aim to automate this process, but are often limited by the lack of accurate and complete instruction semantics.
This project aims to evaluate the feasibility of using the Arm Machine Readable Specification to aid in this process. The specification is a machine-readable description of the Arm architecture, including self-proclaimed "executable" instruction semantics, written in a specification language called ASL. This project has created an emulator that can run Arm instructions on a non-Arm architecture, using the specification to determine the behaviour of the instructions. The emulator is able to run simple programs with little context, but is not yet able to run more complex programs, due to the lack of support for behaviour that depends on the specific hardware implementation, and context dependencies outside of the instruction set, such as operating system interactions.
This emulation based solely on the specification has demonstrated that it is a promising approach to reason about the behaviour of Arm programs, but it is not complete enough to be used for binary lifting and translation. The context dependency of executables, and the lack of implementation specific behaviour in the specification are the main reasons for this. ...
This project aims to evaluate the feasibility of using the Arm Machine Readable Specification to aid in this process. The specification is a machine-readable description of the Arm architecture, including self-proclaimed "executable" instruction semantics, written in a specification language called ASL. This project has created an emulator that can run Arm instructions on a non-Arm architecture, using the specification to determine the behaviour of the instructions. The emulator is able to run simple programs with little context, but is not yet able to run more complex programs, due to the lack of support for behaviour that depends on the specific hardware implementation, and context dependencies outside of the instruction set, such as operating system interactions.
This emulation based solely on the specification has demonstrated that it is a promising approach to reason about the behaviour of Arm programs, but it is not complete enough to be used for binary lifting and translation. The context dependency of executables, and the lack of implementation specific behaviour in the specification are the main reasons for this. ...
The behaviour of software is intrinsically linked to the hardware it runs on. As hardware innovations continuously change the landscape of computing, software has to adapt to these changes. Running legacy software on new hardware requires either the old hardware to be emulated, or a very time-consuming and error-prone process of reverse engineering the software to determine its behaviour, and then writing new software that has the same behaviour, but runs on the new hardware. Binary lifting and translation tools aim to automate this process, but are often limited by the lack of accurate and complete instruction semantics.
This project aims to evaluate the feasibility of using the Arm Machine Readable Specification to aid in this process. The specification is a machine-readable description of the Arm architecture, including self-proclaimed "executable" instruction semantics, written in a specification language called ASL. This project has created an emulator that can run Arm instructions on a non-Arm architecture, using the specification to determine the behaviour of the instructions. The emulator is able to run simple programs with little context, but is not yet able to run more complex programs, due to the lack of support for behaviour that depends on the specific hardware implementation, and context dependencies outside of the instruction set, such as operating system interactions.
This emulation based solely on the specification has demonstrated that it is a promising approach to reason about the behaviour of Arm programs, but it is not complete enough to be used for binary lifting and translation. The context dependency of executables, and the lack of implementation specific behaviour in the specification are the main reasons for this.
This project aims to evaluate the feasibility of using the Arm Machine Readable Specification to aid in this process. The specification is a machine-readable description of the Arm architecture, including self-proclaimed "executable" instruction semantics, written in a specification language called ASL. This project has created an emulator that can run Arm instructions on a non-Arm architecture, using the specification to determine the behaviour of the instructions. The emulator is able to run simple programs with little context, but is not yet able to run more complex programs, due to the lack of support for behaviour that depends on the specific hardware implementation, and context dependencies outside of the instruction set, such as operating system interactions.
This emulation based solely on the specification has demonstrated that it is a promising approach to reason about the behaviour of Arm programs, but it is not complete enough to be used for binary lifting and translation. The context dependency of executables, and the lack of implementation specific behaviour in the specification are the main reasons for this.
Bachelor thesis
(2018)
-
Kilian Callebaut, Jeroen Kloppenburg, Thom van der Steenhoven, Joost Broekens
Tata Steel IJmuiden, een bedrijf gespecialiseerd in het produceren van kwalitatief staal, is bezig met het digitaliseren van meerdere componenten van hun productieproces. Aan het eind van dat productie proces controleren menselijke inspecteurs of de geproduceerde rollen staal kwalitatief voldoen aan de eisen van de klant. Om dit werk te standaardiseren hanteren deze inspecteurs een aantal kwaliteitsniveau die specificeren welke productiefouten al dan niet aanwezig mogen zijn voor de toepassing van de klant. De inspecteurs worden opgeleid om te weten welke staalfouten al dan niet acceptabel zijn voor elk kwaliteitsniveau en hoe deze staalfouten eruit zien. Deze kennis wordt elk jaar getest door middel van een zogenaamde Measurement System Analysis (MSA) test. Tata Steel heeft het ontwikkelteam gevraagd om deze test te digitaliseren en te gamificeren. De grootste voorwaarde aan deze digitale versie is dat hij statistisch equivalent blijft aan het uitvoeren van een fysieke MSA. Deze thesis bespreekt hoe het onderzoek is verlopen naar zowel de digitalisatie als de gamificatie van de test. Als onderdeel hiervan wordt uiteen gezet welke opties zijn overwogen om de test zo goed mogelijk te vertalen naar een digitale versie. Bij deze digitalisatie is zowel gekeken naar de inspecteurs die de test maken als de begeleiders die de test opzetten. Daarnaast is er onderzoek gedaan naar het gamificeren van de test en zijn er 2 brede richtingen gevonden die het bedrijf kan volgen qua gamificatie: gamificeren en serious games. Ook is er onderzocht of er een patroon te vinden is karakter van de inspecteurs en of het ontwikkelteam hier gebruik van kan maken in het evalueren van mogelijke spelelementen die als toevoeging kunnen dienen. Dit patroon bleek te bestaan, aangezien het grootste deel van de inspecteurs hetzelfde Keirsey temperament hadden. Dit temperament is vervolgens terug geleid naar het Achiever spelerstype van Bartle. Deze termen en de consequenties hiervan worden uitgelegd in 2.3. Na het onderzoek bespreekt dit rapport welke uiteindelijke implementatie het team heeft gekozen. Hierbij is afleiding van het keuren zelf zoveel mogelijk vermeden. Daarom heeft het ontwikkelteam gekozen voor een oplossing die een spel creëert rondom het keuren, in plaats van het keuren zelf vermakelijker te maken. Hiermee wordt bedoelt dat het beoordelen van een plaat wordt gedaan in een omgeving waar het spel geen externe druk probeert te leggen op de inspecteur. Hiervoor is gekozen met het oog op de statistische equivalentie die de digitale test moest behouden. Het systeem is getest op deze statistische equivalentie door de resultaten van inspecteurs op de digitale test te vergelijken met die van de fysieke test. Hieruit is geconcludeerd dat het digitale systeem een bruikbaar alternatief is voor het uitvoeren van een fysieke MSA. Hierbij dient wel vermeld te worden dat dit onderzoek gelimiteerd is qua omvang. Het uitvoeren van verdere testen wordt dan ook geadviseerd. Ten slotte behandelt dit rapport de lessen die het ontwikkelteam heeft geleerd van dit project en doet het team aanbevelingen voor verdere ontwikkeling van het programma. Door middel van het toevoegen van enkele elementen kan Tata Steel op basis van dit werk een aantal interessante richtingen uit. Het eindproduct van deze thesis wordt dan ook voornamelijk beschouwd als een prototype waarop latere evolutie van het programma kan voortbouwen.
...
Tata Steel IJmuiden, een bedrijf gespecialiseerd in het produceren van kwalitatief staal, is bezig met het digitaliseren van meerdere componenten van hun productieproces. Aan het eind van dat productie proces controleren menselijke inspecteurs of de geproduceerde rollen staal kwalitatief voldoen aan de eisen van de klant. Om dit werk te standaardiseren hanteren deze inspecteurs een aantal kwaliteitsniveau die specificeren welke productiefouten al dan niet aanwezig mogen zijn voor de toepassing van de klant. De inspecteurs worden opgeleid om te weten welke staalfouten al dan niet acceptabel zijn voor elk kwaliteitsniveau en hoe deze staalfouten eruit zien. Deze kennis wordt elk jaar getest door middel van een zogenaamde Measurement System Analysis (MSA) test. Tata Steel heeft het ontwikkelteam gevraagd om deze test te digitaliseren en te gamificeren. De grootste voorwaarde aan deze digitale versie is dat hij statistisch equivalent blijft aan het uitvoeren van een fysieke MSA. Deze thesis bespreekt hoe het onderzoek is verlopen naar zowel de digitalisatie als de gamificatie van de test. Als onderdeel hiervan wordt uiteen gezet welke opties zijn overwogen om de test zo goed mogelijk te vertalen naar een digitale versie. Bij deze digitalisatie is zowel gekeken naar de inspecteurs die de test maken als de begeleiders die de test opzetten. Daarnaast is er onderzoek gedaan naar het gamificeren van de test en zijn er 2 brede richtingen gevonden die het bedrijf kan volgen qua gamificatie: gamificeren en serious games. Ook is er onderzocht of er een patroon te vinden is karakter van de inspecteurs en of het ontwikkelteam hier gebruik van kan maken in het evalueren van mogelijke spelelementen die als toevoeging kunnen dienen. Dit patroon bleek te bestaan, aangezien het grootste deel van de inspecteurs hetzelfde Keirsey temperament hadden. Dit temperament is vervolgens terug geleid naar het Achiever spelerstype van Bartle. Deze termen en de consequenties hiervan worden uitgelegd in 2.3. Na het onderzoek bespreekt dit rapport welke uiteindelijke implementatie het team heeft gekozen. Hierbij is afleiding van het keuren zelf zoveel mogelijk vermeden. Daarom heeft het ontwikkelteam gekozen voor een oplossing die een spel creëert rondom het keuren, in plaats van het keuren zelf vermakelijker te maken. Hiermee wordt bedoelt dat het beoordelen van een plaat wordt gedaan in een omgeving waar het spel geen externe druk probeert te leggen op de inspecteur. Hiervoor is gekozen met het oog op de statistische equivalentie die de digitale test moest behouden. Het systeem is getest op deze statistische equivalentie door de resultaten van inspecteurs op de digitale test te vergelijken met die van de fysieke test. Hieruit is geconcludeerd dat het digitale systeem een bruikbaar alternatief is voor het uitvoeren van een fysieke MSA. Hierbij dient wel vermeld te worden dat dit onderzoek gelimiteerd is qua omvang. Het uitvoeren van verdere testen wordt dan ook geadviseerd. Ten slotte behandelt dit rapport de lessen die het ontwikkelteam heeft geleerd van dit project en doet het team aanbevelingen voor verdere ontwikkeling van het programma. Door middel van het toevoegen van enkele elementen kan Tata Steel op basis van dit werk een aantal interessante richtingen uit. Het eindproduct van deze thesis wordt dan ook voornamelijk beschouwd als een prototype waarop latere evolutie van het programma kan voortbouwen.