- A1.3. Distributed Systems
- A1.3.3. Blockchain
- A1.3.5. Cloud
- A1.4. Ubiquitous Systems
- A1.6. Green Computing
- A2.3.1. Embedded systems
- A2.3.2. Cyber-physical systems
- A2.4.2. Model-checking
- A2.5. Software engineering
- A2.5.2. Component-based Design
- A2.5.3. Empirical Software Engineering
- A2.5.4. Software Maintenance & Evolution
- A2.6.2. Middleware
- A3.1.3. Distributed data
- A3.1.4. Uncertain data
- A3.1.5. Control access, privacy
- A3.1.9. Database
- A3.2.1. Knowledge bases
- A3.2.4. Semantic Web
- A3.2.5. Ontologies
- A4.4. Security of equipment and software
- A4.8. Privacy-enhancing technologies
- A7.2. Logic in Computer Science
- A9.1. Knowledge
- B6.1. Software industry
- B6.4. Internet of things
- B6.5. Information systems
- B6.6. Embedded systems
- B8.5.2. Crowd sourcing
- B9.5.1. Computer science
- B9.5.6. Data science
- B9.10. Privacy
1 Team members, visitors, external collaborators
- Simon Bliudze [Inria, Researcher]
- Pierre Bourhis [CNRS, Researcher]
- Pierre Laperdrix [CNRS, Researcher]
- Philippe Merle [Inria, Researcher, HDR]
- Lionel Seinturier [Team leader, Université de Lille, Professor, HDR]
- Laurence Duchien [Université de Lille, Professor, HDR]
- Clément Quinton [Université de Lille, Associate Professor]
- Romain Rouvoy [Université de Lille, Professor, HDR]
- Walter Rudametkin Ivey [Polytech Lille, Associate Professor]
- Alexandre Garnier [Inria]
- Adrien Luxey [Université de Lille, from Jun 2020]
- Hoang Gia Nguyen [Inria, until Apr 2020]
- Olivier Ruas [Inria, from Nov 2020]
- Larisa Safina [Inria, from Mar 2020]
- Zeinab Abou Khalil [University of Mons, co-supervised with Université de Lille]
- Mohammed Chakib Belgaid [Inria]
- Sacha Brisset [Amaris Consulting, CIFRE]
- Antonin Durey [Université de Lille]
- Salman Farhat [Inria, from Oct 2020]
- Guillaume Fieni [Université de Lille]
- Romain Fouquet [Inria, from Oct 2020]
- Edouard Guegain [Université de Lille, from Jul 2020]
- Sarra Habchi [Inria, until Mar 2020]
- Jean Luc Intumwayase [Université de Lille, from Oct 2020]
- Trinh Le Khanh [Université de Lille]
- Lakhdar Meftah [Université de Lille, until Jul 2020]
- Naif Mehanna [Université de Lille, from Sep 2020]
- Vikas Mishra [Inria]
- Zakaria Ournani [Orange, CIFRE]
- Marion Tommasi [Inria]
- Antoine Canda [Inria, Engineer, until Sep 2020]
- Arthur D'Azémar [Inria, Engineer]
- Timothée Lefebvre [Université de Lille, Engineer, from Aug 2020]
- Alexis Pernet [Université de Lille, Engineer, from Aug 2020]
- Remy Raes [Inria, Engineer]
- Larisa Safina [Inria, Engineer, until Feb 2020]
Interns and Apprentices
- Zakaria Boulkhir [Université de Lille, from Apr 2020 until Aug 2020]
- Tristan Coignion [Inria, from May 2020 until Aug 2020]
- Mamadou Sanoussy Diallo [Inria, from May 2020 until Aug 2020]
- Junior Fungwa Moke [Inria, from May 2020 until Aug 2020]
- Tussank Gupta [Inria, Sep 2020]
- Josue Happe [Inria, from May 2020 until Jul 2020]
- Joseph Marotte [Inria, from Mar 2020 until Aug 2020]
- Isaac Nivet [Inria, from May 2020 until Jun 2020]
- Andres Quintana Vesperinas [Inria, until Apr 2020]
- Karine Lewandowski [Inria]
- Martin Monperrus [KTH, on leave from Université de Lille, HDR]
2 Overall objectives
Our research is based on two complementary fields: distributed systems and software engineering. We aim at introducing more automation in the adaptation processes of software systems, that is, transitioning from the study of adaptive systems to self-adaptive systems. In particular, we work towards two directions: self-healing software systems with data mining solutions, and self-optimizing software systems with context monitoring. These two objectives are applied to two target environments: mobile computing and cloud computing.
2.2 Scientific Foundations
Distributed software services and systems are central to many human activities, such as communication, commerce, education, defense, etc. Distributed software services consist of an ever growing number of devices, often highly heterogeneous, from cloud platforms, sensor networks, to application servers, desktop machines, and mobile devices, such as smartphones. The future of this huge number of interconnected software services has been called the Internet of Services, a vision “where everything that is needed to use software applications is available as a service on the Internet, such as the software itself, the tools to develop the software, the platform servers, storage and communication to run the software.”1 This pervasiveness continuously leads to new usages that in turn foster the emergence of novel requirements and concepts for new software services. Hence, it is necessary to establish new paradigms to design and execute software programs in these highly interconnected and heterogeneous environments, and it is necessary to ensure not only that these software systems can be adapted to new usages, new infrastructures, and new execution environments in the long term, but also that after the adaptation process the services still perform as expected.
This research project focuses on defining self-adaptive software services and middleware. From the perspective of the Internet of Services, this project fits in the vision sketched by e.g. the FP8 Expert Group Services in the Future Internet 77, the NESSI Research Priorities for the next Framework Programme for Research and Technological Development FP8 81, the Roadmap for Advanced Cloud Technologies under H2020 78, and research roadmaps, such as 66, 87, 76.
3 Research program
Our research program on self-adaptive software targets two key properties that are detailed in the remainder of this section: self-healing and self-optimization.
3.2 Objective #1: Self-healing — Mining software artifacts to automatically evolve systems
Software systems are under the pressure of changes all along their lifecycle. Agile development blurs the frontier between design and execution and requires constant adaptation. The size of systems (millions of lines of code) multiplies the number of bugs by the same order of magnitude. More and more systems, such as sensor network devices, live in “surviving” mode, in the sense that they are neither rebootable nor upgradable.
Software bugs are hidden in source code and show up at development-time, testing-time or worse, once deployed in production. Except for very specific application domains where formal proofs are achievable, bugs can not be eradicated. As an order of magnitude, on the of December 2011, the Eclipse bug repository contained 366 922 bug reports. Software engineers and developers work on bug fixing on a daily basis. Not all developers spend the same time on bug fixing. In large companies, this is sometimes a full-time role to manage bugs, often referred to as Quality Assurance (QA) software engineers. Also, not all bugs are equal, some bugs are analyzed and fixed within minutes, others may take months to be solved 84.
In terms of research, this means that: (i) one needs means to automatically adapt the design of the software system through automated refactoring and API extraction, (ii) one needs approaches to automate the process of adapting source code in order to fix certain bugs, (iii) one needs to revisit the notion of error-handling so that instead of crashing in presence of errors, software adapts itself to continue with its execution, e.g. in degraded mode.
There is no one-size-fits-all solution for each of these points. However, we think that novel solutions can be found by using data mining and machine learning techniques tailored for software engineering85. This body of research consists of mining some knowledge about a software system by analyzing the source code, the version control systems, the execution traces, documentation and all kinds of software development and execution artifacts in general. This knowledge is then used within recommendation systems for software development, auditing tools, runtime monitors, frameworks for resilient computing, etc.
The novelty of our approach consists of using and tailoring data mining techniques for analyzing software artifacts (source code, execution traces) in order to achieve the next level of automated adaptation (e.g. automated bug fixing). Technically, we plan to mix unsupervised statistical learning techniques (e.g. frequent item set mining) and supervised ones (e.g. training classifiers such as decision trees). This research is currently not being performed by data mining research teams since it requires a high level of domain expertise in software engineering, while software engineering researchers can use off-the-shelf data mining libraries, such as Weka 63.
We now detail the two directions that we propose to follow to achieve this objective.
3.2.1 Learning from software history how to design software and fix bugs
The first direction is about mining techniques in software repositories (e.g. CVS, SVN, Git). Best practices can be extracted by data mining source code and the version control history of existing software systems. The design and code of expert developers significantly vary from the artifacts of novice developers. We will learn to differentiate those design characteristics by comparing different code bases, and by observing the semantic refactoring actions from version control history. Those design rules can then feed the test-develop-refactor constant adaptation cycle of agile development.
Fault localization of bugs reported in bug repositories. We will build a solid foundation on empirical knowledge about bugs reported in bug repository. We will perform an empirical study on a set of representative bug repositories to identify classes of bugs and patterns of bug data. For this, we will build a tool to browse and annotate bug reports. Browsing will be helped with two kinds of indexing: first, the tool will index all textual artifacts for each bug report; second it will index the semantic information that is not present by default in bug management software, i.e. “contains a stacktrace”). Both indexes will be used to find particular subsets of bug reports, for instance “all bugs mentioning invariants and containing a stacktrace”. Note that queries with this kind of complexity and higher are mostly not possible with the state-of-the-art of bug management software. Then, analysts will use annotation features to annotate bug reports. The main outcome of the empirical study will be the identification of classes of bugs that are appropriate for automated localization. Then, we will run machine learning algorithms to identify the latent links between the bug report content and source code features. Those algorithms would use as training data the existing traceability links between bug reports and source code modifications from version control systems. We will start by using decision trees since they produce a model that is explicit and understandable by expert developers. Depending on the results, other machine learning algorithms will be used. The resulting system will be able to locate elements in source code related to a certain bug report with a certain confidence.
Automated bug fix generation with search-based techniques. Once a location in code is identified as being the cause of the bug, we can try to automatically find a potential fix. We envision different techniques: (1) infer fixes from existing contracts and specifications that are violated; (2) infer fixes from the software behavior specified as a test suite; (3) try different fix types one-by-one from a list of identified bug fix patterns; (4) search fixes in a fix space that consists of combinations of atomic bug fixes. Techniques 1 and 2 are explored in 59 and 83. We will focus on the latter techniques. To identify bug fix patterns and atomic bug fixes, we will perform a large-scale empirical study on software changes (also known as changesets when referring to changes across multiple files). We will develop tools to navigate, query and annotate changesets in a version control system. Then, a grounded theory will be built to master the nature of fixes. Eventually, we will decompose change sets in atomic actions using clustering on changeset actions. We will then use this body of empirical knowledge to feed search-based algorithms (e.g. genetic algorithms) that will look for meaningful fixes in a large fix space. To sum up, our research on automated bug fixing will try not only to point to source code locations responsible of a bug, but to search for code patterns and snippets that may constitute the skeleton of a valid patch. Ultimately, a blend of expert heuristics and learned rules will be able to produce valid source code that can be validated by developers and committed to the code base.
3.2.2 Run-time self-healing
The second proposed research direction is about inventing a self-healing capability at run-time. This is complementary to the previous objective that mainly deals with development time issues. We will achieve this in two steps. First, we want to define frameworks for resilient software systems. Those frameworks will help to maintain the execution even in the presence of bugs, i.e. to let the system survive. As exposed below, this may mean for example to switch to some degraded modes. Next, we want to go a step further and to define solutions for automated runtime repair, that is, not simply compensating the erroneous behavior, but also determining the correct repair actions and applying them at run-time.
Mining best effort values. A well-known principle of software engineering is the “fail-fast” principle. In a nutshell, it states that as soon as something goes wrong, software should stop the execution before entering incorrect states. This is fine when a human user is in the loop, capable of understanding the error or at least rebooting the system. However, the notion of “failure-oblivious computing” 75 shows that in certain domains, software should run in a resilient mode (i.e. capable of recovering from errors) and/or best-effort mode, i.e. a slightly imprecise computation is better than stopping. Hence, we plan to investigate data mining techniques in order to learn best-effort values from past executions (i.e. somehow learning what is a correct state, or the opposite what is not a completely incorrect state). This knowledge will then be used to adapt the software state and flow in order to mitigate the error consequences, the exact opposite of fail-fast for systems with long-running cycles.
Embedding search based algorithms at runtime. Harman recently described the field of search-based software engineering 64. We believe that certain search based approaches can be embedded at runtime with the goal of automatically finding solutions that avoid crashing. We will create software infrastructures that allow automatically detecting and repairing faults at run-time. The methodology for achieving this task is based on three points: (1) empirical study of runtime faults; (2) learning approaches to characterize runtime faults; (3) learning algorithms to produce valid changes to the software runtime state. An empirical study will be performed to analyze those bug reports that are associated with runtime information (e.g. core dumps or stacktraces). After this empirical study, we will create a system that learns on previous repairs how to produce small changes that solve standard runtime bugs (e.g. adding an array bound check to throw a handled domain exception rather than a spurious language exception). To achieve this task, component models will be used to (1) encapsulate the monitoring and reparation meta-programs in appropriate components and (2) support runtime code modification using scripting, reflective or bytecode generation techniques.
3.3 Objective #2: Self-optimization — Sharing runtime behaviors to continuously adapt software
Complex distributed systems have to seamlessly adapt to a wide variety of deployment targets. This is due to the fact that developers cannot anticipate all the runtime conditions under which these systems are immersed. A major challenge for these software systems is to develop their capability to continuously reason about themselves and to take appropriate decisions and actions on the optimizations they can apply to improve themselves. This challenge encompasses research contributions in different areas, from environmental monitoring to real-time symptoms diagnosis, to automated decision making. The variety of distributed systems, the number of optimization parameters, and the complexity of decisions often resign the practitioners to design monolithic and static middleware solutions. However, it is now globally acknowledged that the development of dedicated building blocks does not contribute to the adoption of sustainable solutions. This is confirmed by the scale of actual distributed systems, which can, for example, connect several thousands of devices to a set of services hosted in the Cloud. In such a context, the lack of support for smart behaviors at different levels of the systems can inevitably lead to its instability or its unavailability. In June 2012, an outage of Amazon's Elastic Compute Cloud in North Virginia has taken down Netflix, Pinterest, and Instagram services. During hours, all these services failed to satisfy their millions of customers due to the lack of integration of a self-optimization mechanism going beyond the boundaries of Amazon.
The research contributions we envision within this area will therefore be organized as a reference model for engineering self-optimized distributed systems autonomously driven by adaptive feedback control loops, which will automatically enlarge their scope to cope with the complexity of the decisions to be taken. This solution introduces a multi-scale approach, which first privileges local and fast decisions to ensure the homeostasis 2 property of a single node, and then progressively propagates symptoms in the network in order to reason on a longer term and a larger number of nodes. Ultimately, domain experts and software developers can be automatically involved in the decision process if the system fails to find a satisfying solution. The research program for this objective will therefore focus on the study of mechanisms for monitoring, taking decisions, and automatically reconfiguring software at runtime and at various scales. As stated in the self-healing objective, we believe that there is no one-size-fits-all mechanism that can span all the scales of the system. We will therefore study and identify an optimal composition of various adaptation mechanisms in order to produce long-living software systems.
The novelty of this objective is to exploit the wisdom of crowds to define new middleware solutions that are able to continuously adapt software deployed in the wild. We intend to demonstrate the applicability of this approach to distributed systems that are deployed from mobile phones to cloud infrastructures. The key scientific challenges to address can be summarized as follows: How does software behave once deployed in the wild? Is it possible to automatically infer the quality of experience, as it is perceived by users? Can the runtime optimizations be shared across a wide variety of software? How optimizations can be safely operated on large populations of software instances?
The remainder of this section further elaborates on the opportunities that can be considered within the frame of this objective.
3.3.1 Monitoring software in the wild
Once deployed, developers are generally no longer aware of how their software behave. Even if they heavily use testbeds and benchmarks during the development phase, they mostly rely on the bugs explicitly reported by users to monitor the efficiency of their applications. However, it has been shown that contextual artifacts collected at runtime can help to understand performance leaks and optimize the resilience of software systems 86. Monitoring and understanding the context of software at runtime therefore represent the first building block of this research challenge. Practically, we intend to investigate crowd-sensing approaches, to smartly collect and process runtime metrics (e.g. request throughput, energy consumption, user context). Crowd-sensing can be seen as a specific kind of crowdsourcing activity, which refers to the capability of lifting a (large) diffuse group of participants to delegate the task of retrieving trustable data from the field. In particular, crowd-sensing covers not only participatory sensing to involve the user in the sensing task (e.g. surveys), but also opportunistic sensing to exploit mobile sensors carried by the user (e.g. smartphones).
While reported metrics generally enclose raw data, the monitoring layer intends to produce meaningful indicators like the Quality of Experience (QoE) perceived by users. This QoE reflects representative symptoms of software requiring to trigger appropriate decisions in order to improve its efficiency. To diagnose these symptoms, the system has to process a huge variety of data including runtime metrics, but also history of logs to explore the sources of the reported problems and identify opportunities for optimizations. The techniques we envision at this level encompass machine learning, principal component analysis, and fuzzy logic 74 to provide enriched information to the decision level.
3.3.2 Collaborative decision-making approaches
Beyond the symptoms analysis, decisions should be taken in order to improve the Quality of Service (QoS). In our opinion, collaborative approaches represent a promising solution to effectively converge towards the most appropriate optimization to apply for a given symptom. In particular, we believe that exploiting the wisdom of the crowd can help the software to optimize itself by sharing its experience with other software instances exhibiting similar symptoms. The intuition here is that the body of knowledge that supports the optimization process cannot be specific to a single software instance as this would restrain the opportunities for improving the quality and the performance of applications. Rather, we think that any software instance can learn from the experience of others.
With regard to the state-of-the-art, we believe that a multi-levels decision infrastructure, inspired from distributed systems like Spotify 61, can be used to build a decentralized decision-making algorithm involving the surrounding peers before requesting a decision to be taken by more central control entity. In the context of collaborative decision-making, peer-based approaches therefore consist in quickly reaching a consensus on the decision to be adopted by a majority of software instances. Software instances can share their knowledge through a micro-economic model 56, that would weight the recommendations of experienced instances, assuming their age reflects an optimal configuration.
Beyond the peer level, the adoption of algorithms inspired from evolutionary computations, such as genetic programming, at an upper level of decision can offer an opportunity to test and compare several alternative decisions for a given symptom and to observe how does the crowd of applications evolves. By introducing some diversity within this population of applications, some instances will not only provide a satisfying QoS, but will also become naturally resilient to unforeseen situations.
3.3.3 Smart reconfigurations in the large
Any decision taken by the crowd requires to propagate back to and then operated by the software instances. While simplest decisions tend to impact software instances located on a single host (e.g. laptop, smartphone), this process can also exhibit more complex reconfiguration scenarios that require the orchestration of various actions that have to be safely coordinated across a large number of hosts. While it is generally acknowledged that centralized approaches raise scalability issues, we think that self-optimization should investigate different reconfiguration strategies to propagate and apply the appropriate actions. The investigation of such strategies can be addressed in two steps: the consideration of scalable data propagation protocols and the identification of smart reconfiguration mechanisms.
With regard to the challenge of scalable data propagation protocols, we think that research opportunities encompass not only the exploitation of gossip-based protocols 60, but also the adoption of publish/subscribe abstractions 69 in order to decouple the decision process from the reconfiguration. The fundamental issue here is the definition of a communication substrate that can accommodate the propagation of decisions with relaxed properties, inspired by Delay Tolerant Networks (DTN), in order to reach weakly connected software instances. We believe that the adoption of asynchronous communication protocols can provide the sustainable foundations for addressing various execution environments including harsh environments, such as developing countries, which suffer from a partial connectivity to the network. Additionally, we are interested in developing the principle of social networks of applications in order to seamlessly group and organize software instances according to their similarities and acquaintances. The underlying idea is that grouping application instances can contribute to the identification of optimization profiles not only contributing to the monitoring layer, but also interested in similar reconfigurations. Social networks of applications can contribute to the anticipation of reconfigurations by exploiting the symptoms of similar applications to improve the performance of others before that problems actually happen.
With regard to the challenge of smart reconfiguration mechanisms, we are interested in building on our established experience of adaptive middleware 79 in order to investigate novel approaches to efficient application reconfigurations. In particular, we are interested in adopting seamless micro-updates and micro-reboot techniques to provide in-situ reconfiguration of pieces of software. Additionally, the provision of safe and secured reconfiguration mechanisms is clearly a key issue that requires to be carefully addressed in order to avoid malicious exploitation of dynamic reconfiguration mechanisms against the software itself. In this area, although some reconfiguration mechanisms integrate transaction models 68, most of them are restricted to local reconfigurations, without providing any support for executing distributed reconfiguration transactions. Additionally, none of the approached published in the literature include security mechanisms to preserve from unauthorized or malicious reconfigurations.
4 Application domains
Although our research is general enough to be applied to many application domains, we currently focus on applications and distributed services for the retail industry and for the digital home. These two application domains are supported by a strong expertise in mobile computing and in cloud computing that are the two main target environments on which our research prototypes are built, for which we are recognized, and for which we have already established strong collaborations with the industrial ecosystem.
4.2 Distributed software services for the retail industry
This application domain is developed in relation with the PICOM (Pôle de compétitivité Industries du Commerce) cluster. We have established strong collaborations with local companies in the context of former funded projects, such as Cappucino and Macchiato, which focused on the development of a new generation of mobile computing platforms for e-commerce. We are also involved in the Datalyse and OCCIware funded projects that define cloud computing environments with applications for the retail industry. Finally, our activities in terms of crowd-sensing and data gathering on mobile devices with the APISENSE® platform share also applications for the retail industry.
4.3 Distributed software services for the digital home
We are developing new middleware solutions for the digital home, in particular through our long standing collaboration with Orange Labs. We are especially interested in developing energy management and saving solutions with the PowerAPI software library for distributed environments such the ones that equip digital homes. We are also working to bridge the gap between distributed services hosted on home gateways and distributed services hosted on the cloud to be able to smoothly transition between both environments. This work is especially conducted with the Saloon platform.
5 Social and environmental responsibility
5.1 Impact of research results
Some parts of our research activities deal with green and power efficient computing. We are especially working on PowerAPI that is a middleware toolkit for building software-defined power meters. Software-defined power meters are configurable software libraries that can estimate the power consumption of software in real-time. As a middleware toolkit, PowerAPI offers the capability of assembling power meters “à la carte” to accommodate user requirements. The ongoing PhD theses of Guillaume Fieni, Zakaria Ournani, and Chakib Belgaid, contribute to this line of research. With the now defended PhD theses of Maxime Colmant 58 and Adel Nourredine 72, this is the generation of PhD candidates that work on this topic in the team. We are also involved in industrial collaborations in this context. We work with Orange (ongoing CIFRE PhD thesis of Zakaria Ournani) and OVHcloud (ongoing bilateral contract) on solutions to measure and optimize the power consumption of virtual machines and servers. We work with the Davidson consulting company (ongoing PhD thesis of Chakib Belgaid) on end-to-end solutions for the design of eco-friendly software systems. In 2020, we obtained and published several new results on green and power efficient computing 29, 36, 37.
Finally, a new line of research has just been started in the team with the thesis of Romain Fouquet to limit what is currently running in a modern browser. By correctly identifying what is truly needed on a webpage to guarantee its core functionality, it becomes possible to block unneeded scripts like superficial third-party libraries, trackers or unwanted ads on the web. This leads to direct power savings as less data will be downloaded and less computing resources will be used to render a page.
6 Highlights of the year
Our research activities in 2020 led to four awards that are highlighted in this section.
Sarra Habchi won one of the two accessits to the Prix de thèse Gilles Kahn 2020 for her work on understanding mobile-specific code smells. Sarra Hachi defended her PhD thesis 62 in 2019 under the supervision of Romain Rouvoy. She is now a postdoctoral researcher at the University of Luxembourg. The work of Sarra contributed to a better understanding and some solutions to prevent bad design and development practices commonly observed in software systems, especially those for mobile applications.
Walter Rudametkin, Romain Rouvoy, and their co-authors, won a best paper award for their paper entitled “FP-Crawlers: Studying the Resilience of Browser Fingerprinting to Block Crawlers” at the workshop on Measurements, Attacks, and Defenses for the Web (MADWeb) in the context of the The Network and Distributed System Security Symposium 2020 38.
Pierre Bourhis and his co-authors were awarded a SIGMOD research highlight award for their paper entitled “Constant-Delay Enumeration for Nondeterministic Document Spanner” 13.
Clément Quinton and his co-authors won a best paper award for their paper entitled “Feature-Model-Guided Online Reinforcement Learning for Self-Adaptive Services” at the 18th International Conference on Service Oriented Computing (ICSOC 2020) 6.
7 New software and platforms
7.1 New software
- Keywords: Mobile sensing, Crowd-sensing, Mobile application, Crowd-sourcing, Android
- Functional Description: APISENSE platform is a software solution to collect various contextual information from Android devices (client application) and automatically upload collected data to a server (deployed as a SaaS). APISENSE is based on a Cloud computing infrastructure to facilitate datasets collection from significant populations of mobile users for research purposes.
- Authors: Antoine Veuiller, Christophe Ribeiro, Julien Duribreux, Romain Rouvoy, Nicolas Haderer, Romain Sommerard, Lakhdar Meftah
- Contact: Romain Rouvoy
- Partner: Université de Lille
- Keywords: Energy efficiency, Energy management
PowerAPI is a library for monitoring the energy consumption of software systems.
PowerAPI differs from existing energy process-level monitoring tools in its software orientation, with a fully customizable and modular solution that lets the user precisely define what he/she wants to monitor. PowerAPI is based on a modular and asynchronous event-driven architecture using the Akka library. PowerAPI offers an API which can be used to define requests about energy spent by a process, following its hardware resource utilization (in term of CPU, memory, disk, network, etc.).
- Contact: Romain Rouvoy
- Participants: Adel Noureddine, Loïc Huertas, Maxime Colmant, Romain Rouvoy, Mohammed Chakib Belgaid, Arthur D'azemar
- Name: amiunique
- Keywords: Privacy, Browser fingerprinting
The amiunique web site has been deployed in 2014 in the context of the DiverSE team research activities on browser fingerprinting to understand how software diversity can be leveraged to mitigate the impact of fingerprinting on the privacy of users. In 2018, it was migrated to the Spirals team where the research on browser fingerprinting still continues to this day.
The web site has yielded multiple datasets of genuine fingerprints to understand the multiple facets of browser fingerprinting and how they can be used on the web to reinforce security. The web site presents regular updates to include the latest development in web technology and understand their impact of users' privacy.
The whole source code of amiunique is open source and is distributed under the terms of the MIT license.
Main innovative features:
- canvas fingerprinting
- WebGL fingerprinting
- advanced JS features (platform, DNT, etc.)
Impact: The website has been visited by more than 3,000,000 unique visitors since its creation and it has been showcased in several professional forums and tutorial sessions over the years. It produced multiple datasets over the years that were used in articles published in top-tier conferences. Amiunique has received in 2018 the prize “Protection de la vie privée” granted by Inria and the CNIL. The research around fingerprints in amiunique has also been a source of influence for the Brave web browser.
- Functional Description: This web site aims at informing visitors about browser fingerprinting and possible tools to mitigate its effect, as well as at collecting data about the fingerprints that can be found on the web. It collects browser fingerprints with the explicit agreement of the users (they have to click on a button on the home page). Fingerprints are composed of 17 attributes, which include regular HTTP headers as well as the most recent state of the art techniques (canvas fingerprinting, WebGL information).
- Authors: Pierre Laperdrix, Antonin Durey, Walter Rudametkin Ivey
- Contact: Benoit Baudry
- Partners: INSA Rennes, Université de Lille
8 New results
In 2020, we obtained new results in the domains of self-adaption with online reinforcement learning, and fingerprint-based web privacy.
8.1 Self-Adapting Software Services with Online Reinforcement Learning
A self-adaptive service can maintain its QoS requirements in the presence of dynamic environment changes. To develop a self-adaptive service, service engineers have to create self-adaptation logic encoding when the service should execute which adaptation actions. However, developing self-adaptation logic may be difficult due to design time uncertainty; e.g. anticipating all potential environment changes at design time is in most cases infeasible. Online reinforcement learning addresses design time uncertainty by learning suitable adaptation actions through interactions with the environment at runtime. To learn more about its environment, reinforcement learning has to select actions that were not selected before, which is known as exploration. How exploration happens has an impact on the performance of the learning process. We focus on two problems related to how a service’s adaptation actions are explored: (1) Existing solutions randomly explore adaptation actions and thus may exhibit slow learning if there are many possible adaptation actions to choose from. (2) Existing solutions are unaware of service evolution, and thus may explore new adaptation actions introduced during such evolution rather late. We propose novel exploration strategies that use feature models (from software product line engineering) to guide exploration in the presence of many adaptation actions and in the presence of service evolution. Experimental results for a self-adaptive cloud management service indicate an average speed-up of the learning process of 58.8% in the presence of many adaptation actions, and of 61.3% in the presence of service evolution. The improved learning performance in turn led to an average QoS improvement of 7.8% and 23.7% respectively.
This result has been published in 6. This paper has obtained the best paper award at the 18th International Conference on Service Oriented Computing (ICSOC 2020). This work is a collaboration with the University of Duisburg-Essen and Politecnico di Milano.
8.2 Fingerprint-Based Web Security
Data available on the Web, such as financial data or public reviews, provides a competitive advantage to companies able to exploit them. Web crawlers, a category of bot, aim at automating the collection of publicly available Web data. While some crawlers collect data with the agreement of the websites being crawled, most crawlers do not respect the terms of service. CAPTCHAs and approaches based on analyzing series of HTTP requests classify users as humans or bots. However, these approaches require either user interaction or a significant volume of data before they can classify the traffic. In this paper, we study browser fingerprinting as a crawler detection mechanism. We crawled the Alexa top 10K and identified 291 websites that block crawlers. We show that fingerprinting is used by 93 (31.96%) of them and we report on the crawler detection techniques implemented by the major fingerprinters. Finally, we evaluate the resilience of fingerprinting against crawlers trying to conceal themselves. We show that although fingerprinting is good at detecting crawlers, it can be bypassed with little effort by an adversary with knowledge on the fingerprints collected.
This result has been published in 38. This paper has obtained the best paper award at the workshop on Measurements, Attacks, and Defenses for the Web (MADWeb) in the context of the The Network and Distributed System Security Symposium 2020. This work is a collaboration with the Datadome web security company and the University of Bordeaux.
9 Bilateral contracts and grants with industry
Participants: Romain Rouvoy.
A software exploitation license (2014–ongoing) of the APISENSE® crowd-sensing platform has been sold to the ip-label company. They use this platform as a solution to monitor the quality of the GSM signal in the wild. The objective is to provide developers and stakeholders with a feedback on the quality of experience of GSM connection depending on their location.
Participants: Mohammed Chakib Belgaid, Romain Rouvoy, Lionel Seinturier.
This collaboration (2017–21) aims at proposing new solutions for optimizing the energy footprint of ICT software infrastructures. We want to be able to measure and assess the energy footprint of ICT systems while preserving various quality of service parameters, such as performance and security. We aim at proposing a testbed for assessing the energy footprint of various programming languages. This testbed will also incorporate frameworks for web and mobile programming. Finally, we want to be able to issue recommendations to developers in order to assist them in improving the energy footprint of their programs. This collaboration will take advantage of the PowerAPI software library.
The PhD of Mohammed Chakib Belgaid takes place in the context of this collaboration.
Orange # 1
Participants: Philippe Merle, Lionel Seinturier.
This collaboration (2017–22) aims at defining a computational model for software infrastructures layered on top of virtualized and interconnected cloud resources. This computational model provides application programming and management facilities to distributed applications and services 70, 80. This computational model defines a pivot model that enables the interoperability of various existing and future standards for cloud systems such as OCCI and TOSCA. This pivot model is defined with the Alloy specification language 67. This collaboration takes advantage of the expertise that we are developing since several years on reconfigurable component-based software systems 79, on cloud systems 73, and on the Alloy specification language 71.
This collaboration with Orange Labs is a joint project with Jean-Bernard Stefani from the Spades Inria project-team.
Orange # 2
Participants: Zakaria Ournani, Romain Rouvoy, Lionel Seinturier.
This collaboration (2018–21) aims at proposing new solutions for modeling the energy efficiency of software systems and to design and implement new methods for measuring and reducing the energy consumption of software systems at development time. We especially target software systems deployed on cloud environments.
The CIFRE PhD of Zakaria Ournani takes place in the context of this collaboration.
Amaris (now Mantu)
Participants: Sacha Brisset, Romain Rouvoy, Lionel Seinturier.
This collaboration (2018–21) aims at proposing new solutions for automatically spotting and fixing recurrent user experience issues in web applications. We are interested in developing an autonomic framework that learns and classifies the behaviors and figures out causality links between data such as web GUI events, support tickets and user feedback, source version management events (e.g. recent commits). The ultimate objective is to implement an AI-powered recommendation system to guide the maintenance and even to automatically predict and solve user issues.
The CIFRE PhD of Sacha Brisset takes place in the context of this collaboration.
Participants: Philippe Merle.
This collaboration (2020–21) aims at proposing new solutions for steering, orchestrating, and maintaining the software development activities in the stages related to packaging, delivering, and deploying. The objective is to better control these stages and to make them more reliable. Based on several identified use cases, the envisioned solutions take advantage of our expertise and our recent advances in software metamodeling, smart monitoring, and knowledge based building.
Participants: Romain Rouvoy, Lionel Seinturier.
This collaboration (2020–21) aims at improving the monitoring of the power consumption of virtual machines hosted in datacenters. The objective is to propose new solutions to be able to continuously, in real time, monitor the power consumption of IaaS solutions such as OpenStack. This will contribute to a better understanting of the power models that can be used online in datacenters. This collaboration will take advantage of the PowerAPI software library.
10 Partnerships and cooperations
10.1 International initiatives
10.1.1 Inria international partners
Informal international partners
University of Oslo: green computing.
University of Mons: software engineering.
TU Berlin & University of Bayreuth.
Pontifical Catholic University of Chile.
University of Göttingen: cloud computing.
CETIC: cloud computing.
10.1.2 Participation in other international programs
Partnership for joint Curriculum Development and Research in Energy Informatics (PACE)
Participants: Mohammed Chakib Belgaid, Arthur D'Azémar, Guillaume Fieni, Alexandre Garnier, Zakaria Ournani, Clément Quinton, Romain Rouvoy, Lionel Seinturier.
PACE is a 3-year (2019–21) project funded by the Research Council of Norway. The goal of the project is to establish a sustained education and research-oriented collaboration between four partner universities in energy informatics and green computing that will strengthen quality academic relations and mutually improve each other's quality of research and researcher training both at PhD and master level. Partner universities are: University of Oslo (Norway), University of Stavanger (Norway), TU Munich (Germany), Université de Lille.
10.2 European initiatives
10.2.1 Collaborations in European programs, except FP7 and H2020
DG ECHO Aiders
Participants: Timothée Lefebvre, Alexis Pernet, Romain Rouvoy, Lionel Seinturier.
Aiders is an European project (2020–21) funded by the directorate general for European Civil Protection and Humanitarian Aid Operations of the EU. The partners are the University of Cyprus, the Cyprus Civil Defense, the Entente pour la Forêt Méditerranéenne french public organisation, the Corpo nazionale vigili del fuoco italian state organisation, the Center for Security Studies greek think thank, and the Spirals project-team. The AIDERS project aims at developing application-specific algorithms and novel mapping platform that will harness the large volume of data that first responders are now able to collect through heterogeneous sensors (including visual, thermal and multispectral cameras, LIDAR, CBRN sensors, etc.) on-board RPAS units, and converting that data into actionable decisions for improved emergency response.
10.3 National initiatives
Participants: Alexandre Garnier, Philippe Merle, Romain Rouvoy, Lionel Seinturier.
SATAS is a 66-month project (2015–21) funded by ANR. SATAS aims to advance the state of the art in massively parallel SAT solving with a particular eye to the applications driving progress in the field. The final goal of the project is to be able to provide a “pay as you go” interface to SAT solving services, with a particular focus on their power consumption. This project will extend the reach of SAT solving technologies, daily used in many critical and industrial applications, to new application areas, which were previously considered too hard, and lower the cost of deploying massively parallel SAT solvers on the cloud. Our results from this project have been published in the following papers 57, 65.
Participants: Pierre Bourhis, Marion Tommasi.
Headwork is a 48-month project (2016–21) funded by ANR. The main objective of Headwork is to develop data-centric workflows for programming crowd sourcing systems in a flexible declarative manner. The problem of crowd sourcing systems is to fill a database with knowledge gathered by thousands or more human participants. A particular focus is to be put on the aspects of data uncertainty and for the representation of user expertise. This project is coordinated by D. Gross-Amblard from the Druid Team (Rennes 1). Other partners include the Dahu team (Inria Saclay), Sumo (Inria Bretagne), and Links (Inria Lille) with J. Nierhen and M. Sakho. Our results from this project have been published in the following paper 47.
Participants: Pierre Bourhis.
Delta is a 48-month project (2016–21) funded by ANR. The project focuses on the study of logic, transducers and automata. In particular, it aims at extending classical framework to handle input/output, quantities and data. This project is coordinated by M. Zeitoun from LaBRI. Other partners include LIF (Marseille), IRIF (Paris-Diderot), and D. Gallois from the Inria Lille Links team. Several results and publications have been obtained in the context of this project 1648, 49, 50.
Participants: Pierre Bourhis.
CQFD is a 48-month project (2018–22) funded by ANR. The project focuses on the complex ontological queries over federated heterogeneous data. The project targets to set the foundations, to provide efficient algorithms, and to provide query rewriting oriented evaluation mechanisms, for ontology-mediated query answering over heterogeneous data models. This project is coordinated by Federico Ulliana from Inria Sophia Antipolis. Other partners include LaBRI, Inria Saclay, IRISA, LTCI, and LIG.
Participants: Naif Mehanna, Vikas Mishra, Walter Rudametkin Ivey.
FP-Locker is a 42-month project (2019–23) funded by ANR in the context of the JCJC program. This project proposes to investigate advanced browser fingerprinting as a configurable authentication mechanism. We argue that it has the potential to be the only authentication mechanism when used in very low-security, public websites; it can be used to block bots and other fraudulent users from otherwise open websites. It also has the potential to be used as a second factor authentication mechanism, or as an additional factor in Multi-Factor Authentication (MFA) schemes. Besides strengthening a session’s initial authentication, it can also be used for continuous session authentication to protect against session hijacking. In many contexts, fingerprinting is fully transparent to users, meaning that contrary to authentication processes that rely on external verification cards, code generating keys, special apps, SMS verification codes, users do not have to do anything to improve their security. In more restricted contexts, administrators can enforce different policies, for example, enrolling fingerprints from devices that connect from trusted IP addresses (e.g., an internal network), and then verifying these fingerprints when the same users connect from untrusted IP addresses. Consequently, we plan to design an architecture and implement it to be able to plug the browser fingerprinting authentication process to an existing authentication system.
Participants: Pierre Bourhis, Edouard Guegain, Clément Quinton.
Koala is a 42-month project (2019–23) funded by ANR in the context of the JCJC program. The project aims to deliver a series of innovative tools, methods and software to deal with the complexity of fog computing environments configurations and adaptations. In particular, we take a step back on the current limitations of existing approaches (e.g., lack of expressiveness and scalability) and address them placing knowledge as a first-class citizen. We plan to tackle configuration issues from a novel perspective in the field of variability management, using recent techniques from the area of knowledge compilation. Specifically, we will investigate the best-suited d-DNNF representation for each reasoning operation, and we plan to provide new variability modeling mechanisms (e.g., dimensions, priorities and scopes) required in a fog context. Regarding adaptation concerns, we want to leverage machine learning techniques to improve adaptation management and evolution under uncertainty, relying on a continuously enriched and reusable knowledge base. In particular, we plan to propose an approach for suggesting evolution scenarios in a predictive manner, relying on an evolution-aware knowledge base acquired at run-time through machine learning feedback.
10.3.2 CNRS Momentum
Manage Your Data Without Information Leakage
Participants: Pierre Bourhis.
“Gérer vos données sans fuite d'information” is a 3-year (2018–20) project granted in the context of the CNRS-Momentum call for projects. Data manipulated by modern applications are stored in large databases. To protect these pieces of data, security policies limit a user's access to what she is allowed to see. However, by using the semantics of the data, a user can deduce information that she was not supposed to have access to. The goal of this project is to establish methods and tools for understanding and detecting such data leaks. Several results and publications have been obtained in the context of this project 55, 51, 52.
10.4 Regional initiatives
Participants: Guillaume Fieni, Alexandre Garnier, Philippe Merle, Romain Rouvoy, Lionel Seinturier.
CIRRUS is a 3-year (2017–20) joint team with the Scalair cloud operator and architect company funded by the Hauts-de-France region. The CIRRUS joint team is developing novel solutions in the domains of the on demand configuration of heterogeneous cloud resources, the management of cloud elasticity for all deployed services (SaaS, PaaS, IaaS) in order to guarantee quality of service and user quality of experience, and the taming of financial costs of cloud infrastructures.
Rigorous Component-Based Design of Correct-by-Construction Software and Systems: Application to Cloud Computing
Participants: Simon Bliudze, Trinh Le Khanh, Larisa Safina.
This 24-month (2019–20) project is funded in the context of the STaRS program of Hauts-de-France region. It aims at the development of methods and tools for the rigorous design of cloud computing platforms and applications, which can be proven to be correct by construction. First results have been published in 1453, 54.
BRiCoS: Building Blocks for Rigorous Design of Concurrent Software
Participants: Simon Bliudze, Larisa Safina.
This 24-month (2021–22) project — funded by the I-SITE ULNE Foundation in the framework of its “Support for young researchers 2020” programme — addresses two fundamental challenges for the implementation of the Rigorous System Design approach to general-purpose software: 1) obtaining behavioural models of the coordinated software entities and 2) detecting the deviations between these models and the corresponding executable code in the face of software evolution.
ASCOT: Advanced Script analysis to prevent Online Tracking
Participants: Romain Fouquet, Jean Luc Intumwayase, Pierre Laperdrix, Romain Rouvoy, Walter Rudametkin Ivey.
This 36-month (2020–23) project is funded in the context of the STaRS program of Hauts-de-France region. The goal of the project is to improve web security and privacy and put back control into users hands by blocking unwanted trackers. The project will combine information flow analysis, machine learning and deobfuscation to detect a wide range of trackers. The project will also identify page breakage when blocking online trackers. All in all, this project aims to advance the actual techniques that protect users online while maintaining a high level of usability that is key to offer a comfortable browsing experience.
Participants: Pierre Bourhis, Remy Raes, Romain Rouvoy, Lionel Seinturier.
Indoor Analytics is a 32-month (2019–21) project funded in the context of CPER Data program. Indoor Analytics aims at collaborating with the Mapwize company on the development of novel analytics for indoor location systems. In particular, Mapwize and Spirals target the joint delivery of an open-source software solution devoted to the acquisition, storage and processing of location events at scale.
Participants: Pierre Bourhis, Laurence Duchien, Clément Quinton.
COMMODE (Knowledge COMpilation for feature MODEls) is a 24-month (2019–21) project funded in the context of CPER Data program. COMMODE aims at using techiques from knowledge compilation, a subarea of artificial intelligence, for feature models, a representation of software products used in software engineering.
Participants: Antoine Canda, Antonin Durey, Pierre Laperdrix, Walter Rudametkin Ivey.
ADT FingerKit (2018–20) is a technology development initiative supported by the Inria Lille - Nord Europe Center that focuses on the design and development of a new and enhanced version of the AmIUnique platform. AmIUnique is a data collection and analysis platform to better understand, analyze and vulgarize the uses and threats of browser fingerprinting. This initiative led by Inria is a key asset to better understand novel techniques that threatens the user privacy on Internet. This ADT builds on our first results with the PhD thesis of Antoine Vastel 82.
Participants: Arthur d'Azémar, Guillaume Fieni, Romain Rouvoy.
ADT e-Lens (2018–21) is a technology development initiative supported by the Inria Lille - Nord Europe Center that aims at extending the PowerAPI energy monitoring library that we develop in the team since 2011. The extension deals with the integration of new power models (for GPU, disk, network interface), the implementation of a self-optimization algorithm, the port of the platform to embedded systems running with Raspberry Pi, ROS and Android, and the implementation of an active learning algorithm for power models. This ADT builds on our results with the defended PhD theses of Adel Noureddine 72 and Maxime Colmant 58, and with the ongoing PhD thesis of Guillaume Fieni.
11.1 Promoting Scientific Activities
11.1.1 Scientific Events: Selection
Chair of Conference Program Committees
Simon Bliudze: International Conference on Coordination Models and Languages (COORDINATION).
Member of the Conference Program Committees
Simon Bliudze: International Conference on Formal Methods in Software Engineering (FormaliSE), NASA Formal Methods Symposium (NFM), International Colloquium on Theoretical Aspects of Computing (ICTAC), IFIP International Conference on Topics in Theoretical Computer Science (TTCS, Track B), International Conference on Microservices, International Conference on Verification and Evaluation of Computer and Communication Systems (VECoS).
Pierre Bourhis: International Conference on Database Theory (ICDT), ACM SIGMOD/PODS International Conference on Management of Data.
Laurence Duchien: ACM International Systems and Software Product Line Conference (SPLC), European Conference on Software Architecture (ECSA), European Conference on Software Architecture Doctoral Symposium, IEEE International Conference on Software Architecture (ICSA), International Workshop on Software Engineering Research and Industrial Practice (SER&IP).
Pierre Laperdrix: USENIX Security, Conference on Detection of Intrusions and Malware & Vulnerability Assessment (DIMVA), USENIX Workshop on Offensive Technologies (WOOT), Workshop on Privacy in the Electronic Society (WPES).
Philippe Merle: International Conference on Cooperative Information Systems (CoopIS), IEEE International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE) - Future Internet Services and Applications track (FISA), International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies (UBICOMM), International Conference on Adaptive and Self-Adaptive Systems and Applications (ADAPTIVE), International Conference on Evolving Internet (INTERNET), International Conference on Cloud Computing, GRIDs, and Virtualization (CLOUD COMPUTING), International Conference on Advanced Service Computing (SERVICE COMPUTATION), International Symposium on Security in Computing and Communications (SSCC), International Conference on Applied Soft Computing and Communication Networks (ACN), Conférence en IngénieriE du Logiciel (CIEL), International Workshop on Formal Approaches for Advanced Computing Systems (FAACS).
Clément Quinton: ACM Symposium on Applied Computing (SAC) track SA-TTA, ACM International Systems and Software Product Line Conference (SPLC) tracks RA DT.
Romain Rouvoy: ACM Symposium on Applied Computing (SAC) track SA-TTA, ACM/IFIP International Middleware Conference (Middleware), IEEE/ACM International Symposium on Cluster, Cloud and Internet Computing (CCGrid), International Conference on Software and Systems Reuse (ICSR), International Conference on Distributed Applications and Interoperable Systems (DAIS), ACM International Conference on Distributed and Event-based Systems (DEBS) industry track.
Lionel Seinturier: ACM Symposium on Applied Computing (SAC) tracks DADS OS SA-TTA, International Conference on Service Oriented Computing (ICSOC), ACM International Conference on Management of Emergent Digital EcoSystems (MEDES).
Walter Rudametkin: Workshop on Measurements, Attacks, and Defenses for the Web (MADWeb).
Member of the Editorial Boards
Philippe Merle: IoT — Open Access Journal (MDPI).
Walter Rudametkin: Springer Annals of Telecommunications.
Reviewer – Reviewing Activities
Simon Bliudze: Journal of Software: Evolution and Process (formerly The Journal of Software Maintenance and Evolution; JSME)
Pierre Bourhis: ACM Transactions on Database Systems (TODS).
Philippe Merle: ACM Computing Surveys (CSUR), IEEE Access, Springer Software and Systems Modeling (SoSyM), IEEE Software, Wiley Software: Practice and Experience (SPE), ACM Transactions on Internet Technology (TOIT), Wiley Concurrency and Computation: Practice and Experience (CCPE), Journal of Robotics (Hindawi).
Clément Quinton: Journal of Systems and Software (JSS).
Lionel Seinturier: Elsevier Future Generation Computing Systems (FGCS), Springer Empirical Software Engineering (EMSE), Elsevier Internet of Things, Springer Software and Systems Modeling (SoSyM).
11.1.3 Invited Talks
11.1.4 Leadership within the Scientific Community
Simon Bliudze is co-head of the YODA (trustworthY and Optimal Dynamic Adaptation) working group of the GDR GPL. He was guest editor for the Springer Innovations in Systems and Software Engineering journal special issue with selected papers presented at VECoS '18, the Springer Software Tools for Technology Transfer journal special issue with selected papers presented at MeTRiD '18–'19, and the CCSD Logical Methods in Computer Science journal special issue with selected papers presented at COORDINATION '20. Since June 2020, he is a memeber of the Steering Committee of COORDINATION.
Laurence Duchien is a member of the scientific councils of IMT Atlantique (Nantes), Labex CIMI (Toulouse), IRT SystemX (Saclay). She is member of the steering committees of the European Conference on Software Architecture (ECSA) and of the Systems and Software Product Lines Conference (SPLC). She was guest editor for the Empirical Software Engineering Journal for a special issue on software configuration.
Philippe Merle is an elected member of the Inria scientific board (CS).
Romain Rouvoy is an elected member of the “bureau” of the French chapter of the ACM Special Interest Group in Operating Systems (SIGOPS / ASF) and elected member of the administrative council of SpecifCampus. He is co-head of the “Groupe de Travail Génie Logiciel pour les Systèmes Cyber-physiques” of the GDR GPL.
11.1.5 Scientific Expertise
Simon Bliudze was member of the recruitment committee of junior researchers (CRCN and ISFP) at Inria Lille. He was a member of the chair professor recruitement committee at UCLouvain.
Laurence Duchien was member of the recruitment committee for two researchers at the University of Luxembourg. She was president of the recruitment committee for Professor in Computer Science at ENS Paris. She was president of the CNRS Research Scientists committee for section CoNRS 6. She was member of the jury for the GDR GPL Prix de thèse. She was expert for MESRI DGRI and evaluated projects for the PHC and STIC-Asie programs.
Romain Rouvoy was member of scientific committee 25 — Infrastructures (networks, high performance computing and storage), software sciences and technologies of the French Research Agency (ANR). He was scientific expert for DRRT IDF.
Lionel Seinturier was president of the recruitment committee for Professor in Computer Science at the University of Lille, and member of the recruitment committee for Associate Professor in Computer Science at the University of Paris. He was member of the Institut Universitaire de France (IUF) Senior Jury. He was scientific expert for the Swiss National Science Foundation, DRRT IDF.
11.1.6 Research Administration
Simon Bliudze is an elected member of the comité de centre Inria Lille Nord Europe.
Laurence Duchien is member of the CNRS CoCNRS section 6 committee, and of the “bureau” of this committee. She is in charge of the Career development & Intersectoral secondments in the PEARL Project (“Programme for EArly-stage Researchers in Lille”) at I-SITE Université Lille – Nord Europe.
Antonin Durey is elected member of the CRIStAL laboratory council.
Philippe Merle is an elected member of the Inria technical committee (CTI), elected member of the Inria national committee on “hygiène, de sécurité et des conditions de travail” (CNHSCT), president of the CUMI (Comité des Utilisateurs des Moyens Informatiques), permanent secretary of the CLHSCT (Comité Local d'Hygiène, de Sécurité et de Conditions de Travail), and elected member of the centre committee for the Inria Lille – Nord Europe research center. He is member of the steering committee of the Inria’s continuous integration service. He is member of SPI doctoral school council of University of Lille.
Walter Rudametkin is an member of the CDT (Comité de Développement Technologique) of the Inria Lille – Nord Europe research center. He is an elected member of the CRIStAL laboratory council.
Lionel Seinturier is a member of the BSC (Bureau Scientifique du Centre) for the Inria Lille – Nord Europe research center. He is chair of CNU27, the Computer Science section of the “Conseil National des Universités”.
11.2 Teaching - Supervision - Juries
Simon Bliudze is, in addition to his tenure Junior Researcher position at Inria, part-time Associate Professor at École Polytechnique, Palaiseau, France, in the Department of Computer Sciences (DIX).
- INF411: Les bases de la programmation et de l'algorithmique, 40h, year of the Engineering cycle
- INF442: Traitement des données massives, 40h, year of the Engineering cycle
Pierre Bourhis is, in addition to his tenure Junior Researcher position at CNRS, part-time Associate Professor of Data Science at École Polytechnique, Palaiseau, France, in the Department of Computer Sciences (DIX).
- Info553: Bases de données, 18h, Cycle Polytechnique
- Modal Graphe Géant, 36h
- INF517: Projet de Recherche Data Science, 20h
- INF583: System for Big Data, 20h
Laurence Duchien teaches at the Université de Lille in the FST faculty. She is project leader for doctoral studies at Université de Lille.
- Software engineering project, 60h, Level M2, Master MIAGE FI
- Software engineering project, 50h, Level M2, Master MIAGE FC/FA
- Research initiation, 20h, Level M2, Master of Computer Science
Clément Quinton teaches at the Université de Lille in the FST faculty.
- Introduction to Computer Science, 46.5h, Level L1, Licence of Computer Science
- Object-oriented programming, 36h, Level L2, Licence of Computer Science
- Object-oriented design, 42h, Level L3, Licence of Computer Science
- Design of distributed applications, 42h, Level M1, Master of Computer Science
- Advanced design of distributed applications, 37.5h, Level M2, Master MIAGE
- Infrastructure and frameworks for the Internet, 33.75h, Level M2, Master of Computer Science
- Software product lines, 7.5h, Level M2, Master of Computer Science
- Suivi de stages et de projets, 30h, Licence and Master of Computer Science
Romain Rouvoy teaches at the Université de Lille in the FST faculty. He heads the Master of Computer Science program at the Université de Lille.
- Design of distributed applications, 12h, Level M1, Master of Computer Science
- Object-oriented design, 4h, Level L3, Licence of Computer Science
- Suivi de projets, 20h, Level M2, Master of Computer Science
Walter Rudametkin Ivey teaches at the Polytech Lille engineering school.
- GIS4 Programmation par Objets, 32h
- GIS4 Architectures Logicielles, 26h
- GIS2A3 (apprentissage) Projet programmation par Objet, 24h
- IMA2A4 (apprentissage) Conception Modélisation Objet, 24h
- IMA3 Programmation Avancée, 62h
- GBIAAL4 Bases de données, 22h
- GIS5 Suivi de projets, 42h
- GIS2A (apprentissage) Suivi d'apprentis, 28h
Lionel Seinturier teaches at the Université de Lille in the FST faculty. Until July 2019, he headed the Computer Science Department at the Faculty of Science and Technology of the Université de Lille.
- Conception d'Applications Réparties, 50h, Level M1, Master MIAGE
- Infrastructures et Frameworks Internet, 70h, Level M2 E-Services IAGL TIIR, Master of Computer Science
- PhD in progress: Zeinab Abou Khalil, Understanding the impact of release policies in software development processes, November 2017, Laurence Duchien & Clément Quinton, co-supervision with Tom Mens (University of Mons).
- PhD in progress: Mohammed Chakib Belgaid, Développement durable des logiciels vers une optimisation énergétique de bout en bout des systèmes logiciels, January 2018, Romain Rouvoy & Lionel Seinturier.
- PhD in progress: Sacha Brisset, Automatic Spotting and fixing or Recurrent user Experience issues. Detecting and Fixing Anomalies by applying Machine Learning on user Experience Data, November 2018, Lionel Seinturier & Romain Rouvoy & Renaud Pawlak & Yoann Couillec.
- PhD in progress: Antonin Durey, Leveraging Browser Fingerprinting to Fight Fraud on the Web, October 2018, Romain Rouvoy & Walter Rudametkin & Lionel Seinturier.
- PhD in progress: Salman Farhat, Safe Dynamic Reconfiguration of Cloud Applications, October 2020, Laurence Duchien & Simon Bliudze.
- PhD in progress: Guillaume Fieni, GreenData : Vers un traitement efficient et éco-responsable des grandes masses de données numériques, October 2017, Romain Rouvoy & Lionel Seinturier.
- PhD in progress: Romain Fouquet, Improving Online Privacy through Content Blocking and Information Restriction, October 2020, Romain Rouvoy & Pierre Laperdrix.
- PhD in progress: Omid Gheibi, Dependable Adaptive Software Systems for the Digital World, October 2020, Laurence Duchien & Clément Quinton, co-supervision with Danny Weyns (KU Leuven).
- PhD in progress: Edouard Guegain, Configuration of Large Scale Fog Environments, October 2020, Clément Quinton.
- PhD in progress: Jean-Luc Intumwayase, Improving Online Privacy through Content Blocking and Information Restriction, November 2020, Romain Rouvoy & Pierre Laperdrix.
- PhD in progress: Trình Lê Khánh, Design of Correct-by-Construction Self-Adaptive Cloud Applications using Formal Methods, October 2019, Philippe Merle & Simon Bliudze.
- PhD in progress: Naif Mehanna, Hardening Web Authentication with Browser Fingerprinting, October 2020, Walter Rudametkin.
- PhD in progress: Vikas Mishra, Collaborative Strategies to Protect Against Browser Fingerprinting, October 2018, Romain Rouvoy, Walter Rudametkin & Lionel Seinturier.
- PhD in progress: Zakaria Ournani, Eco-conception des logiciels : modélisation de l’efficience énergétique des logiciels et conception d’outils pour mesurer et réduire leur consommation d’énergie, November 2018, Romain Rouvoy.
- PhD in progress: Marion Tommasi, Collaborative Data-centric Workflows: Towards Knowledge Centric Workflows and Integrating Uncertain Data, October 2018, Pierre Bourhis & Lionel Seinturier.
PhD juries, or otherwise specified such as HDR.
- Rabin Sahu (Université de Lille), president
- Cagan Arslan (Université de Lille), president
- Maverick Chardet (IMT Atlantique), president
- Lorenzo Pagliani (University of L’Aquilla, Italy), reviewer
- Neil Ayeb (Université Grenoble Alpes), reviewer
- Sami Lazreg (Université de Nice), reviewer
- Matthieu Amy (Université de Toulouse), examiner
- Hussein Mhanna (Université Paris-Saclay), examiner
- Hayet Brabra (Télécom Sud Paris), president
- Yewan Wang (IMT Atlantique), reviewer & president
- Jean-Émile Dartois (Université de Rennes 1), reviewer
- Dalimir Orfanus (University of Oslo, Norway), opponent
- Dorian Burihabwa (University of Neuchâtel, Switzerland), reviewer
- Emile Cadorel (IMT Atlantique), reviewer
- Florentin Delaine (INSA Lyon), reviewer
- Louison Gitzinger (Université de Rennes 1), reviewer
- HDR, Stéphanie Chollet (Université Grenoble Alpes), reviewer
- HDR, Anne-Cécile Orgerie (ENS Rennes), examiner
- Soulaimane Guedria (Université Grenoble Alpes), reviewer
- Nampoina Andriamilanto (Université de Rennes 1), examiner
12 Scientific production
12.1 Major publications
- 1 articleElasticity in Cloud Computing: State of the Art and Research ChallengesIEEE Transactions on Services Computing (TSC)112March 2018, 430-447
- 2 inproceedingsBalancing expressiveness and inexpressiveness in view designKR 2020 - 17th International Conference on Principles of Knowledge Representation and ReasoningProceedings of the 17th International Conference on Principles of Knowledge Representation and ReasoningRhodes, GreeceIJCAI OrganizationSeptember 2020, 109--118
- 3 inproceedings On Adopting Linters to Deal with Performance Concerns in Android Apps ASE18 - Proceedings of the 33rd IEEE/ACM International Conference on Automated Software Engineering 11 Montpellier, France ACM Press September 2018
- 4 articleBrowser Fingerprinting: A SurveyACM Transaction on the Web142April 2020, 1-33
- 5 inproceedingsFOUGERE: User-Centric Location Privacy in Mobile Crowdsourcing Apps19th IFIP International Conference on Distributed Applications and Interoperable Systems (DAIS)LNCS-11534Distributed Applications and Interoperable SystemsKongens Lyngby, DenmarkSpringer International Publishing2019, 116-132
- 6 inproceedings Best paper Feature Model-Guided Online Reinforcement Learning for Self-Adaptive Services International Conference on Service Oriented Computing Proceedings of the 18th International Conference on Service-Oriented Computing Dubai, United Arab Emirates December 2020
- 7 inproceedings AccessiLeaks: Investigating Privacy Leaks Exposed by the Android Accessibility Service PETS 2019 - The 19th Privacy Enhancing Technologies Symposium Stockholm, Sweden July 2019
- 8 articleEarly validation of system requirements and design through correctness-by-constructionJournal of Systems and Software1452018, 52-78
- 9 inproceedingsFP-STALKER: Tracking Browser Fingerprint EvolutionsIEEE S&P 2018 - 39th IEEE Symposium on Security and PrivacyProceedings of the 39th IEEE Symposium on Security and Privacy (S&P)San Francisco, United StatesIEEEMay 2018, 728-741
- 10 article Characterizing the Usage, Evolution and Impact of Java Annotations in Practice IEEE Transactions on Software Engineering 2019
12.2 Publications of the year
International peer-reviewed conferences
Scientific book chapters
Edition (books, proceedings, special issue of a journal)
Doctoral dissertations and habilitation theses
Reports & preprints
12.3 Cited publications
- 47 inproceedings Explanations and Transparency in Collaborative Workflows PODS 2018 - 37th ACM SIGMOD-SIGACT-SIGAI Symposium on Principles Of Database Systems Houston, Texas, United States June 2018
- 48 inproceedings Constant-Delay Enumeration for Nondeterministic Document Spanners ICDT 22nd International Conference on Database Theory (ICDT 2019) 25 pages including 17 pages of main material. Integrates all reviewer feedback. Outside of possible minor formatting differences, this paper is exactly the same as the ICDT'19 paper except that it contains 6 pages of technical appendix Lisbon, Portugal March 2019
- 49 inproceedingsEnumeration on Trees with Tractable Combined Complexity and Efficient UpdatesPODSProceedings of the 38th ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database SystemsAmsterdam, FranceACM PressJune 2019, 89-103
- 50 articleEvaluating Datalog via Tree Automata and CycluitsTheory of Computing Systems6372019, 1620-1678
- 51 inproceedings Reasoning about disclosure in data integration in the presence of source constraints IJCAI 2019 - 28th International Joint Conference on Artificial Intelligence Macao, China August 2019
- 52 inproceedings Mixed-World Reasoning with Existential Rules under Active-Domain Semantics Twenty-Eighth International Joint Conference on Artificial Intelligence (IJCAI) Macao, Macau SAR China August 2019
- 53 articleRigorous Design of Cyber-Physical SystemsSoftware and Systems Modeling1832019, 1613--1636
- 54 inproceedingsVerification of concurrent design patterns with dataCOORDINATION 2019 - 21st International Conference on Coordination Models and LanguagesLNCS-11533Coordination Models and Languagest Part 4: Coordination PatternsKongens Lyngby, DenmarkSpringer International PublishingJune 2019, 161-181
- 55 inproceedings Oblivious and Semi-Oblivious Boundedness for Existential Rules IJCAI 2019 - International Joint Conference on Artificial Intelligence Macao, China August 2019
- 56 inproceedingsA micro-economic approach to conflict resolution in mobile computingSIGSOFT FSE2002, 31-40
- 57 inproceedingsWattsKit: Software-Defined Power Monitoring of Distributed Systems17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid)Proceedings of the 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid)Madrid, SpainIEEEJanuary 2017, 10
- 58 phdthesis Multi-Dimensional Analysis of Software Power Consumptions in Multi-Core Architectures Université Lille 1 - Sciences et Technologies November 2016
- 59 inproceedingsGenerating Fixes from Object Behavior AnomaliesProceedings of the 2009 IEEE/ACM International Conference on Automated Software EngineeringASE '09Washington, DC, USAIEEE Computer Society2009, 550--554URL: http://dx.doi.org/10.1109/ASE.2009.15
- 60 inproceedingsDissemination of Reconfiguration Policies on Mesh NetworksProceedings of 12th IFIP International Conference on Distributed Applications and Interoperable Systems (DAIS'12)7272Lecture Notes in Computer ScienceStockholm, SwedenSpringerJune 2012, 16-30
- 61 inproceedingsMeasurements on the spotify peer-assisted music-on-demand streaming systemPeer-to-Peer Computing2011, 206-211
- 62 phdthesis Understanding Mobile-Specific Code Smells Université de Lille December 2019
- 63 articleThe WEKA data mining software: an updateSIGKDD Explorer Newsletter1112009, 10--18
- 64 articleAutomated patching techniques: the fix is inCommunications of the ACM535May 2010, 108--108URL: http://doi.acm.org/10.1145/1735223.1735248
- 65 inproceedingsGenPack: A Generational Scheduler for Cloud Data Centers5th IEEE International Conference on Cloud Engineering (IC2E)Proceedings of the 5th IEEE International Conference on Cloud Engineering (IC2E)Vancouver, CanadaIEEEApril 2017, 10
- 66 articleService-Oriented Middleware for the Future Internet: State of the Art and Research DirectionsJournal of Internet Services and Applications21May 2011, 23-45URL: http://dx.doi.org/10.1007/s13174-011-0021-3
- 67 articleAlloy: A Lightweight Object Modelling NotationACM Transactions on Software Engineering and Methodology112April 2002, 256-290
- 68 inproceedingsReliable Dynamic Reconfigurations in a Reflective Component ModelCBSE2010, 74-92
- 69 inproceedingsCommunity Clustering for Distributed Publish/Subscribe SystemsCLUSTER2012, 81-89
- 70 inproceedings A Lightweight Toolchain to Validate, Visualize, Analyze, and Deploy ETSI NFV Topologies NetSoft 2019 - The 5th IEEE International Conference on Network Softwarization Paris, France June 2019
- 71 techreportA formal specification of the Fractal component model in Alloy6721INRIANovember 2008, 44URL: http://hal.inria.fr/inria-00338987
- 72 phdthesis Towards a Better Understanding of the Energy Consumption of Software Systems Université des Sciences et Technologie de Lille - Lille I March 2014
- 73 articlesoCloud: A service-oriented component-based PaaS for managing portability, provisioning, elasticity, and high availability across multiple cloudsSpringer Computing985May 2016, 539-565
- 74 inproceedingsImproving Context Interpretation by Using Fuzzy Policies: The Case of Adaptive Video Streaming28th ACM Symposium on Applied Computing (SAC) - 8th Track on Dependable and Adaptive Distributed Systems (DADS)1Best paper awardCoimbra, PortugalACMMarch 2013, 415-422URL: http://hal.inria.fr/hal-00799136
- 75 inproceedingsEnhancing server availability and security through failure-oblivious computingProceedings of the 6th conference on Symposium on Operating Systems Design & Implementation (OSDI'06)USENIX Association2004, 21--21
- 76 articleSelf-adaptive software: Landscape and research challengesACM Transactions on Autonomous and Adaptive Systems42May 2009, 14:1--14:42URL: http://doi.acm.org/10.1145/1516533.1516538
- 77 miscServices in the Future InternetApril 2011, URL: http://www.eurosfaire.prd.fr/7pc/doc/1303227305_fp8_future_internet_28_02_2011.pdf
- 78 miscA Roadmap for Advanced Cloud Technologies under H2020December 2012, URL: http://ec.europa.eu/information_society/newsroom/cf/dae/document.cfm?doc_id=2165
- 79 articleA Component-Based Middleware Platform for Reconfigurable Service-Oriented ArchitecturesSoftware: Practice and Experience425May 2012, 559-583
- 80 inproceedingsFormal Verification of Orchestration Templates for Reliable Deployment with OpenStack HeatCNSM 2019 - 15th International Conference on Network and Service ManagementHalifax, CanadaOctober 2019, 1-5
- 81 miscNESSI Research Priorities for the next Framework Programme for Research and Technological Development FP8May 2011, URL: http://www.nessi-europe.eu/files/Docs/NESSI%20SRA_update_May_2011_V1-0.pdf
- 82 phdthesis Tracking Versus Security: Investigating the Two Facets of Browser Fingerprinting Université de Lille Nord de France October 2019
- 83 inproceedingsAutomated fixing of programs with contractsProceedings of the 19th international symposium on Software testing and analysisISSTA '10New York, NY, USATrento, ItalyACM2010, 61--72URL: http://doi.acm.org/10.1145/1831708.1831716
- 84 inproceedingsHow long will it take to fix this bug?Proceedings of the Fourth International Workshop on Mining Software RepositoriesIEEE Computer Society2007, 1
- 85 articleData Mining for Software EngineeringIEEE Computer428August 2009, 55-62URL: http://doi.ieeecomputersociety.org/10.1109/MC.2009.256
- 86 inproceedingsDetecting large-scale system problems by mining console logsProceedings of the 22nd ACM Symposium on Operating Systems Principles (SOSP'09)Big Sky, Montana, USAACMOctober 2009, 117-132
- 87 incollectionSoftware Engineering for Self-Adaptive Systems: A Second Research RoadmapSoftware Engineering for Self-Adaptive Systems7475Dagstuhl Seminar ProceedingsSpringer2013, 1-26URL: http://hal.inria.fr/inria-00638157