The Experts below are selected from a list of 18 Experts worldwide ranked by ideXlab platform

Sabin Patrick - One of the best experts on this subject based on the ideXlab platform.

  • Implementing a reversible debugger for Python
    2011
    Co-Authors: Sabin Patrick
    Abstract:

    Programmierer beginnen mit der Fehlersuche, weil sie ein falsches Verhalten des Programmes feststellen. Das Ziel der Fehlersuche ist festzustellen wo im Programm der Defekt ist, also der Teil des Programmes, welcher für das falsche Verhalten verantwortlich ist. Der Defekt wird jedoch ausgeführt bevor ein falsches Verhalten sichtbar ist. Daher wäre es sinnvoll in einem Debugger das Programm am Ort, wo der Fehler sichtbar ist, zu beginnen und von dort weg das Programm schrittweise rückwärts auszuführen bis man zum Defekt gelangt. Dieses rückwärts Ausführen wird jedoch von vielen gängigen Debuggern nicht unterstützt. Es gibt zwei grundsätzliche Strategien um einen rückwärtsausführenden Debugger zu implementieren, das heißt einen Debugger der das Vorwärts- und Rückwärtsausführen unterstützt. Die erste Variante ist die des Log-basierenden Debuggers. Ein Log-basierender Debugger speichert den Programm State nach jeder ausgeführten Instruktion. Nachdem das Programm fertig ausgeführt worden ist kann der Anwender das Programm anhand des Logdatei erneut abspielen und den State zu jedem beliebigen Zeitpunkt im Programm abspielen. Die zweite Variante ist die Snapshot & Replay Strategie. Hierbei erlaubt der Debugger interaktive Steuerung des Programmes. Beim Vorwärtsausführen werden hierbei regelmäßig Snapshots vom State gemacht. Um das Programm rückwärts auszuführen wird ein vorheriger Snapshot aktiviert und das Programm solange erneut ausgeführt bis die gewünschte Position erreicht ist. In dieser Diplomarbeit möchte ich zeigen, dass es möglich ist einen rückwärtsausführenden Debugger zu schreiben, welcher regelmäßig Snapshots macht und diese nutzt um Rückwärtsausführen zu ermöglichen. Es gibt einige Probleme die beim Rückwärtsausführen auftreten. Zum Beispiel gibt es nichtdeterministische Instruktionen, welche der Interpreter jedes Mal anders ausführt, beispielsweise eine Funktion, die die Systemzeit zurück gibt. Ein weiteres Problem sind Instruktionen mit Seiteneffekten. Diese ändern einen Teil States vom Programm, welcher nicht mittels Snapshots gespeichert wird, wie zum Beispiel eine Funktion die auf die Festplatte schreibt. Daher möchte ich in dieser Arbeit Methoden vorstellen, die mit diesen Problemen umgehen können. Außerdem habe ich zum Nachweis der Machbarkeit einen Rückwärtsausführenden Debuggers für die Programmiersprache Python entwickelt, welcher die meisten Probleme der Rückwärtsausführung löst. Um die Rückwärtsausführung von Programmen mit nichtdeterministischen Instruktionen zu ermöglichen, habe ich das neue Konzept der Zeitlinien eingeführt. Mit Zeitlinien kann der Benutzer entscheiden, welchen Ausführungspfad er wählen möchte, wenn er auf nichtdeterministische Instruktionen trifft. Außerdem habe ich das Konzept des zustandsorientierten Ressourcen Managements entwickelt, damit der Debugger auch den externen Zustand verwalten kann. Der Benutzer kann somit auch die der aktuellen Position entsprechende Umgebung des Programmes ansehen, wenn er das Programm rückwärts ausführt.The Programmer usually initiates a debugging process because of a failure and his goal is to find the defect. The defect is always executed before the failure occurs, so it is natural to start at the failure and move backwards in a Program to find the defect. However this procedure is usually not supported by actual debuggers. There are two different methods of implementing a reversible debugger, i.e., a debugger which can run the Program Forwards and backwards. The first one is the logging-based approach, which records the state of the Program after every instruction and allows inspection after the Program has finished running. The second one is the replay-based approach, where the debugger runs the debuggee interactively. For this purpose it makes periodic snapshots. The debugger runs the debuggee backwards by restoring a previous snapshot and then running the Program Forward until it reaches the desired position. In this thesis, I show that it is possible to implement a reversible debugger by continuous snapshotting of the Program state. There are indeed some challenges with using such a feature. For example, there are non-deterministic instructions, which execute differently each instance the interpreter executes them, e.g., a function, which returns the system time. Another example of this is when instructions change some external state like a file on the hard drive, which the debugger does not save when it makes a snapshot. Another problem is that some instructions do something different each time the debugger executes them. Therefore I present some methods of treating these problems. Accompanying this thesis, I have developed a proof-of-concept implementation of a reversible debugger called epdb for the Python Programming language, which solves most of the problems of reversible debugging. In order to support reversible debugging of Programs which have non-deterministic instructions in it, I introduce the new concept of timelines. With timelines, the user can decide which execution path he wants to take. I also introduce stateful resource management to support the management of the external state. This allows the user to investigate the environment corresponding to the actual position inside the Program, when he executes the Program backwards.von Patrick SabinZsfassung in dt. SpracheWien, Techn. Univ., Dipl.-Arb., 2011(VLID)161413

