Lionel SeinturierUniversity of Lille
Lionel Seinturier
PhD in Computer Science
About
250
Publications
40,347
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
3,865
Citations
Introduction
Additional affiliations
October 2011 - September 2016
Publications
Publications (250)
Tree matching techniques have been investigated in many fields, including web data mining and extraction, as a key component to analyze the content of web pages. However, when applied to existing web pages, traditional tree matching approaches, covered by algorithms like Tree-Edit Distance (TED) or XyDiff, either fail to scale beyond a few hundred...
Web applications are constantly evolving to integrate new features and fix reported bugs. Even an imperceptible change can sometimes entail significant modifications of the Document Object Model (DOM), which is the underlying model used by browsers to render all the elements included in a web application. Scripts that interact with web applications...
Web applications are constantly evolving to integrate new features and fix reported bugs. Even an imperceptible change can sometimes entail significant modifications of the Document Object Model (DOM), which is the underlying model used by browsers to render all the elements included in a web application. Scripts that interact with web applications...
et al.. Towards a formal reference computational model for cloud configuration management.
Tree matching techniques have been investigated in many fields, including web data mining and extraction, as a key component to analyze the content of web documents, existing tree matching approaches, like Tree-Edit Distance (TED) or Flexible Tree Matching (FTM), fail to scale beyond a few hundreds of nodes, which is far below the average complexit...
Fine-grained power monitoring of software activities becomes unavoidable to maximize the power usage efficiency of data centers. In particular, achieving an optimal scheduling of containers requires the deployment of software-defined power~meters to go beyond the granularity of hardware power monitoring sensors, such as Power Distribution Units (PD...
Repairnator is a bot. It constantly monitors software bugs discovered during continuous integration of open-source software and tries to fix them automatically. If it succeeds in synthesizing a valid patch, Repairnator proposes the patch to the human developers, disguised under a fake human identity. To date, Repairnator has been able to producepat...
Repairnator is a bot. It constantly monitors software bugs discovered during continuous integration of open-source software and tries to fix them automatically. If it succeeds in synthesizing a valid patch, Repairnator proposes the patch to the human developers, disguised under a fake human identity. To date, Repairnator has been able to produce pa...
Annotations have been formally introduced into Java since Java 5. Since then, annotations have been widely used by the Java community for different purposes, such as compiler guidance and runtime processing. Despite the ever-growing use, there is still limited empirical knowledge about the actual usage of annotations in practice, the changes made t...
Null pointer exceptions (NPE) are the number one cause of uncaught crashing exceptions in production. In this paper, we aim at exploring the search space of possible patches for null pointer exceptions with metaprogramming. Our idea is to transform the program under repair with automated code transformation, so as to obtain a metaprogram. This meta...
Program repair research has made tremendous progress over the last few years, and software development bots are now being invented to help developers gain productivity. In this paper, we investigate the concept of a " program repair bot " and present Repairnator. The Repairnator bot is an autonomous agent that constantly monitors test failures, rep...
Repairnator is a bot. It constantly monitors software bugs discovered during continuous integration of open-source software and tries to fix them automatically. If it succeeds to synthesize a valid patch, Repairnator proposes the patch to the human developers, disguised under a fake human identity. To date, Repairnator has been able to produce 5 pa...
Software power estimation of CPUs is a central concern for energy efficiency and resource management in data centers. Over the last few years, a dozen of ad hoc power models have been proposed to cope with the wide diversity and the growing complexity of modern CPU architectures. However, most of these CPU power models rely on a thorough expertise...
Program repair research has made tremendous progress over the last few years, and software development bots are now being invented to help developers gain productivity. In this paper, we investigate the concept of a "program repair bot" and present Repairnator. The Repairnator bot is an autonomous agent that constantly monitors test failures, repro...
As a kind of meta-data feature, annotations have been formally introduced into Java since Java 5. Since the introduction, annotations have been widely used by the Java community for different purposes, such as compiler guidance and runtime processing. Despite the ever-growing use, there is still limited empirical evidence about how developers use a...
The adoption of the agile methods' principles has emerged as an effective way to develop service oriented architectures as it paves the way for a better reply to the changing needs of the environment and even the customer. However, these changes may also require the evolution of the development process itself. This paper presents an agile and servi...
Self-adaptive behaviours in the context of Component-based Architecture are generally designed based on past monitoring events, configurations (component assemblies) as well as behavioural programs defining the adaptation logics and invariant properties. Providing assurances on the navigation through the configuration space remains a challenge. Tha...
Null pointer exceptions (NPE) are the number one cause of uncaught crashing exceptions in production. In this paper, we aim at exploring the search space of possible patches for null pointer exceptions with metaprogramming. Our idea is to transform the program under repair with automated code transformation, so as to obtain a metaprogram. This meta...
Fixing a software error requires understanding its root cause. In this paper, we introduce “causality traces”, crafted execution traces augmented with the information needed to reconstruct the causal chain from the root cause of a bug to an execution error. We propose an approach and a tool, called Casper, based on code transformation, which dynami...
In Hadoop cluster, the performance and the resource consumption of MapReduce jobs do not only depend on the characteristics of these applications and workloads, but also on the appropriate setting of Hadoop configuration parameters. However, when the job workloads are not known a priori or they evolve over time, a static configuration may quickly l...
In Hadoop cluster, the performance and the resource consumption of MapReduce jobs do not only depend on the characteristics of these applications and workloads, but also on the appropriate setting of Hadoop configuration parameters. However, when the job workloads are not known a priori or they evolve over time, a static configuration may quickly l...
The reputation of a mobile app vendor is crucial to survive amongst the ever increasing competition. However this reputation largely depends on the quality of the apps, both functional and non-functional. One major non-functional requirement of mobile apps is to guarantee smooth UI interactions, since choppy scrolling or navigation caused by perfor...
While the number of mobile apps published by app stores keeps on increasing, the quality of these apps varies widely. Unfortunately, for many apps, end-users continue experiencing bugs and crashes once installed on their mobile device. Crashes are annoying for end-users, but they definitely are for app developers who need to reproduce the crashes a...
Context: Developers design test suites to verify that software meets its expected behaviors. Many dynamic analysis techniques are performed on the exploitation of execution traces from test cases. In practice, one test case may imply various behaviors. However, the execution of a test case only yields one trace, which can hide the others.
Objective...
Among the different techniques that are used to design self-adaptive software systems, control theory allows one to design an adaptation policy whose properties, such as stability and accuracy, can be formally guaranteed under certain assumptions. However, in the case of software systems, the integration of these controllers to build complete feedb...
Service Oriented Architecture is a software design paradigm of choice for building and integrating distributed Information Systems. The greatest challenge of SOA is to make the system more flexible and adaptable to the enterprise and user environment changes. However, services can change constantly. These changes are produced due to adjustment in s...
Null pointer exceptions, also known as null dereferences are the number one
exceptions in the field. In this paper, we propose 9 alternative execution
semantics when a null pointer exception is about to happen. We implement those
alternative execution strategies using code transformation in a tool called
NPEfix. We evaluate our prototype implementa...
Architecting in the context of variability has become a real need in nowadays
software development. Modern software systems and their architecture must adapt
dynamically to events coming from the environment (e.g., workload requested by
users, changes in functionality) and the execution platform (e.g., resources
availability).
Component-based arch...
Cyber-Physical Systems (CPS) are composed of heterogeneous devices, communicating with each other and interacting with the physical world. Fostered by the growing use of smart devices that are permanently connected to the Internet, these CPS can be found in smart environments such as smart buildings, pavilions or homes. CPS must cope with the compl...
Green IT has emerged as a discipline concerned with the optimization of software solutions with regards to their energy consumption. In this domain, most of the state-of-the-art solutions concentrate on coarse-grained approaches to monitor the energy consumption of a device or a process. In this paper, we report on a fine-grained runtime energy mon...
This paper presents SPOON, a library for the analysis and transformation of Java source code. SPOON enables Java developers to write a large range of domain-specific analyses and transformations in an easy and concise manner. SPOON analyses and transformations are written in plain Java. With SPOON, developers do not need to dive into parsing, to ha...
There is a trade-off between the number of concurrently running MapReduce jobs and their corresponding map an reduce tasks within a node in a Hadoop cluster. Leaving this trade-off statically configured to a single value can significantly reduce job response times leaving only suboptimal resource usage. To overcome this problem, we propose a feedba...
Les TIC représentent une part importante dans les émissions mondiales de CO2. En effet, les dernières études montrent qu’elles y contribuent à hauteur de 2%. Leur efficience énergétique est donc un enjeu majeur pour notre société. Dans cet article, nous décrivons une solution capable d’estimer précisément la consommation énergétique des application...
Context: Developers design test suites to automatically verify that software
meets its expected behaviors. Many dynamic analysis techniques are performed on
the exploitation of execution traces from test cases. However, in practice,
there is only one trace that results from the execution of one manually-written
test case.
Objective: In this paper,...
In the vast galaxy of crowdsourcing activities, crowd-sensing consists in using users’ cellphones for collecting large sets of data. In this chapter, we present the APISENSE distributed crowd-sensing platform. In particular, APISENSE provides a participative environment to easily deploy sensing experiments in the wild. Beyond the scientific contrib...
While the number of mobile apps published by app stores keeps increasing, the quality of these apps greatly varies. Unfortunately, end-users continue experiencing bugs and crashes for some of the apps installed on their mobile devices. Although developers heavily test their apps before release, context-sensitive crashes might still emerge after dep...
A data distribution system based on the exchange of asynchronous messages in publication/subscription mode, for the exchange of data according to various qualities of service between a transmitter running a data supplying application and one receiver running a data receiving application is disclosed, which transmitter and receiver are interconnecte...
Fixing a software error requires understanding its root cause. In this paper,
we introduce "causality traces", crafted execution traces augmented with the
information needed to reconstruct the causal chain from the root cause of a bug
to an execution error. We propose an approach and a tool, called Casper, for
dynamically constructing causality tra...
Adaptability is an increasingly important requirement for many systems, in particular for those that are deployed in dynamically changing environments. The purpose is to let the systems react and adapt autonomously to changing executing conditions without human intervention. Due to the large number of variability decisions (e.g., user needs, enviro...
Self-adaptation is an important and desirable property for many systems, particularly for those that are deployed in dynamically changing environments. The purpose is to let the systems react and adapt autonomously to changing executing conditions without human intervention. The current lack of reusable adaptation expertise, it becomes increasingly...
The ICT has an huge impact on the world CO2 emissions and recent study estimates its account to 2% of these emissions. This growing account emissions makes IT energy efficiency an important challenge. State-of-the-art has proven that the processor is the main power consumer. Processor are nowadays more and more complex and they are used in many har...
The popularity of smartphones is leading to an ever growing number of mobile apps that are published in official app stores. However, users might experience bugs and crashes for some of these apps. In this paper, we perform an empirical study of the official Google Play Store to automatically mine for such error-suspicious apps. We use the knowledg...
Multi-cloud computing is a promising paradigm to support very large scale
world wide distributed applications. Multi-cloud computing is the usage of
multiple, independent cloud environments, which assumed no priori agreement
between cloud providers or third party. However, multi-cloud computing has to
face several key challenges such as portability...
Debugging is a resource-consuming activity of software development. Some bugs are deeply rooted in the domain logic but others are independent of the specificity of the application being debugged. The latter are "crowd-bugs": unexpected and incorrect output or behavior resulting from a common and intuitive usage of an API. On the contrary, project-...
The development of energy-efficient software has become a key requirement for a large number of devices, from smartphones to data centers. However, measuring accurately this consumption is a major challenge that state-of-the-art approaches have tried to tackle with a limited success. While monitoring applications' consumption offers a clear insight...
Context
In software, there are the error cases that are anticipated at specification and design time, those encountered at development and testing time, and those that were never anticipated before happening in production. Is it possible to learn from the anticipated errors during design to analyze and improve the resilience against the unanticipat...
In software, there are the errors anticipated at specification and design
time, those encountered at development and testing time, and those that happen
in production mode yet never anticipated. In this paper, we aim at reasoning on
the ability of software to correctly handle unanticipated exceptions. We
propose an algorithm, called short-circuit t...
Reducing the energy footprint of digital devices and software is a task challenging the research in Green IT. Researches have proposed approaches for energy management, ranging from reducing usage of software and hardware, compilators optimization, to server consolidation and software migration. However, optimizing the energy consumption requires k...
Energy management solutions and approaches for computer systems are becoming broadly available as energy concerns are becoming mainstream. Many approaches have been proposed to manage the energy consumption of the hardware, operating system, or software layers. The widespread usage of ubiquitous devices and the high coverage of networks (Wi‐Fi and...
The development of Service Oriented Architectures (SOA) requires modeling a service development process that covers the entire lifecycle of such architectures and allows an iterative and incremental development. In addition, the change of either environment execution conditions, or requirements, during the development may require the evolution of t...
Preface to the special section on software evolution, adaptability, and maintenance of the Elsevier Science of Computing international journal
The number of connected devices in the home is growing dramatically, increasing the part of the Digital Home in the electric power demand. Reducing the overall energy consumption of the Digital Home becomes a concern in everyday life. Moving applications to the smaller set of devices enables to increase the number of devices that can be put into lo...
While scientific communities extensively exploit simulations to validate their theories, the relevance of their results strongly depends on the realism of the dataset they use as an input. This statement is particularly true when considering human activity traces, which tend to be highly unpredictable. In this paper, we therefore introduce APISENSE...
Self-adaptation mechanisms modify target systems dynamically to address adaptation goals, which may evolve continuously due to changes in system requirements. These changes affect values and thresholds of observed context variables and monitoring logic, or imply the addition and/or deletion of context variables, thus compromising self-adaptivity ef...
Traffic surges, like the Slashdot effect, occur when a web application is overloaded by a huge number of requests, potentially leading to unavailability. Unfortunately, such traffic variations are generally totally unplanned, of great amplitude, within a very short period, and a variable delay to return to a normal regime. In this report, we introd...
In the context of cloud computing, elasticity is the capacity to scale computing resources up and down easily. Currently, most Platforms as a Service (PaaS) manage application elasticity within a single cloud provider. However, the not so infrequent issue of cloud outages has become a concern that hinders the availability of cloud-based application...
With the continuous emergence of smart portable devices, like TabletPC or smartphones, crowdsensing is becoming an active research topic. While exploiting the wisdom of the crowd provides huge benefits to pervasive applications, one of the key challenges remains to motivate people to contribute to flow of data by sharing some of the capabilities of...
As our society becomes more and more digital, the corresponding demand for electric energy is increasing. Despite the power efficient design of devices, this rising trend of energy consumption does not weaken because of more and more devices used in our daily life. Collaboration strategies between devices can reduce their overall electrical consump...
Projet Econ'Home. Livrable L4.7b