PhD Position F/M Tracing business rules in source code
Type de contrat : Fixed-term contract
Niveau de diplôme exigé : Graduate degree or equivalent
Fonction : PhD Position
A propos du centre ou de la direction fonctionnelle
The Inria University of Lille centre, created in 2008, employs 360 people including 305 scientists in 15 research teams. Recognised for its strong involvement in the socio-economic development of the Hauts-De-France region, the Inria University of Lille centre pursues a close relationship with large companies and SMEs. By promoting synergies between researchers and industrialists, Inria participates in the transfer of skills and expertise in digital technologies and provides access to the best European and international research for the benefit of innovation and companies, particularly in the region.
For more than 10 years, the Inria University of Lille centre has been located at the heart of Lille's university and scientific ecosystem, as well as at the heart of Frenchtech, with a technology showroom based on Avenue de Bretagne in Lille, on the EuraTechnologies site of economic excellence dedicated to information and communication technologies (ICT).
Contexte et atouts du poste
This PhD will happen in the context of the common team between the Inria team EVREF and the Berger-Levrault company.
Mission confiée
Context
Because software is a computer model of the real world, it must continually adapt to changes in the world. For example, for software publisher Berger-Levrault, which equips more than three-quarters of local public administrations (i.e. 26,000 out of 36,000 French local authorities) in the education, health, maintenance, social and land management sectors, its software solutions must model the legislation in force in each area of application. This may concern, for example, the number of days of statutory leave for a birth or death, the tax rules to be applied when deducting tax at source, the pricing of a day in a nursing home or the calculation methods for invoicing children's canteen meals. These rules, imposed on the software by the real world, are called Business Rules.
Each time there is a change in the real world, whether in the form of a decree implementing a law, case law or a change in local practice (e.g. the recent extension of parental leave to men), the software in the domain must be updated. This presupposes, of course, that the corresponding business rule can be found in the code. A typical piece of software implements a huge number (i.e. several tens of thousands) of business rules in code that extends over tens of thousands of pages.
Maintaining the functioning of this software, which governs directly (e.g. management of civil status, electoral rolls, care plans in nursing homes, etc.) or indirectly (e.g. management of public employee salaries, maintenance of public assets, etc.), is absolutely essential to ensure the missions of public and private establishments and the smooth running of the state. The increasing complexity of this software makes it difficult to modify and can lead to malfunctions that can have a major impact on our day-to-day lives. To facilitate this work of perpetual updating and modification, we need to develop tools that enable us to identify which business rules are implemented in the code, how and where.
Principales activités
Possible solutions
Finding the implementation of the business rules means discarding all the parts of the code that deal with other things, i.e. those that deal with the graphical interface, data persistence or security controls, for example.
In another thesis (Santiago Bragagnolo), in collaboration with Berger-Levrault, we began to identify certain parts of the code according to the software libraries they call on (graphics library, telecommunications library, database access library, etc.). The assumption is that the implementation of business rules should not depend on any external library, since it is these that justify the development of each application. It should be noted, however, that database access libraries may have a special role to play. Databases are mainly used to store business data, which is then manipulated in business rules. The initial results are not sufficient, as they do not cover enough code. We want to extend this approach:
- How to propagate the initial results (which part of the code uses which library) to more code while maintaining the assumption that the implementation of the business rules should not depend on any of them;
- Using program slicing to identify execution paths that do and do not depend on these libraries;
- Using specific code visualisations (maps) to highlight the properties that interest us.
We will also look at the results for establishing a link between the code and the domain (Requirement to code traceability, Feature Location) to understand how best to find the code relating to a particular business rule in all the code identified as relating to the business.
Program
T0 - T4 : Literature review, Learning the Moose and Pharo environments
T5 - T8 : Prototype on Property Propagation
T9 - T12: Evaluation of results + conference or workshop paper
T13 - T16: State of the art on slicing + Modifications to the prototype to introduce slicing
T17 - T20: Evaluation of the results + paper in a rank A conference
T21 - T24: Modification of the prototype to introduce the trace between the code and the extracted rules
T25 - T28: Evaluation of results + article in a journal
T29 - T36: Writing of thesis, new article and preparation of defence.
Compétences
Technical:
- Advanced Object-Oriented Design
- Pharo (http://www.pharo.org) is a big plus
- Technical writing
- Synthesis and presentation
Languages:
- English
- Francais is a plus
Relational:
- Team work
- Good communication
Avantages
- 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 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
- Social security coverage
Rémunération
2082€ gross per month for the 1st and 2nd years
2190€ gross per month for the 3rd year
Informations générales
- Thème/Domaine :
Distributed programming and Software engineering
Software engineering (BAP E) - Ville : Villeneuve d'Ascq
- Centre Inria : Centre Inria de l'Université de Lille
- Date de prise de fonction souhaitée : 2024-10-01
- Durée de contrat : 3 years
- Date limite pour postuler : 2024-04-30
Attention: Les candidatures doivent être déposées en ligne sur le site Inria. Le traitement des candidatures adressées par d'autres canaux n'est pas garanti.
Consignes pour postuler
CV + cover letter
Sécurité défense :
Ce poste est susceptible d’être affecté dans une zone à régime restrictif (ZRR), telle que définie dans le décret n°2011-1425 relatif à la protection du potentiel scientifique et technique de la nation (PPST). L’autorisation d’accès à une zone est délivrée par le chef d’établissement, après avis ministériel favorable, tel que défini dans l’arrêté du 03 juillet 2012, relatif à la PPST. Un avis ministériel défavorable pour un poste affecté dans une ZRR aurait pour conséquence l’annulation du recrutement.
Politique de recrutement :
Dans le cadre de sa politique diversité, tous les postes Inria sont accessibles aux personnes en situation de handicap.
Contacts
- Équipe Inria : EVREF
-
Directeur de thèse :
Etien Anne / Anne.Etien@inria.fr
A propos d'Inria
Inria est l’institut national de recherche dédié aux sciences et technologies du numérique. Il emploie 2600 personnes. Ses 215 équipes-projets agiles, en général communes avec des partenaires académiques, impliquent plus de 3900 scientifiques pour relever les défis du numérique, souvent à l’interface d’autres disciplines. L’institut fait appel à de nombreux talents dans plus d’une quarantaine de métiers différents. 900 personnels d’appui à la recherche et à l’innovation contribuent à faire émerger et grandir des projets scientifiques ou entrepreneuriaux qui impactent le monde. Inria travaille avec de nombreuses entreprises et a accompagné la création de plus de 200 start-up. L'institut s'efforce ainsi de répondre aux enjeux de la transformation numérique de la science, de la société et de l'économie.