Hanspeter Mossenbock - One of the best experts on this subject based on the ideXlab platform.

  • trcview interactive architecture agnostic execution trace analysis
    Proceedings of the 17th International Conference on Managed Programming Languages and Runtimes, 2020
    Co-Authors: Daniel Pekarek, Hanspeter Mossenbock
    Abstract:

    Debuggers are traditionally used to investigate and observe the dynamic behavior of software. Reverse debuggers record a Program execution and provide a method to step through the Program Forward and backward, to quickly locate the operation of interest. However, recording based approaches usually assume a specific method of recording the Program execution. Furthermore, the recording and analysis is often linked in a certain way, so that it is not trivial, to quickly add support for new architectures or other recording tools. To solve these shortcomings, we defined a set of essential event types, to fully capture a Program execution in a platform-independent way. A prototype of the interactive trace analysis software was implemented in Java, which can handle recorded execution traces with 65 million instructions, when using a Java heap size of 16GiB for the analysis tool. To validate the platform-independence, 3 fundamentally different architectures were tested: AMD64, PowerPC, and PDP-11.

Yves Auroy - One of the best experts on this subject based on the ideXlab platform.

  • a serious game for massive training and assessment of french soldiers involved in Forward combat casualty care 3d sc1 development and deployment
    JMIR serious games, 2016
    Co-Authors: Pierre Pasquier, Stephane Merat, Brice Malgras, Ludovic Petit, Xavier Queran, Christian Bay, Mathieu Boutonnet, P Jault, Sylvain Ausset, Yves Auroy
    Abstract:

    Background: The French Military Health Service has standardized its military prehospital care policy in a ‘‘Sauvetage au Combat’’ (SC) Program (Forward Combat Casualty Care). A major part of the SC training Program relies on simulations, which are challenging and costly when dealing with more than 80,000 soldiers. In 2014, the French Military Health Service decided to develop and deploy 3D-SC1, a serious game (SG) intended to train and assess soldiers managing the early steps of SC. Objectives: The purpose of this paper is to describe the creation and production of 3D-SC1 and to present its deployment. Methods: A group of 10 experts and the Paris Descartes University Medical Simulation Department spin-off, Medusims, coproduced 3D-SC1. Medusims are virtual medical experiences using 3D real-time videogame technology (creation of an environment and avatars in different scenarios) designed for educational purposes (training and assessment) to simulate medical situations. These virtual situations have been created based on real cases and tested on mannequins by experts. Trainees are asked to manage specific situations according to best practices recommended by SC, and receive a score and a personalized feedback regarding their performance. Results: The scenario simulated in the SG is an attack on a patrol of 3 soldiers with an improvised explosive device explosion as a result of which one soldier dies, one soldier is slightly stunned, and the third soldier experiences a leg amputation and other injuries. This scenario was first tested with mannequins in military simulation centers, before being transformed into a virtual 3D real-time scenario using a multi-support, multi–operating system platform, Unity. Processes of gamification and scoring were applied, with 2 levels of difficulty. A personalized debriefing was integrated at the end of the simulations. The design and production of the SG took 9 months. The deployment, performed in 3 months, has reached 84 of 96 (88%) French Army units, with a total of 818 hours of connection in the first 3 months. Conclusions: The development of 3D-SC1 involved a collaborative platform with interdisciplinary actors from the French Health Service, a university, and videogame industry. Training each French soldier with simulation exercises and mannequins is challenging and costly. Implementation of SGs into the training Program could offer a unique opportunity at a lower cost to improve training and subsequently the real-time performance of soldiers when managing combat casualties; ideally, these should be combined with physical simulations. [JMIR Serious Games 2016;4(1):e5]

