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
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