Postdoc "Advanced and extendable tools and virtual machines for debugging"

SD
Stéphane Ducasse
Sat, Dec 7, 2019 4:40 PM

Hello,

we have an open post-doc position in the RMoD team, Inria Lille - Nord Europe on the following topic:

Advanced and extendable tools and virtual machines for debugging.

Level of qualifications required : PhD or equivalent

Starting date : ASAP

Duration of contract : 1 year, 6 months

Town/city : Villeneuve d'Ascq

Inria Center : CRI Lille - Nord Europe http://www.inria.fr/centre/lille
To apply: https://jobs.inria.fr/public/classic/en/offres/2019-02204 https://jobs.inria.fr/public/classic/en/offres/2019-02204
Contact:

Steven Costiou, steven.costiou@inria.fr mailto:steven.costiou@inria.fr
Stéphane Ducasse, stephane.ducasse@inria.fr mailto:stephane.ducasse@inria.fr

Please find the detailed job offer below and attached to this mail.

Best Regards,


Steven Costiou
Researcher, RMoD/Inria
https://kloum.io/costiou/ https://kloum.io/costiou/

=========Detailed job offer=========

Context

Debuggers are applications that users use to debug other applications. Lots of tools provide users with a large variety of debugging capabilities. However several aspects of the debugging activity are poorly covered by scientific and technical state-of-the-art. For example, it is still very hard to debug concurrent or parallel systems.

It is also not very clear how to implement advanced debugging tools such as back-in-time debuggers, or what support should a run-time infrastructure (e.g., a virtual machine) provide for advanced debugging.

Finally, often tools are inflexible and cannot be adapted to specific domain or projects. New generation tools should not only support the developers customising tools to their own workflow and domain, but also be dynamically activated even if the virtual machine does not support them. Therefore, virtual machines should also be extendable with new, user-defined primitives and support for debugging.

Results will be submitted to international conferences and journals and an effort will be put to produce systems that can be used by (normal) developers so that user experiences provide real data.

The work will happen in collaboration between Inria Lille (RMOD team) and Vrije Universitat Brussels (SOFT lab).

Assignment

Objectives
The goal of this Postdoc is to build new advanced debuggers to explore and experiment one or more of the following topics:

Back-in-time and scriptable debuggers

How to build back-in-time debuggers?
What abstractions do we need to take advantage of back-in-time debuggers? (scripting, DSLs…)
How can users extend, customise and enhance their debugger? 

(following PhD of A. Chis on Moldable Tools and the work of T. Dupriez on scriptable debuggers)
Extendable virtual machines for advanced debugging support

What primitives do we need from the virtual machine to support advanced debugging tools? 

(back-in-time debuggers, object-centric debuggers, etc.)
How can users create new debugging primitives and enable them on-demand when a particular bug happens and requires investigation without restarting the program?

Advanced debuggers for concurrency

How can we track specific objects in a concurrent execution and how this capability helps in debugging concurrent programs? 

(following the PhD of S. Costiou on unanticipated object-centric debugging)
What are and how to express object-centric debugging queries on the flow of objects, shared by concurrent processes?
Can we leverage Dynamic Software Update techniques to safely instrument running concurrent programs with advanced debugging instrumentation?

(following the PhD of P. Tesone on DSU for live and production environments)

Support for debugging tools

Can we use type inferencers to ease the design of debugging tools and limit their impact on performance and memory on dynamic languages runtimes?
(following work on RoelTyper and PhD of L. Spoon on type inference)
References:

