PhD Position F/M Tracing business rules in source code
Contract type : Fixed-term contract
Level of qualifications required : Graduate degree or equivalent
Fonction : PhD Position
About the research centre or Inria department
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).
Context
This PhD will happen in the context of the common team between the Inria team EVREF and the Berger-Levrault company.
Assignment
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.
Main activities
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.
Skills
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
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 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
Remuneration
2082€ gross per month for the 1st and 2nd years
2190€ gross per month for the 3rd year
General Information
- Theme/Domain :
Distributed programming and Software engineering
Software engineering (BAP E) - Town/city : Villeneuve d'Ascq
- Inria Center : Centre Inria de l'Université de Lille
- Starting date : 2024-10-01
- Duration of contract : 3 years
- Deadline to apply : 2024-04-30
Warning : you must enter your e-mail address in order to save your application to Inria. Applications must be submitted online on the Inria website. Processing of applications sent from other channels is not guaranteed.
Instruction to apply
CV + cover letter
Defence Security :
This position is likely to be situated in a restricted area (ZRR), as defined in Decree No. 2011-1425 relating to the protection of national scientific and technical potential (PPST).Authorisation to enter an area is granted by the director of the unit, following a favourable Ministerial decision, as defined in the decree of 3 July 2012 relating to the PPST. An unfavourable Ministerial decision in respect of a position situated in a ZRR would result in the cancellation of the appointment.
Recruitment Policy :
As part of its diversity policy, all Inria positions are accessible to people with disabilities.
Contacts
- Inria Team : EVREF
-
PhD Supervisor :
Etien Anne / Anne.Etien@inria.fr
About Inria
Inria is the French national research institute dedicated to digital science and technology. It employs 2,600 people. Its 200 agile project teams, generally run jointly with academic partners, include more than 3,500 scientists and engineers working to meet the challenges of digital technology, often at the interface with other disciplines. The Institute also employs numerous talents in over forty different professions. 900 research support staff contribute to the preparation and development of scientific and entrepreneurial projects that have a worldwide impact.