2022-04999 - 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 departmentThe Inria Lille - Nord Europe Research Centre was founded in 2008 and employs a staff of 360, including 300 scientists working in fifteen 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
ContextThis thesis is part of a joint research team between the software publisher Berger-Levrault and the RMod team at the CRIStAL laboratory and the Inria Lille Nord Europe research center. The two partners have been working together for several years. A first joint thesis was defended in October 2021 and two others are in progress.
Because software is a model of the real world, it must continually adapt to changes in the real world. For example, for the software publisher Berger- Levrault, which equips more than three-quarters of local public administrations (i.e. 26,000 out of 36,000 French communities) in the sectors of education, health, maintenance, social issues and territorial management; its software solutions must model the legislation in force in each field 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 taxes at source, or the computation of kids canteen invoice. These rules, imposed on the software by the real world, are called Business Rules.
At each change in the real world translated into practice by a decree implementing a law, case law or a change in practice at the local level (e.g. recent extension of parental leave to men) the software in the domain must be updated. Of course, this supposes to find in the code where the corresponding business rule is implemented. However, typical software implements a huge amount (i.e. several tens of thousands) of business rules in a code that spans tens of thousands of pages.
Maintaining this software in operation is absolutely essential to ensure the missions of public and private organizations and the proper functioning of the state. The increasing complexity of this software makes it difficult to modify them and can lead to malfunctions that can have significant consequences on our daily lives. To facilitate this work of updating and perpetual modification, we must develop tools that make it possible to identify in the code what business rules are implemented, how and where.
AssignmentBusiness rule extraction
Previous work focuses on extracting business rules from domain or specification documents Bhattacharyya17, Chittimalli20. In the context of this thesis, we are interested in the extraction of business rules directly from the code, which is more difficult. Indeed, domain specifications or documents are intended to describe the domain. When the business rules appear in these documents, they are written in natural language or in a more formal way but in one piece. On the other hand, in the code, the implementation of a business rule can be dispersed in several places.
Code/domain trace
Separating business code from other concerns is not the only difficulty to be resolved. It is also necessary to be able to link the implementation of the rule with its description. Many works have been carried out in the past around feature location, see for example Dit13. There are also works on code traceability with the expression of needs (requirement to code traceability) like Shahid13. This work is concerned with the expression of links and their perenniality, but not often with their extraction. However, we can note the experimentation with information retrieval techniques or Latent Semantic Indexing.
Possible solutions
Finding the implementation of the business rules supposes discarding all the parts of the code which deal with other things, that is to say which take care, for example, of the graphical interface, the persistence of the data, the controls of security.
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 use (graphics library, telecommunications, database access, etc. .). The assumption is that the implementation of business rules should not depend on any external library since they are what justifies the development of each application. It may be noted, however, that database access libraries may have a particular role. Indeed, the databases mainly make it possible to save business data which will then be manipulated in business rules.
The first results are not enough, because they do not cover enough code.
Collaboration
The person recruited will work in close contact with the academic supervisors Anne Etien and Nicolas Anquetil, and an industrial supervisor, Benoit Verheaghe. Regular travel between Montpellier and Lille is planned, travel expenses will be covered within the limit of the scale.
Bibliography
Tentative Work Program
Technical skills and level required : Object oriented programming, knowledge of the Pharo programming language
Languages : English
Relational skills : team work
Benefits packageTheme/Domain : Distributed programming and Software engineering Software engineering (BAP E)
Town/city : Villeneuve d'Ascq
This thesis is primarily a software engineering thesis. Strong skills in software development are therefore expected.
As for any thesis, curiosity, a strong taste for research and autonomy are required.
Written and spoken English skills are also expected.
About InriaInria 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.
Instruction to applyDefence 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.
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.