Thomas Dupriez, Guillermo Polito, Steven Costiou, Vincent Aranega, and Stéphane Ducasse. 2019. Sindarin: a versatile scripting API for the Pharo debugger. In Proceedings of the 15th ACM SIGPLAN International Symposium on Dynamic Languages (DLS 2019).
Pablo Tesone, Guillermo Polito, Noury Bouraqadi, Stéphane Ducasse, Luc Fabresse. Dynamic Software Update from Development to Production. The Journal of Object Technology, Chair of Software Engineering, 2018
Steven Costiou, Mickaël Kerboeuf, Alain Plantec, and Marcus Denker. 2018. Collectors. In Conference Companion of the 2nd International Conference on Art, Science, and Engineering of Programming (Programming'18 Companion).
Matteo Marra, Elisa Gonzalez Boix, Steven Costiou, Mickaël Kerboeuf, Alain Plantec, Guillermo Polito, and Stéphane Ducasse. 2017. Debugging Cyber-Physical Systems with Pharo: An Experience Report. In Proceedings of the 12th edition of the International Workshop on Smalltalk Technologies (IWST '17).
A. Chis, T.Girba, Tudor and O. Nierstrasz, The Moldable Debugger: A Framework for Developing Domain-Specific Debuggers, Software Language Engineering, 2014.
Lienhard, Girba, Nierstrasz: Practical Object-Oriented Back-in-Time Debugging, Proceeding ECOOP '08.
Proksch, Sebastian ; Lerch, Johannes ; Mezini, Mira : Intelligent Code Completion with Bayesian Networks. http://doi.acm.org/10.1145/2744200 http://doi.acm.org/10.1145/2744200  ACM Transactions on Software Engineering and Methodology (TOSEM), 25 (1) 3:1-3:31. 2015
C. Hofer, M. Denker and S. Ducasse, Design and Implementation of a Backward-In-Time Debugger, Node 06, 2006.
S. A. Spoon and O. Shivers, Demand-Driven Type Inference with Subgoal pruning: Trading Precision for Scalability, Proceedings of ECOOP'04, 2004
Main activities

The plan is to:

Join the team work around debugging, that includes 3 researchers and 1 phd student
Survey the key developer activities
Define new model and enhance current
Realize prototypes, possibly using Pharo
Run validation with real end-users
Publish results in top venues
Skills

Technical skills and level required

OOP, TDD
Reflective programming
Program transformation
Language

English
Relational skills

Good team work skills
Other valued appreciated

Knowledge of the Pharo language is a plus
A strong interest about debugging and/or dynamic languages is also appreciated
Benefits package

Subsidized meals
Partial reimbursement of public transport costs
Leave: 7 weeks of annual leave + 10 extra days off due to RTT (statutory reduction in working hours) + possibility of exceptional leave (sick children, moving home, etc.)
Possibility of teleworking (after 6 months of employment) and flexible organization of working hours
Professional equipment available (videoconferencing, loan of computer equipment, etc.)
Social, cultural and sports events and activities
Access to vocational training
Remuneration

Gross monthly salary (before taxes) : 2 653

RMOD

The goal of RMoD is to support remodularization and development of modular object-oriented applications. We tackle this objective from two complementary perspectives: reengineering, and constructs for dynamic languages. In the context of languages, we revisit language concepts such as modules and composition; we are also working on a new generation of reflective systems. We experiment with these programming constructs using Pharo, an open source, reflective, object-oriented language. http://rmod.inria.fr http://rmod.inria.fr/
About the research centre or Inria department

The Inria Lille - Nord Europe Research Centre was founded in 2008 and employs a staff of 360, including 300 scientists working in sixteen research teams. Recognised for its outstanding contribution to the socio-economic development of the Hauts-De-France région, the Inria Lille - Nord Europe Research Centre undertakes research in the field of computer science in collaboration with a range of academic, institutional and industrial partners.

The strategy of the Centre is to develop an internationally renowned centre of excellence with a significant impact on the City of Lille and its surrounding area. It works to achieve this by pursuing a range of ambitious research projects in such fields of computer science as the intelligence of data and adaptive software systems. Building on the synergies between research and industry, Inria is a major contributor to skills and technology transfer in the field of computer science.


Stéphane Ducasse
http://stephane.ducasse.free.fr / http://www.pharo.org
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France

Hello, we have an open post-doc position in the RMoD team, Inria Lille - Nord Europe on the following topic: Advanced and extendable tools and virtual machines for debugging. Level of qualifications required : PhD or equivalent Starting date : ASAP Duration of contract : 1 year, 6 months Town/city : Villeneuve d'Ascq Inria Center : CRI Lille - Nord Europe <http://www.inria.fr/centre/lille> To apply: https://jobs.inria.fr/public/classic/en/offres/2019-02204 <https://jobs.inria.fr/public/classic/en/offres/2019-02204> Contact: Steven Costiou, steven.costiou@inria.fr <mailto:steven.costiou@inria.fr> Stéphane Ducasse, stephane.ducasse@inria.fr <mailto:stephane.ducasse@inria.fr> Please find the detailed job offer below and attached to this mail. Best Regards, ----------- Steven Costiou Researcher, RMoD/Inria https://kloum.io/costiou/ <https://kloum.io/costiou/> =========Detailed job offer========= Context Debuggers are applications that users use to debug other applications. Lots of tools provide users with a large variety of debugging capabilities. However several aspects of the debugging activity are poorly covered by scientific and technical state-of-the-art. For example, it is still very hard to debug concurrent or parallel systems. It is also not very clear how to implement advanced debugging tools such as back-in-time debuggers, or what support should a run-time infrastructure (e.g., a virtual machine) provide for advanced debugging. Finally, often tools are inflexible and cannot be adapted to specific domain or projects. New generation tools should not only support the developers customising tools to their own workflow and domain, but also be dynamically activated even if the virtual machine does not support them. Therefore, virtual machines should also be extendable with new, user-defined primitives and support for debugging. Results will be submitted to international conferences and journals and an effort will be put to produce systems that can be used by (normal) developers so that user experiences provide real data. The work will happen in collaboration between Inria Lille (RMOD team) and Vrije Universitat Brussels (SOFT lab). Assignment Objectives The goal of this Postdoc is to build new advanced debuggers to explore and experiment one or more of the following topics: Back-in-time and scriptable debuggers How to build back-in-time debuggers? What abstractions do we need to take advantage of back-in-time debuggers? (scripting, DSLs…) How can users extend, customise and enhance their debugger? 
 (following PhD of A. Chis on Moldable Tools and the work of T. Dupriez on scriptable debuggers) Extendable virtual machines for advanced debugging support What primitives do we need from the virtual machine to support advanced debugging tools? 
 (back-in-time debuggers, object-centric debuggers, etc.) How can users create new debugging primitives and enable them on-demand when a particular bug happens and requires investigation without restarting the program?
 Advanced debuggers for concurrency How can we track specific objects in a concurrent execution and how this capability helps in debugging concurrent programs? 
 (following the PhD of S. Costiou on unanticipated object-centric debugging) What are and how to express object-centric debugging queries on the flow of objects, shared by concurrent processes? Can we leverage Dynamic Software Update techniques to safely instrument running concurrent programs with advanced debugging instrumentation?
 (following the PhD of P. Tesone on DSU for live and production environments)
 Support for debugging tools Can we use type inferencers to ease the design of debugging tools and limit their impact on performance and memory on dynamic languages runtimes? (following work on RoelTyper and PhD of L. Spoon on type inference) References: Thomas Dupriez, Guillermo Polito, Steven Costiou, Vincent Aranega, and Stéphane Ducasse. 2019. Sindarin: a versatile scripting API for the Pharo debugger. In Proceedings of the 15th ACM SIGPLAN International Symposium on Dynamic Languages (DLS 2019). Pablo Tesone, Guillermo Polito, Noury Bouraqadi, Stéphane Ducasse, Luc Fabresse. Dynamic Software Update from Development to Production. The Journal of Object Technology, Chair of Software Engineering, 2018 Steven Costiou, Mickaël Kerboeuf, Alain Plantec, and Marcus Denker. 2018. Collectors. In Conference Companion of the 2nd International Conference on Art, Science, and Engineering of Programming (Programming'18 Companion). Matteo Marra, Elisa Gonzalez Boix, Steven Costiou, Mickaël Kerboeuf, Alain Plantec, Guillermo Polito, and Stéphane Ducasse. 2017. Debugging Cyber-Physical Systems with Pharo: An Experience Report. In Proceedings of the 12th edition of the International Workshop on Smalltalk Technologies (IWST '17). A. Chis, T.Girba, Tudor and O. Nierstrasz, The Moldable Debugger: A Framework for Developing Domain-Specific Debuggers, Software Language Engineering, 2014. Lienhard, Girba, Nierstrasz: Practical Object-Oriented Back-in-Time Debugging, Proceeding ECOOP '08. Proksch, Sebastian ; Lerch, Johannes ; Mezini, Mira : Intelligent Code Completion with Bayesian Networks. http://doi.acm.org/10.1145/2744200 <http://doi.acm.org/10.1145/2744200> ACM Transactions on Software Engineering and Methodology (TOSEM), 25 (1) 3:1-3:31. 2015 C. Hofer, M. Denker and S. Ducasse, Design and Implementation of a Backward-In-Time Debugger, Node 06, 2006. S. A. Spoon and O. Shivers, Demand-Driven Type Inference with Subgoal pruning: Trading Precision for Scalability, Proceedings of ECOOP'04, 2004 Main activities The plan is to: Join the team work around debugging, that includes 3 researchers and 1 phd student Survey the key developer activities Define new model and enhance current Realize prototypes, possibly using Pharo Run validation with real end-users Publish results in top venues Skills Technical skills and level required OOP, TDD Reflective programming Program transformation Language English Relational skills Good team work skills Other valued appreciated Knowledge of the Pharo language is a plus A strong interest about debugging and/or dynamic languages is also appreciated Benefits package Subsidized meals Partial reimbursement of public transport costs Leave: 7 weeks of annual leave + 10 extra days off due to RTT (statutory reduction in working hours) + possibility of exceptional leave (sick children, moving home, etc.) Possibility of teleworking (after 6 months of employment) and flexible organization of working hours Professional equipment available (videoconferencing, loan of computer equipment, etc.) Social, cultural and sports events and activities Access to vocational training Remuneration Gross monthly salary (before taxes) : 2 653 RMOD ==== The goal of RMoD is to support remodularization and development of modular object-oriented applications. We tackle this objective from two complementary perspectives: reengineering, and constructs for dynamic languages. In the context of languages, we revisit language concepts such as modules and composition; we are also working on a new generation of reflective systems. We experiment with these programming constructs using Pharo, an open source, reflective, object-oriented language. http://rmod.inria.fr <http://rmod.inria.fr/> About the research centre or Inria department The Inria Lille - Nord Europe Research Centre was founded in 2008 and employs a staff of 360, including 300 scientists working in sixteen research teams. Recognised for its outstanding contribution to the socio-economic development of the Hauts-De-France région, the Inria Lille - Nord Europe Research Centre undertakes research in the field of computer science in collaboration with a range of academic, institutional and industrial partners. The strategy of the Centre is to develop an internationally renowned centre of excellence with a significant impact on the City of Lille and its surrounding area. It works to achieve this by pursuing a range of ambitious research projects in such fields of computer science as the intelligence of data and adaptive software systems. Building on the synergies between research and industry, Inria is a major contributor to skills and technology transfer in the field of computer science. -------------------------------------------- Stéphane Ducasse http://stephane.ducasse.free.fr / http://www.pharo.org 03 59 35 87 52 Assistant: Julie Jonas FAX 03 59 57 78 50 TEL 03 59 35 86 16 S. Ducasse - Inria 40, avenue Halley, Parc Scientifique de la Haute Borne, Bât.A, Park Plaza Villeneuve d'Ascq 59650 France