Daniel Pekarek - One of the best experts on this subject based on the ideXlab platform.

  • trcview interactive architecture agnostic execution trace analysis
    Proceedings of the 17th International Conference on Managed Programming Languages and Runtimes, 2020
    Co-Authors: Daniel Pekarek, Hanspeter Mossenbock
    Abstract:

    Debuggers are traditionally used to investigate and observe the dynamic behavior of software. Reverse debuggers record a Program execution and provide a method to step through the Program Forward and backward, to quickly locate the operation of interest. However, recording based approaches usually assume a specific method of recording the Program execution. Furthermore, the recording and analysis is often linked in a certain way, so that it is not trivial, to quickly add support for new architectures or other recording tools. To solve these shortcomings, we defined a set of essential event types, to fully capture a Program execution in a platform-independent way. A prototype of the interactive trace analysis software was implemented in Java, which can handle recorded execution traces with 65 million instructions, when using a Java heap size of 16GiB for the analysis tool. To validate the platform-independence, 3 fundamentally different architectures were tested: AMD64, PowerPC, and PDP-11.

Pierre Pasquier - One of the best experts on this subject based on the ideXlab platform.

  • a serious game for massive training and assessment of french soldiers involved in Forward combat casualty care 3d sc1 development and deployment
    JMIR serious games, 2016
    Co-Authors: Pierre Pasquier, Stephane Merat, Brice Malgras, Ludovic Petit, Xavier Queran, Christian Bay, Mathieu Boutonnet, P Jault, Sylvain Ausset, Yves Auroy
    Abstract:

    Background: The French Military Health Service has standardized its military prehospital care policy in a ‘‘Sauvetage au Combat’’ (SC) Program (Forward Combat Casualty Care). A major part of the SC training Program relies on simulations, which are challenging and costly when dealing with more than 80,000 soldiers. In 2014, the French Military Health Service decided to develop and deploy 3D-SC1, a serious game (SG) intended to train and assess soldiers managing the early steps of SC. Objectives: The purpose of this paper is to describe the creation and production of 3D-SC1 and to present its deployment. Methods: A group of 10 experts and the Paris Descartes University Medical Simulation Department spin-off, Medusims, coproduced 3D-SC1. Medusims are virtual medical experiences using 3D real-time videogame technology (creation of an environment and avatars in different scenarios) designed for educational purposes (training and assessment) to simulate medical situations. These virtual situations have been created based on real cases and tested on mannequins by experts. Trainees are asked to manage specific situations according to best practices recommended by SC, and receive a score and a personalized feedback regarding their performance. Results: The scenario simulated in the SG is an attack on a patrol of 3 soldiers with an improvised explosive device explosion as a result of which one soldier dies, one soldier is slightly stunned, and the third soldier experiences a leg amputation and other injuries. This scenario was first tested with mannequins in military simulation centers, before being transformed into a virtual 3D real-time scenario using a multi-support, multi–operating system platform, Unity. Processes of gamification and scoring were applied, with 2 levels of difficulty. A personalized debriefing was integrated at the end of the simulations. The design and production of the SG took 9 months. The deployment, performed in 3 months, has reached 84 of 96 (88%) French Army units, with a total of 818 hours of connection in the first 3 months. Conclusions: The development of 3D-SC1 involved a collaborative platform with interdisciplinary actors from the French Health Service, a university, and videogame industry. Training each French soldier with simulation exercises and mannequins is challenging and costly. Implementation of SGs into the training Program could offer a unique opportunity at a lower cost to improve training and subsequently the real-time performance of soldiers when managing combat casualties; ideally, these should be combined with physical simulations. [JMIR Serious Games 2016;4(1):e5]