diff --git a/00-READONLY-team-data.tex b/00-READONLY-team-data.tex new file mode 100644 index 0000000..493a20f --- /dev/null +++ b/00-READONLY-team-data.tex @@ -0,0 +1,4 @@ +\section*{Project-Team DIVERSE} +\addcontentsline{toc}{section}{Project-Team DIVERSE} +\raTeamHistory{Creation of the Project-Team: 2014 July 01} +\section*{Keywords} diff --git a/01-READONLY-team-members.tex b/01-READONLY-team-members.tex new file mode 100644 index 0000000..490aa0c --- /dev/null +++ b/01-READONLY-team-members.tex @@ -0,0 +1,152 @@ +\section{Team members, visitors, external collaborators} +\label{members} +%% Section Members +\begin{raMemberList}{Uncategorized} +\raMemberLine{\raMemberFirstname{Cassius} \raMemberLastname{De Oliveira Puodzius} } + +\raMemberLine{\raMemberFirstname{Jessie} \raMemberLastname{Galasso-Carbonnel} } + +\raMemberLine{\raMemberFirstname{Gwendal} \raMemberLastname{Jouneaux} [\raMemberEmployer{UNIV RENNES I}, \raMemberPeriod{from Sep 2023}]} + +\raMemberLine{\raMemberFirstname{Dorian} \raMemberLastname{Leroy} } + +\raMemberLine{\raMemberFirstname{Gunter} \raMemberLastname{Mussbacher} [\raMemberEmployer{UNIV MCGILL}, \raMemberPeriod{until May 2023}]} + +\raMemberLine{\raMemberFirstname{Yawa Germaine} \raMemberLastname{Nyatsikor} [\raMemberEmployer{UNIV RENNES I}, \raMemberPeriod{from Sep 2023}]} + +\raMemberLine{\raMemberFirstname{Quentin} \raMemberLastname{Perez} [\raMemberEmployer{UNIV RENNES I}, \raMemberPeriod{until Aug 2023}]} + +\raMemberLine{\raMemberFirstname{Benjamin} \raMemberLastname{Ramone} } + +\raMemberLine{\raMemberFirstname{Charly} \raMemberLastname{Reux} [\raMemberPeriod{from Oct 2023}]} + +\raMemberLine{\raMemberFirstname{Mark} \raMemberLastname{Van Den Brand} } +\end{raMemberList} + + +\begin{raMemberList}{Research Scientists} +\raMemberLine{\raMemberFirstname{Djamel} \raMemberLastname{Khelladi} [\raMemberEmployer{CNRS}, \raMemberFunctionPro{Researcher}]} + +\raMemberLine{\raMemberFirstname{Gunter} \raMemberLastname{Mussbacher} [\raMemberEmployer{UNIV MCGILL}, \raMemberFunctionPro{Advanced Research Position}, \raMemberPeriod{from Aug 2023}]} + +\raMemberLine{\raMemberFirstname{Gunter} \raMemberLastname{Mussbacher} [\raMemberEmployer{UNIV MCGILL}, \raMemberFunctionPro{Advanced Research Position}, \raMemberPeriod{from May 2023 until Jul 2023}]} + +\raMemberLine{\raMemberFirstname{Gunter} \raMemberLastname{Mussbacher} [\raMemberEmployer{UNIV MCGILL}, \raMemberFunctionPro{Senior Researcher}, \raMemberPeriod{from May 2023 until Jul 2023}]} + +\raMemberLine{\raMemberFirstname{Olivier} \raMemberLastname{Zendra} [\raMemberEmployer{INRIA}, \raMemberFunctionPro{Researcher}]} +\end{raMemberList} + + +\begin{raMemberList}{Faculty Members} +\raMemberLine{\raMemberFirstname{Olivier} \raMemberLastname{Barais} [\raMemberTeamLeader, \raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Professor}, \raMemberHDR]} +\raMemberLine{\raMemberFirstname{Mathieu} \raMemberLastname{Acher} [\raMemberEmployer{INSA RENNES}, \raMemberFunctionPro{Professor}, \raMemberHDR]} + +\raMemberLine{\raMemberFirstname{Aymeric} \raMemberLastname{Blot} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Professor}, \raMemberPeriod{from Sep 2023}]} + +\raMemberLine{\raMemberFirstname{Arnaud} \raMemberLastname{Blouin} [\raMemberEmployer{INSA RENNES}, \raMemberFunctionPro{Associate Professor}, \raMemberHDR]} + +\raMemberLine{\raMemberFirstname{Johann} \raMemberLastname{Bourcier} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Associate Professor}, \raMemberHDR]} + +\raMemberLine{\raMemberFirstname{Stéphanie} \raMemberLastname{Challita} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Associate Professor}]} + +\raMemberLine{\raMemberFirstname{Benoît} \raMemberLastname{Combemale} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Professor}, \raMemberHDR]} + +\raMemberLine{\raMemberFirstname{Jean-Marc} \raMemberLastname{Jezequel} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Professor}, \raMemberHDR]} + +\raMemberLine{\raMemberFirstname{Quentin} \raMemberLastname{Perez} [\raMemberEmployer{INSA RENNES}, \raMemberFunctionPro{Professor}, \raMemberPeriod{from Sep 2023}]} + +\raMemberLine{\raMemberFirstname{Noël} \raMemberLastname{Plouzeau} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Associate Professor}]} + +\raMemberLine{\raMemberFirstname{Walter} \raMemberLastname{Rudametkin Ivey} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Associate Professor}, \raMemberHDR]} + +\raMemberLine{\raMemberFirstname{Paul} \raMemberLastname{Temple} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Associate Professor}]} +\end{raMemberList} + + +\begin{raMemberList}{Post-Doctoral Fellows} +\raMemberLine{\raMemberFirstname{Faezeh} \raMemberLastname{Khorram} [\raMemberEmployer{CNRS}, \raMemberFunctionPro{Post-Doctoral Fellow}]} + +\raMemberLine{\raMemberFirstname{Xhevahire} \raMemberLastname{Ternava} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Post-Doctoral Fellow}, \raMemberPeriod{until Aug 2023}]} +\end{raMemberList} + + +\begin{raMemberList}{PhD Students} +\raMemberLine{\raMemberFirstname{Lina} \raMemberLastname{Bilal} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{PhD Student}, \raMemberPeriod{from Oct 2023}]} + +\raMemberLine{\raMemberFirstname{Ewen} \raMemberLastname{Brune} [\raMemberEmployer{INRIA}, \raMemberFunctionPro{PhD Student}, \raMemberPeriod{from Oct 2023}]} + +\raMemberLine{\raMemberFirstname{Anne} \raMemberLastname{Bumiller} [\raMemberEmployer{ORANGE}, \raMemberFunctionPro{PhD Student}, \raMemberPeriod{until Sep 2023}]} + +\raMemberLine{\raMemberFirstname{Theo} \raMemberLastname{Giraudet} [\raMemberEmployer{OBEO}, \raMemberFunctionPro{CIFRE}]} + +\raMemberLine{\raMemberFirstname{Philemon} \raMemberLastname{Houdaille} [\raMemberEmployer{CNRS}, \raMemberFunctionPro{PhD Student}, \raMemberPeriod{from Sep 2023}]} + +\raMemberLine{\raMemberFirstname{Gwendal} \raMemberLastname{Jouneaux} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{PhD Student}, \raMemberPeriod{until Aug 2023}]} + +\raMemberLine{\raMemberFirstname{Zohra} \raMemberLastname{Kebaili} [\raMemberEmployer{CNRS}, \raMemberFunctionPro{PhD Student}]} + +\raMemberLine{\raMemberFirstname{Piergiorgio} \raMemberLastname{Ladisa} [\raMemberFunctionPro{PhD Student}]} + +\raMemberLine{\raMemberFirstname{Clement} \raMemberLastname{Lahoche} [\raMemberEmployer{INRIA}, \raMemberFunctionPro{PhD Student}, \raMemberPeriod{from Dec 2023}]} + +\raMemberLine{\raMemberFirstname{Quentin} \raMemberLastname{Le Dilavrec} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{PhD Student}, \raMemberPeriod{until Oct 2023}]} + +\raMemberLine{\raMemberFirstname{Romain} \raMemberLastname{Lefeuvre} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{PhD Student}, \raMemberPeriod{from Nov 2023}]} + +\raMemberLine{\raMemberFirstname{Georges Aaron} \raMemberLastname{Randrianaina} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{PhD Student}]} + +\raMemberLine{\raMemberFirstname{Chiara} \raMemberLastname{Relevat} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{PhD Student}, \raMemberPeriod{from Sep 2023}]} + +\raMemberLine{\raMemberFirstname{Sterenn} \raMemberLastname{Roux} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{PhD Student}, \raMemberPeriod{from Oct 2023}]} +\end{raMemberList} + + +\begin{raMemberList}{Technical Staff} +\raMemberLine{\raMemberFirstname{Florian} \raMemberLastname{Badie} [\raMemberFunctionPro{Engineer}, \raMemberPeriod{until Apr 2023}]} + +\raMemberLine{\raMemberFirstname{Romain} \raMemberLastname{Belafia} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Engineer}, \raMemberPeriod{until Aug 2023}]} + +\raMemberLine{\raMemberFirstname{Emmanuel} \raMemberLastname{Chebbi} [\raMemberFunctionPro{Engineer}, \raMemberPeriod{from Feb 2023}]} + +\raMemberLine{\raMemberFirstname{Emmanuel} \raMemberLastname{Chebbi} [\raMemberEmployer{INRIA}, \raMemberFunctionPro{Engineer}, \raMemberPeriod{until Jan 2023}]} + +\raMemberLine{\raMemberFirstname{Guy} \raMemberLastname{De Spiegeleer} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Engineer}, \raMemberPeriod{until Aug 2023}]} + +\raMemberLine{\raMemberFirstname{Quentin} \raMemberLastname{Le Dilavrec} [\raMemberFunctionPro{Engineer}, \raMemberPeriod{from Nov 2023}]} + +\raMemberLine{\raMemberFirstname{Romain} \raMemberLastname{Lefeuvre} [\raMemberFunctionPro{Engineer}, \raMemberPeriod{until Oct 2023}]} +\end{raMemberList} + + +\begin{raMemberList}{Interns and Apprentices} +\raMemberLine{\raMemberFirstname{Paul} \raMemberLastname{Adam} [\raMemberEmployer{ENS RENNES}, \raMemberFunctionPro{Intern}, \raMemberPeriod{from May 2023 until Jul 2023}]} + +\raMemberLine{\raMemberFirstname{Arthur} \raMemberLastname{Allain} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Intern}, \raMemberPeriod{from May 2023 until Aug 2023}]} + +\raMemberLine{\raMemberFirstname{Yazid} \raMemberLastname{Benjamaa} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Intern}, \raMemberPeriod{from Jun 2023 until Sep 2023}]} + +\raMemberLine{\raMemberFirstname{Jeremy} \raMemberLastname{Bindel} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Intern}, \raMemberPeriod{from Jun 2023 until Sep 2023}]} + +\raMemberLine{\raMemberFirstname{Jean-Baptiste} \raMemberLastname{Doderlein} [\raMemberEmployer{ENS RENNES}, \raMemberFunctionPro{Intern}, \raMemberPeriod{from Mar 2023 until May 2023}]} + +\raMemberLine{\raMemberFirstname{Philemon} \raMemberLastname{Houdaille} [\raMemberEmployer{INRIA}, \raMemberFunctionPro{Intern}, \raMemberPeriod{until Jul 2023}]} + +\raMemberLine{\raMemberFirstname{Margaux} \raMemberLastname{Millour} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Intern}, \raMemberPeriod{from Jun 2023 until Jul 2023}]} + +\raMemberLine{\raMemberFirstname{Bastien} \raMemberLastname{Sauvat} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Intern}, \raMemberPeriod{from Jun 2023 until Sep 2023}]} + +\raMemberLine{\raMemberFirstname{Abdullah} \raMemberLastname{Sen} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Intern}, \raMemberPeriod{from May 2023 until Jul 2023}]} + +\raMemberLine{\raMemberFirstname{Cyriaque} \raMemberLastname{Tossou} [\raMemberEmployer{UNIV RENNES I}, \raMemberFunctionPro{Intern}, \raMemberPeriod{from May 2023 until Aug 2023}]} +\end{raMemberList} + + +\begin{raMemberList}{Administrative Assistant} +\raMemberLine{\raMemberFirstname{Sophie} \raMemberLastname{Maupile} [\raMemberEmployer{CNRS}]} +\end{raMemberList} + + +\begin{raMemberList}{External Collaborator} +\raMemberLine{\raMemberFirstname{Gurvan} \raMemberLastname{Le Guernic} [\raMemberEmployer{DGA}]} +\end{raMemberList} + diff --git a/02-overall-objectives.tex b/02-overall-objectives.tex new file mode 100644 index 0000000..75b6748 --- /dev/null +++ b/02-overall-objectives.tex @@ -0,0 +1,59 @@ + + +% [doc] ----------------------------- +% [doc] Instructions +% [doc] ----------------------------- +% [doc] https://intranet.inria.fr/Vie-scientifique/Information-edition-scientifiques/RADAR/Structure-du-rapport +% [doc] ----------------------------- + +%% [BEGIN last year imported content] + + + + + + +% [radar] ----------------------------------- +% [radar] Do not alter this section title +\section{Overall objectives} +\label{diverse:context} +% [radar] ----------------------------------- + + + +%% --------------------------------------- +%\subsection{Overall objectives} +%\label{presentation:overall} +%% --------------------------------------- + + + \team{}'s research agenda targets core values of software engineering. + In this fundamental domain we focus on and develop models, methodologies and theories to address major challenges raised by the emergence of several forms of diversity in the design, deployment and evolution of software-intensive systems. +Software diversity has emerged as an essential phenomenon in all application domains borne by our industrial partners. These application domains range from complex systems brought by systems of systems (addressed in collaboration with Thales, Safran, CEA and DGA) and Instrumentation and Control (addressed with EDF) to pervasive combinations of Internet of Things and Internet of Services (addressed with TellU and Orange) and tactical information systems (addressed in collaboration with civil security services). + Today these systems seem to be all radically different, but we envision a strong convergence of the scientific principles that underpin their construction and validation, bringing forwards sane and reliable methods for the design of \textbf{flexible and open yet dependable systems}. + Flexibility and openness are both critical and challenging software layer properties that must deal with the following four dimensions of diversity: \textbf{diversity of languages}, used by the stakeholders involved in the construction of these systems; \textbf{diversity of features}, required by the different customers; \textbf{diversity of runtime environments}, where software has to run and adapted; \textbf{diversity of implementations}, which are necessary for resilience by redundancy. + + In this context, the central software engineering challenge consists in handling \textbf{diversity} from variability in requirements and design to heterogeneous and dynamic execution environments. + In particular, this requires considering that the software system must adapt, in unpredictable yet valid ways, to changes in the requirements as well as in its environment. + Conversely, explicitly handling diversity is a great opportunity to allow software to spontaneously explore alternative design solutions, and to mitigate security risks. + + Concretely, we want to provide software engineers with the following abilities: + \begin{itemize}\itemsep0cm + \item to characterize an ``envelope'' of possible variations; + \item to compose envelopes (to discover new macro correctness envelopes in an opportunistic manner); + \item to dynamically synthesize software inside a given envelope. + \end{itemize} + + The major scientific objective that we must achieve to provide such mechanisms for software engineering is summarized below: + + \textbf{Scientific objective for \team{}:} To automatically \textbf{compose and synthesize software diversity} from design to runtime to \textbf{address unpredictable evolution of software-intensive systems} + + Software product lines and associated variability modeling formalisms represent an essential aspect of software diversity, which we already explored in the past, and this aspect stands as a major foundation of \team{}'s research agenda. + However, \team{} also exploits other foundations to handle new forms of diversity: type theory and models of computation for the composition of languages; distributed algorithms and pervasive computation to handle the diversity of execution platforms; functional and qualitative randomized transformations to synthesize diversity for robust systems. + + + + + + +%% [END last year imported content] diff --git a/03-research-program.tex b/03-research-program.tex new file mode 100644 index 0000000..20c57e2 --- /dev/null +++ b/03-research-program.tex @@ -0,0 +1,356 @@ + + +% [doc] ----------------------------- +% [doc] Instructions +% [doc] ----------------------------- +% [doc] https://intranet.inria.fr/Vie-scientifique/Information-edition-scientifiques/RADAR/Structure-du-rapport +% [doc] ----------------------------- + +%% [BEGIN last year imported content] + + + + + + +% [radar] ----------------------------------- +% [radar] Do not alter this section title +\section{Research program} +\label{diverse:research} +% [radar] ----------------------------------- + +\subsection{Context} + +Applications are becoming more complex and the demand for faster development is increasing. In order to better adapt to the unbridled evolution of requirements in markets where software plays an essential role, companies are changing the way they design, develop, secure and deploy applications, by relying on: + +\begin{itemize} + \item A massive use of reusable libraries from a rich but fragmented eco-system; + \item An increasing configurability of most of the produced software; + \item A strongly increase in evolution frequency; + \item Cloud-native architectures based on containers, naturally leading to a diversity of programming languages used, and to the emergence of infrastructure, dependency, project and deployment descriptors (models); +\item Implementations of fully automated software supply chains; +\item The use of lowcode/nocode platforms; +\item The use of ever richer integrated development environments (IDEs), more and more deployed in SaaS mode; +\item The massive use of data and artificial intelligence techniques in software production chains. +\end{itemize} + +\bigskip\noindent These trends are set to continue, all the while with a strong concern about the security properties of the produced and distributed software. + + +\noindent The numbers in the examples below help to understand why this evolution of modern software engineering brings a \textbf{change of dimension}: +\begin{itemize} + \item When designing a simple kitchen sink (\textit{hello world}) with the {\tt angular} framework, more than 1600 dependencies of JavaScript libraries are pulled. + \item The numbers revealed by Google in~2018 showed that over 500~million tests are run \emph{per day} inside Google’s systems, leading to over 4 millions daily builds. + \item Also at Google, they reported 86~TB of data, including two billion lines of code in nine million source files \footcite{potvin2016google}. Their software also rapidly evolves both in terms of frequency and in terms of size. Again, at Google, 25,000 developers typically commit 16,000 changes to the codebase on a single workday. This is also the case for most of software code, including open source software. + \item x264, a highly popular and configurable video encoder, provides 100+ options that can take boolean, integer or string values. + There are different ways of compiling x264, and it is well-known that the compiler options (e.g., -O1 –O2 –O3 of gcc) can influence the performance of a software; the widely used gcc compiler, for example, offers more than 200~options. + The x264 encoder can be executed on different configurations of the Linux operating system, whose options may in turn influence x264 execution time; in recent versions ($>$ 5), there are 16000+ options to the Linux kernel. + Last but not least, x264 should be able to encode many different videos, in different formats and with different visual properties, implying a + huge variability of the input space. + Overall, the variability space is enormous, and ideally x264 should be run and tested in all these settings. + But a rough estimation shows that the number of possible configurations, resulting from the combination of the different variability layers, is~$10^{6000}$. + \end{itemize} + + +The \team{} research project is working and evolving in the context of this acceleration. +We are active at all stages of the \textbf{software supply chain}. +Software supply chain covers all the activities and all the stakeholders that relate to software production and delivery. +All these activities and stakeholders have to be smartly managed together as part of an overall strategy. +The goal of supply chain management (SCM) is to meet customer demands with the most efficient use of resources possible. + +In this context, \team{} is particularly interested in the following research questions: +\begin{itemize} +\item How to engineer tool-based abstractions for a given set of experts in order to foster their socio-technical collaboration; +\item How to generate and exploit useful data for the optimization of this supply chain, in particular for the control of variability and the management of the co-evolution of the various software artifacts; +\item How to increase the confidence in the produced software, by working on the resilience and security of the artifacts produced throughout this supply chain. +\end{itemize} + + +%% --------------------------------------- +\subsection{Scientific background} +\label{fondements:sota} +%% --------------------------------------- + +\label{sec:sota} + +\subsubsection{Model-Driven Engineering} + +Model-Driven Engineering (MDE) aims at reducing the accidental complexity associated with developing complex software-intensive systems (e.g., use of abstractions of the problem space rather than abstractions of the solution space)~ \footcite{Schmidt06}. It provides \team{} with solid foundations to specify, analyze and reason about the different forms of diversity that occur throughout the development life cycle. A primary source of accidental complexity is the wide gap between the concepts used by domain experts and the low-level abstractions provided by general-purpose programming languages~ \footcite{France07}. MDE approaches address this problem through modeling techniques that support separation of concerns and automated generation of major system artifacts from models (\emph{e.g.,} test cases, implementations, deployment and configuration scripts). In MDE, a model describes an aspect of a system and is typically created or derived for specific development purposes~ \footcite{BAN04}. Separation of concerns is supported through the use of different modeling languages, each providing constructs based on abstractions that are specific to an aspect of a system. MDE technologies also provide support for manipulating models, for example, support for querying, slicing, transforming, merging, and analyzing (including executing) models. Modeling languages are thus at the core of MDE, which participates in the development of a sound \emph{Software Language Engineering}, including a unified typing theory that integrates models as first class entities~ \footcite{Steel07a}. + +Incorporating domain-specific concepts and a high-quality development experience into MDE technologies can significantly improve developer productivity and system quality. Since the late nineties, this realization has led to work on MDE language workbenches that support the development of domain-specific modeling languages (DSMLs) and associated tools (\emph{e.g.,} model editors and code generators). A DSML provides a bridge between the field in which domain experts work and the implementation (programming) field. Domains in which DSMLs have been developed and used include, among others, automotive, avionics, and cyber-physical systems. A study performed by Hutchinson et al.~ \footcite{Hutchinson11} indicates that DSMLs can pave the way for wider industrial adoption of MDE. + +More recently, the emergence of new classes of systems that are complex and operate in heterogeneous and rapidly changing environments raises new challenges for the software engineering community. These systems must be adaptable, flexible, reconfigurable and, increasingly, self-managing. Such characteristics make systems more prone to failure when running and thus the development and study of appropriate mechanisms for continuous design and runtime validation and monitoring are needed. In the MDE community, research is focused primarily on using models at the design, implementation, and deployment stages of development. This work has been highly productive, with several techniques now entering a commercialization phase. As software systems are becoming more and more dynamic, the use of model-driven techniques for validating and monitoring runtime behavior is extremely promising~\footcite{Morin09f}. + +\subsubsection{Variability modeling} +\label{sec:variability} +While the basic vision underlying \textit{Software Product Lines} (SPL) can +probably be traced back to David Parnas' seminal article~ \footcite{parnas1976} on +the Design and Development of Program Families, it is only quite recently that +SPLs have started emerging as a paradigm shift towards modeling and developing +software system families rather than individual +systems~ \footcite{Northrop1999a}. SPL engineering embraces the ideas of mass +customization and software reuse. It focuses on the means of efficiently +producing and maintaining multiple related software products, exploiting what +they have in common and managing what varies among them. + +Several definitions of the \emph{software product line} concept can be found +in the research literature. Clements \textit{et~al.} define it as \textit{a set of +software-intensive systems sharing a common, managed set of features that +satisfy the specific needs of a particular market segment or mission and are +developed from a common set of core assets in a prescribed way}~ + \footcite{Northrop2002}. Bosch provides a different definition \footcite{Bosch2000}: +\textit{A SPL consists of a product line architecture and a set of reusable +components designed for incorporation into the product line architecture. In +addition, the PL consists of the software products developed using the +mentioned reusable assets}. In spite of the similarities, these definitions +provide different perspectives of the concept: \textit{market-driven}, as seen +by Clements \textit{et~al.}, and \textit{technology-oriented} for Bosch. + +SPL engineering is a process focusing on capturing the \textit{commonalities} +(assumptions true for each family member) and \textit{variability} +(assumptions about how individual family members differ) between several +software products~ \footcite{Coplien1998}. Instead of describing a single software +system, a SPL model describes a set of products in the same domain. This is +accomplished by distinguishing between elements common to all SPL members, and +those that may vary from one product to another. Reuse of core assets, which +form the basis of the product line, is key to productivity and quality +gains. These core assets extend beyond simple code reuse and may include the +architecture, software components, domain models, requirements statements, +documentation, test plans or test cases. + +The SPL engineering process consists of two major steps: +\begin{enumerate} +\item \textbf{Domain Engineering}, or \emph{development for reuse}, focuses on +core assets development. +\item \textbf{Application Engineering}, or \emph{development with reuse}, +addresses the development of the final products using core assets and +following customer requirements. +\end{enumerate} + +Central to both processes is the management of \textbf{variability} across +the product line~ \footcite{halmans2003}. In common language use, the term +\textit{variability} refers to \textit{the ability or the tendency to +change}. Variability management is thus seen as the key feature that +distinguishes SPL engineering from other software development approaches~ \footcite{Bosch2002}. Variability management is thus increasingly seen as the +cornerstone of SPL development, covering the entire development life cycle, +from requirements elicitation~ \footcite{Jean-ChristopheTRIGAUX2003} to product +derivation~ \footcite{Ziadi2006a} to product testing~ \footcite{nebut03b,Nebut06b}. + +Halmans \textit{et~al.}~ \footcite{halmans2003} distinguish between \textit{essential} and +\textit{technical} variability, especially at the requirements level. Essential +variability corresponds to the customer's viewpoint, defining what to +implement, while technical variability relates to product family engineering, +defining how to implement it. A classification based on the dimensions of +variability is proposed by Pohl \textit{et~al.}~ \footcite{Pohl2005}: beyond +\textbf{variability in time} (existence of different versions of an artifact +that are valid at different times) and \textbf{variability in space} +(existence of an artifact in different shapes at the same time) Pohl \textit{et~al.} claim that variability is important to different stakeholders and thus has +different levels of visibility: \textbf{external variability} is visible to +the customers while \textbf{internal variability}, that of domain artifacts, +is hidden from them. Other classification proposals come from Meekel \textit{et~al.}~ \footcite{Meekel1998} (feature, hardware platform, performance and attributes +variability) or Bass \textit{et~al.}~ \footcite{BachmannEtAl2001} who discusses about variability +at the architectural level. + +Central to the modeling of variability is the notion of \textit{feature}, +originally defined by Kang \textit{et~al.} as: \textit{a prominent or distinctive user-visible +aspect, quality or characteristic of a software system or +systems}~ \footcite{Kang1990}. Based on this notion of \textit{feature}, they proposed to use a +\textit{feature model} to model the variability in a SPL. A +feature model consists of a \textit{feature diagram} and other associated +information: \textit{constraints} and \textit{dependency rules}. Feature +diagrams provide a \textit{graphical tree-like notation depicting the +hierarchical organization of high level product functionalities} represented +as features. The root of the tree refers to the complete system and is +progressively decomposed into more refined features (tree nodes). Relations +between nodes (features) are materialized by \textit{decomposition edges} and +\textit{textual constraints}. Variability can be expressed in several +ways. Presence or absence of a feature from a product is modeled using +\textit{mandatory} or \textit{optional features}. Features are graphically +represented as rectangles while some graphical elements (e.g., unfilled +circle) are used to describe the variability (e.g., a feature may be +optional). + +Features can be organized into \textit{feature groups}. Boolean operators +\textit{exclusive alternative (XOR)}, \textit{inclusive alternative (OR)} or +\textit{inclusive (AND)} are used to select one, several or all the features +from a feature group. Dependencies between features can be modeled using +\textit{textual constraints}: \textit{requires} (presence of a feature requires +the presence of another), \textit{mutex} (presence of a feature automatically +excludes another). Feature attributes can be also used for modeling quantitative (e.g., numerical) information. +Constraints over attributes and features can be specified as well. + +Modeling variability allows an organization to capture and select which +version of which variant of any particular aspect is wanted in the +system~ \footcite{Bosch2002}. To implement it cheaply, quickly and safely, redoing by hand +the tedious weaving of every aspect is not an option: some form of automation +is needed to leverage the modeling of +variability~\footcite{batory2002}. Model Driven Engineering (MDE) +makes it possible to automate this weaving process~ \footcite{Jezequel08a}. This +requires that models are no longer informal, and that the weaving process is +itself described as a program (which is as a matter of fact an executable +meta-model~ \footcite{Muller05a}) manipulating these models to produce for instance a +detailed design that can ultimately be transformed to code, or to test +suites~ \footcite{Pickin07a}, or other software artifacts. + +\subsubsection{Component-based software development} + +Component-based software development~ \footcite{szyperski2002component} aims at providing reliable software architectures with a low cost of design. +Components are now used routinely in many domains of software system designs: +distributed systems, user interaction, product lines, embedded systems, etc. +With respect to more traditional software artifacts (e.g., object oriented architectures), +modern component models have the following distinctive features~ \footcite{crnkovic2011classification}: +description of requirements on services required from the other components; +indirect connections between components thanks to ports and connectors constructs~ \footcite{lau2005exogenous}; +hierarchical definition of components (assemblies of components can define new component types); +connectors supporting various communication semantics~ \footcite{bures2006sofa}; +quantitative properties on the services~ \footcite{beugnard2010contract}. + +In recent years component-based architectures have evolved from static designs to dynamic, adaptive designs (e.g., SOFA~ \footcite{bures2006sofa}, Palladio~ \footcite{Becker:2009cl}, Frascati~ \footcite{Melisson:2010it}). +Processes for building a system using a statically designed architecture are made of the following sequential lifecycle stages: requirements, modeling, implementation, packaging, deployment, system launch, system execution, system shutdown and system removal. +If for any reason after design time architectural changes are needed after system launch (e.g., because requirements changed, or the implementation platform has evolved, etc) then the design process must be reexecuted from scratch +(unless the changes are limited to parameter adjustment in the components deployed). + +Dynamic designs allow for \textit{on the fly} redesign of a component based system. +A process for dynamic adaptation is able to reapply the design phases while the system is up and running, without stopping it (this is different from a stop/redeploy/start process). +Dynamic adaptation processes support \textit{chosen adaptation}, when changes are planned and realized to maintain a good fit between the needs that the system must support and the way it supports them~ \footcite{Kramer:2007kv}. +Dynamic component-based designs rely on a component meta-model that supports complex life cycles for components, connectors, service specification, etc. +Advanced dynamic designs can also take platform changes into account at runtime, without human intervention, by adapting themselves~ \footcite{Cheng:2009hh,Vromant:NPd9bKZ}. +Platform changes and more generally environmental changes trigger \textit{imposed adaptation}, when the system can no longer use its design to provide the services it must support. +In order to support an eternal system~ \footcite{Bencomo:2009tm}, dynamic component based systems must separate architectural design and platform compatibility. +This requires support for heterogeneity, since platform evolution can be partial. + +The Models@runtime paradigm denotes a model-driven approach aiming at taming the complexity of dynamic software systems. It basically pushes the idea of reflection one step further by considering the reflection layer as a real model ``something simpler, safer or cheaper than reality to avoid the complexity, danger and irreversibility of reality~ \footcite{Rothenberg89thenature}''. In practice, component-based (and/or service-based) platforms offer reflection APIs that make it possible to introspect the system (to determine which components and bindings are currently in place in the system) and dynamic adaptation (by applying CRUD operations on these components and bindings). While some of these platforms offer rollback mechanisms to recover after an erroneous adaptation, the idea of Models@runtime is to prevent the system from actually enacting an erroneous adaptation. In other words, the ``model at run-time'' is a reflection model that can be uncoupled (for reasoning, validation, simulation purposes) and automatically resynchronized. + +Heterogeneity is a key challenge for modern component based systems. +Until recently, component based techniques were designed to address a specific domain, such as embedded software for command and control, or distributed Web based service oriented architectures. +The emergence of the Internet of Things paradigm calls for a unified approach in component based design techniques. +By implementing an efficient separation of concern between platform independent architecture management and platform dependent implementations, +\textit{Models@runtime} is now established as a key technique to support dynamic component based designs. It provides \team{} with an essential foundation to explore an adaptation envelope at run-time. +The goal is to automatically explore a set of alternatives and assess their relevance with respect to the considered problem. +These techniques have been applied to craft software architecture exhibiting high quality of services properties~ \footcite{frey2013search}. +Multi Objectives Search based techniques~ \footcite{deb2002fast} deal with optimization problem containing several (possibly conflicting) dimensions to optimize. +These techniques provide \team{} with the scientific foundations for reasoning and efficiently exploring an envelope of software configurations at run-time. + +\subsubsection{Validation and verification} + +Validation and verification (V\&V) theories and techniques provide the means to assess the validity of a software system with respect to a specific correctness envelope. As such, they form an essential element of \team{}'s scientific background. In particular, we focus on model-based V\&V in order to leverage the different models that specify the envelope at different moments of the software development lifecycle. + +Model-based testing consists in analyzing a formal model of a system (\textit{e.g.}, activity diagrams, which capture high-level requirements about the system, statecharts, which capture the expected behavior of a software module, or a feature model, which describes all possible variants of the system) in order to generate test cases that will be executed against the system. Model-based testing~ \footcite{utting2010practical} mainly relies on model analysis, constraint solving~ \footcite{demilli1991constraint} and search-based reasoning~ \footcite{mcminn2004search}. \team{} leverages in particular the applications of model-based testing in the context of highly-configurable systems and \footcite{yilmaz2006covering} interactive systems~ \footcite{memon2007event} as well as recent advances based on diversity for test cases selection~ \footcite{HemmatiBAA10}. + +Nowadays, it is possible to simulate various kinds of models. Existing tools range from industrial tools such as \href{https://fr.mathworks.com/products/simulink.html}{Simulink}, \href{https://www.ibm.com/fr-fr/products/architect-for-software}{Rhapsody} or \href{https://www.ibm.com/support/pages/ibm-telelogic-rhapsody-74}{Telelogic} to academic approaches like Omega~\footcite{ober2006validating}, or \href{http://www.primordion.com/Xholon/}{Xholon}. +All these simulation environments operate on homogeneous environment models. However, to handle diversity in software systems, we also leverage recent advances in heterogeneous simulation. +Ptolemy~ \footcite{buck1994ptolemy} proposes a common abstract syntax, which represents +the description of the model structure. These elements can be decorated using different +directors that reflect the application of a specific model of computation on the model element. +Metropolis~ \footcite{balarin2003metropolis} provides modeling elements amenable to semantically +equivalent mathematical models. Metropolis offers a precise semantics flexible enough to +support different models of computation. +ModHel'X~ \footcite{hardebolle2008modhel} studies the composition of multi-paradigm models relying on +different models of computation. + +Model-based testing and simulation are complemented by runtime fault-tolerance through the automatic generation of software variants that can run in parallel, to tackle the open nature of software-intensive systems. The foundations in this case are the seminal work about N-version programming ~ \footcite{avizienis85}, recovery blocks~ \footcite{randell75} and code randomization~ \footcite{barrantes05}, which demonstrated the central role of diversity in software to ensure runtime resilience of complex systems. Such techniques rely on truly diverse software solutions in order to provide systems with the ability to react to events, which could not be predicted at design time and checked through testing or simulation. + +\subsubsection{Empirical software engineering} + +The rigorous, scientific evaluation of \team{}'s contributions is an essential aspect of our research methodology. In addition to theoretical validation through formal analysis or complexity estimation, we also aim at applying state-of-the-art methodologies and principles of empirical software engineering. This approach encompasses a set of techniques for the sound validation contributions in the field of software engineering, ranging from statistically sound comparisons of techniques and large-scale data analysis to interviews and systematic literature reviews~ \footcite{shull2008guide, runeson2009guidelines}. Such methods have been used for example to understand the impact of new software development paradigms~ \footcite{briand1999empirical}. Experimental design and statistical tests represent another major aspect of empirical software engineering. Addressing large-scale software engineering problems often requires the application of heuristics, and it is important to understand their effects through sound statistical analyses~ \footcite{ArcuriB11}. + + +%% --------------------------------------- +\subsection{Research axis} +\label{fondements:axis} +%% --------------------------------------- + +\team{} explore \emph{Software Diversity}. +Leveraging our strong background on Model-Driven Engineering, and our large expertise on several related fields (programming languages, distributed systems, GUI, machine learning, security...), \emph{we explore tools and methods to embrace the inherent diversity in software engineering}, from the stakeholders and underlying tool-supported languages involved in the software system life cycle, to the configuration and evolution space of the modern software systems, and the heterogeneity of the targeted execution platforms. Hence, we organize our research directions according to three axes (cf. Fig.~\ref{fig:perspectives}): +\begin{itemize} +\item \textbf{Axis \#1: Software Language Engineering.} We explore the future engineering and scientific environments to support the socio-technical coordination among the various stakeholders involved across modern software system life cycles. +\item \textbf{Axis \#2: Spatio-temporal Variability in Software and Systems.} We explore systematic and automatic approaches to cope with software variability, both in space (software variants) and time (software maintenance and evolution). +\item \textbf{Axis \#3: DevSecOps and Resilience Engineering for Software and Systems.} We explore smart continuous integration and deployment pipelines to ensure the delivery of secure and resilient software systems on heterogeneous execution platforms (cloud, IoT\ldots). +\end{itemize} + +\begin{figure}[h] +\centering +\includegraphics[width=0.7\columnwidth]{IMG/perspectives.pdf} +\caption{The three research axes of \team{}, relying on model driven engineering scientific background and leveraging several related fields} +\label{fig:perspectives} +\altdesc{The three research axes of \team{}, relying on model driven engineering scientific background and leveraging several related fields} +\end{figure} + +%%%%%%%%%%%%%% + + \subsubsection{Axis \#1: Software Language Engineering} \label{sec:future-axis1-SLE} + + +\paragraph{Overall objective.} The disruptive design of new, complex systems requires a high degree of flexibility in the communication between many stakeholders, often limited by the silo-like structure of the organization itself (cf. Conway’s law). To overcome this constraint, modern engineering environments aim to: (i)~better manage the necessary exchanges between the different stakeholders; (ii)~provide a unique and usable place for information sharing; and (iii)~ensure the consistency of the many points of view. +Software languages are the key pivot between the \emph{diverse} stakeholders involved, and the software systems they have to implement. +Domain-Specific (Modeling) Languages enable stakeholders to address the \emph{diverse} concerns through specific points of view, and their coordinated use is essential to support the socio-technical coordination across the overall software system life cycle. + + +Our perspectives on Software Language Engineering over the next period is presented in Figure~\ref{fig:perspectives-sle} and detailed in the following paragraphs. + +\begin{figure}[h] +\centering +\includegraphics[width=\columnwidth]{IMG/sle.pdf} +\caption{Perspectives on Software Language Engineering (axis \#1)} +\label{fig:perspectives-sle} +\altdesc{Perspectives on Software Language Engineering (axis \#1)} +\end{figure} + +\paragraph{DSL Executability.} Providing rich and adequate environments is key to the adoption of domain-specific languages. In particular, we focus on tools that support model and program execution. We explore the foundations to define the required concerns in language specification, and systematic approaches to derive environments (\emph{e.g.,} IDE, notebook, design labs) including debuggers, animators, simulators, loggers, monitors, trade-off analysis, etc. + +\paragraph{Modular \& Distributed IDE.} IDEs are indispensable companions to software languages. They are increasingly turning towards Web-based platforms, heavily relying on cloud infrastructures and forges. Since all language services require different computing capacities and response times (to guarantee a user-friendly experience within the IDE) and use shared resources (\emph{e.g.,} the program), we explore new architectures for their modularization and systematic approaches for their individual deployment and dynamic adaptation within an IDE. To cope with the ever-growing number of programming languages, manufacturers of Integrated Development Environments (IDE) have recently defined protocols as a way to use and share multiple language services in language-agnostic environments. These protocols rely on a proper specification of the services that are commonly found in the tool support of general-purpose languages, and define a fixed set of capabilities to offer in the IDE. However, new languages regularly appear offering unique constructs (e.g., DSLs), and which are supported by dedicated services to be offered as new capabilities in IDEs. This trend leads to the multiplication of new protocols, hard to combine and possibly incompatible (e.g., overlap, different technological stacks). Beyond the proposition of specific protocols, we will explore an original approach to be able to specify language protocols and to offer IDEs to be configured with such protocol specifications. IDEs went from directly supporting languages to protocols, and we envision the next step: \emph{IDE as code}, where language protocols are created or inferred on demand and serve as support of an adaptation loop taking in charge of the (re)configuration of the IDE. + +\paragraph{Design Lab.} Web-based and cloud-native IDEs open new opportunities to bridge the gap between the IDE and collaborative platforms, \emph{e.g.,} forges. In the complex world of software systems, we explore new approaches to reduce the distance between the various stakeholders (e.g., systems engineers and all those involved in specialty engineering) and to improve the interactions between them through an adapted tool chain. We aim to improve the usability of development cycles with efficiency, affordance and satisfaction. We also explore new approaches to explore and interact with the design space or other concerns such as human values or security, and provide facilities for trade-off analysis and decision making in the the context of software and system designs. + +\paragraph{Live \& Polyglot Development.} As of today, polyglot development is massively popular and virtually all software systems put multiple languages to use, which not only complexifies their development, but also their evolution and maintenance. Moreover, as software are more used in new application domains (e.g., data analytics, health or scientific computing), it is crucial to ease the participation of scientists, decision-makers, and more generally non-software experts. Live programming makes it possible to change a program while it is running, by propagating changes on a program code to its run-time state. This effectively bridges the gulf of evaluation between program writing and program execution: the effects a change has on the running system are immediately visible, and the developer can take immediate action. The challenges at the intersection of polyglot and live programming have received little attention so far, and we envision a language design and implementation approach to specify domain-specific languages and their coordination, and automatically provide interactive domain-specific environments for live and polyglot programming. + +\paragraph{Self-Adaptable Language.} Over recent years, self-adaptation has become a concern for many software systems that operate in complex and changing environments. At the core of self-adaptation lies a feedback loop and its associated trade-off reasoning, to decide on the best course of action. However, existing software languages do not abstract the development and execution of such feedback loops for self-adaptable systems. Developers have to fall back to ad-hoc solutions to implement self-adaptable systems, often with wide-ranging design implications (e.g., explicit MAPE-K loop). Furthermore, existing software languages do not capitalize on monitored usage data of a language and its modeling environment. This hinders the continuous and automatic evolution of a software language based on feedback loops from the modeling environment and runtime software system. To address the aforementioned issues, we will explore the concept of Self-Adaptable Language (SAL) to abstract the feedback loops at both system and language levels. + + + \subsubsection{Axis \#2: Spatio-temporal Variability in Software and Systems} \label{sec:future-axis2-variability} + + + +\paragraph{Overall objective.} Leveraging our longstanding activity on variability management for software product lines and configurable systems covering \emph{diverse} scenarios of use, we will investigate over the next period the impact of such a variability across the \emph{diverse} layers, incl. source code, input/output data, compilation chain, operating systems and underlying execution platforms. We envision a better support and assistance for the configuration and optimisation (e.g., non-functional properties) of software systems according to this deep variability. Moreover, as software systems involve \emph{diverse} artefacts (\emph{e.g.,} APIs, tests, models, scripts, data, cloud services, documentation, deployment descriptors...), we will investigate their continuous co-evolution during the overall lifecycle, including maintenance and evolution. Our perspectives on spatio-temporal variability over the next period is presented in Figure~\ref{fig:perspectives-variability} and is detailed in the following paragraphs. + +\begin{figure}[h] +\centering +\includegraphics[width=\columnwidth]{IMG/variability.pdf} +\caption{Perspectives on Spatio-temporal Variability in Software and Systems (axis \#2)} +\label{fig:perspectives-variability} +\altdesc{Perspectives on Spatio-temporal Variability in Software and Systems (axis \#2)} +\end{figure} + +\paragraph{Deep Software Variability.} Software systems can be configured to reach specific functional goals and non-functional performance, either statically at compile time or through the choice of command line options at runtime. We observed that considering the software layer only might be a naive approach to tune the performance of the system or to test its functional correctness. In fact, many layers (hardware, operating system, input data, etc.), which are themselves subject to variability, can alter the performance or functionalities of software configurations. We call \emph{deep software variability} the interaction of all variability layers that could modify the behavior or non-functional properties of a software. Deep software variability calls to investigate how to systematically handle cross-layer configuration. The diversification of the different layers is also an opportunity to test the robustness and resilience of the software layer in multiple environments. Another interesting challenge is to tune the software for one specific executing environment. In essence, deep software variability questions the generalization of the configuration knowledge. + +\paragraph{Continuous Software Evolution.} Nowadays, software development has become more and more complex, involving various artefacts, such as APIs, tests, models, scripts, data, cloud services, documentation, etc., and embedding millions of lines of code (LOC). Recent evidence highlights continuous software evolution based on thousands of commits, hundreds of releases, all done by thousands of developers. We focus on the following essential backbone dimensions in software engineering: languages, models, APIs, tests and deployment descriptors, all revolving around software code implementation. We will explore the foundations of a multidimensional and polyglot co-evolution platform, and will provide a better understanding with new empirical evidence and knowledge. + + + \subsubsection{Axis \#3: DevSecOps and Resilience Engineering for Software and Systems} \label{ sec:future-axis3-DevSecOps} + +\paragraph{Overall objective.} The production and delivery of modern software systems involves the integration of \emph{diverse} dependencies and continuous deployment on \emph{diverse} execution platforms in the form of large distributed socio-technical systems. +This leads to new software architectures and programming models, as well as complex supply chains for final delivery to system users. +In order to boost cybersecurity, we want to provide strong support to software engineers and IT teams in the development and delivery of secure and resilient software systems, ie. systems able to resist or recover from cyberattacks. +Our perspectives on DevSecOps and Resilience Engineering over the next period are presented in Figure~\ref{fig:perspectives-devsecops} and detailed in the following paragraphs. + + +\begin{figure}[ht] +\centering +\includegraphics[width=.8\columnwidth]{IMG/devsecops.pdf} +\caption{Perspectives on DevSecOps and Resilience Eng. for Software and Systems (axis \#3)} +\label{fig:perspectives-devsecops} +\altdesc{Perspectives on DevSecOps and Resilience Eng. for Software and Systems (axis \#3)} +\end{figure} + +\paragraph{Secure \& Resilient Architecture.} Continuous integration and deployment pipelines are processes implementing complex software supply chains. We envision an explicit and early consideration of security properties in such pipelines to help in detecting vulnerabilities. In particular, we integrate the security concern in Model-Based System Analysis (MBSA) approaches, and explore guidelines, tools and methods to drive the definition of secure and resilient architectures. We also investigate resilience at runtime through frameworks for autonomic computing and data-centric applications, both for the software systems and the associated deployment descriptors. + +\paragraph{Smart CI/CD.} Dependencies management, Infrastructure as Code (IaC) and DevOps practices open opportunities to analyze complex supply chains. We aim at providing relevant metrics to evaluate and ensure the security of such supply chains, advanced assistants to help in specifying corresponding pipelines, and new approaches to optimize them (\emph{e.g.,} software debloating, scalability\ldots). +We study how supply chains can actively leverage software variability and diversity to increase cybersecurity and resilience. + +\paragraph{Secure Supply Chain.} In order to produce secure and resilient software systems, we explore new secure-by-design foundations that integrate security concerns as first class entities through a seamless continuum from the design to the continuous integration and deployment. +We explore new models, architectures, inter-relations, and static and dynamic analyses that rely on explicitly expressed security concerns to ensure a secure and resilient supply chain. +We lead research on automatic vulnerability and malware detection in modern supply chains, considering the various artefacts either as white boxes enabling source code analysis (to avoid accidental vulnerabilities or intentional ones or code poisoning), or as black boxes requiring binary analysis (to find malware or vulnerabilities). +We also conduct research activities in dependencies and deployment descriptors security analysis. + + +%% [END last year imported content] diff --git a/04-application-domains.tex b/04-application-domains.tex new file mode 100644 index 0000000..ad20bd6 --- /dev/null +++ b/04-application-domains.tex @@ -0,0 +1,36 @@ + + +% [doc] ----------------------------- +% [doc] Instructions +% [doc] ----------------------------- +% [doc] https://intranet.inria.fr/Vie-scientifique/Information-edition-scientifiques/RADAR/Structure-du-rapport +% [doc] ----------------------------- + +%% [BEGIN last year imported content] + + + + + + +% [radar] ----------------------------------- +% [radar] Do not alter this section title +\section{Application domains} +\label{diverse:domain} +% [radar] ----------------------------------- +Information technology affects all areas of society. The need to develop software systems is therefore present in a huge number of application domains. One of the goals of software engineering is to \textit{apply a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software} whatever the application domain. + +As a result, the team covers a wide range of application domains and never refrains from exploring a particular field of application. +Our primary expertise is in complex, heterogeneous and distributed systems. While we historically collaborated with partners in the field of systems engineering, it should be noted that for several years now, we have investigated several new areas in depth: +\begin{itemize} +\item the field of web applications, with the associated design principles and architectures, for applications ranging from cloud-native applications to the design of modern web front-ends. +\item the field of scientific computing in connection with the CEA DAM, Safran and scientists from other disciplines such as the ecologists of the University of Rennes. In this field where the writing of complex software is common, we explore how we could help scientists to use software engineering approach, in particular, the use of SLE and approximate computing techniques. +\item the field of large software systems such as the Linux kernel or other open-source projects. In this field, we explore, in particular, the variability management, the support of co-evolution and the use of polyglot approaches. + +\end{itemize} + + + + + +%% [END last year imported content] diff --git a/05-social-environment-resp.tex b/05-social-environment-resp.tex new file mode 100644 index 0000000..117a994 --- /dev/null +++ b/05-social-environment-resp.tex @@ -0,0 +1,20 @@ + + +% [doc] ----------------------------- +% [doc] Instructions +% [doc] ----------------------------- +% [doc] https://intranet.inria.fr/Vie-scientifique/Information-edition-scientifiques/RADAR/Structure-du-rapport +% [doc] ----------------------------- +% [radar] ----------------------------------- +% [radar] Do not alter this section title +\section{Social and environmental responsibility} +\label{DIVERSE:responsabilities} +% [radar] ----------------------------------- + +% Suggested subsection +\subsection{Footprint of research activities} +\label{DIVERSE:footprint} + +% Suggested subsection +\subsection{Impact of research results} +\label{DIVERSE:impact} diff --git a/06-highlights-year.tex b/06-highlights-year.tex new file mode 100644 index 0000000..b47cd77 --- /dev/null +++ b/06-highlights-year.tex @@ -0,0 +1,16 @@ + + +% [doc] ----------------------------- +% [doc] Instructions +% [doc] ----------------------------- +% [doc] https://intranet.inria.fr/Vie-scientifique/Information-edition-scientifiques/RADAR/Structure-du-rapport +% [doc] ----------------------------- +% [radar] ----------------------------------- +% [radar] Do not alter this section title +\section{Highlights of the year} +\label{DIVERSE:highlights} +% [radar] ----------------------------------- + +% Suggested subsection +\subsection{Awards} +\label{DIVERSE:highlights-awards} diff --git a/07-softwares-platforms.tex b/07-softwares-platforms.tex new file mode 100644 index 0000000..8feac15 --- /dev/null +++ b/07-softwares-platforms.tex @@ -0,0 +1,5 @@ +\section{New software and platforms} +\label{diverse:softwares-platforms} +% - +% - You can add a header for the 'New software and platforms' section +% - diff --git a/07_01-READONLY-softwares.tex b/07_01-READONLY-softwares.tex new file mode 100644 index 0000000..9c55c07 --- /dev/null +++ b/07_01-READONLY-softwares.tex @@ -0,0 +1,140 @@ +\subsection{New software} +\label{softwares} +%% New Software and Plateform - exported content +%% +\subsubsection{FAMILIAR} +\label{bil-1468} +\begin{description} +% No Name +\item[Keywords:] Software line product, Configators, Customisation +\item[Scientific Description:] +FAMILIAR (for FeAture Model scrIpt Language for manIpulation and Automatic Reasoning) is a language for importing, exporting, composing, decomposing, editing, configuring, computing "diffs", refactoring, reverse engineering, testing, and reasoning about (multiple) feature models. All these operations can be combined to realize complex variability management tasks. +A comprehensive environment is proposed as well as integration facilities with the Java ecosystem. +\item[Functional Description:] +Familiar is an environment for large-scale product customisation. From a model of product features (options, parameters, etc.), Familiar can automatically generate several million variants. These variants can take many forms: software, a graphical interface, a video sequence or even a manufactured product (3D printing). Familiar is particularly well suited for developing web configurators (for ordering customised products online), for providing online comparison tools and also for engineering any family of embedded or software-based products. + +%No Release Contributions + + +%No News of the Year + +\item[URL:] \url{http://familiar-project.github.com} +% No Publication +% No Author +\item[Contact:] Mathieu Acher +\item[Participants:] Mathieu Acher, Olivier Barais, Didier Vojtisek +% No Partner +\end{description} + +\subsubsection{GEMOC Studio} +\label{bil-2742} +\begin{description} +\item[Name:] GEMOC Studio +\item[Keywords:] DSL, Language workbench, Model debugging +\item[Scientific Description:] +The language workbench put together the following tools seamlessly integrated to the Eclipse Modeling Framework (EMF): + + 1) Melange, a tool-supported meta-language to modularly define executable modeling languages with execution functions and data, and to extend (EMF-based) existing modeling languages. + 2) MoCCML, a tool-supported meta-language dedicated to the specification of a Model of Concurrency and Communication (MoCC) and its mapping to a specific abstract syntax and associated execution functions of a modeling language. + 3) GEL, a tool-supported meta-language dedicated to the specification of the protocol between the execution functions and the MoCC to support the feedback of the data as well as the callback of other expected execution functions. + 4) BCOoL, a tool-supported meta-language dedicated to the specification of language coordination patterns to automatically coordinates the execution of, possibly heterogeneous, models. + 5) Monilog, an extension for monitoring and logging executable domain-specific models + 6) Sirius Animator, an extension to the model editor designer Sirius to create graphical animators for executable modeling languages. +\item[Functional Description:] +The GEMOC Studio is an Eclipse package that contains components supporting the GEMOC methodology for building and composing executable Domain-Specific Modeling Languages (DSMLs). It includes two workbenches: + The GEMOC Language Workbench: intended to be used by language designers (aka domain experts), it allows to build and compose new executable DSMLs. + The GEMOC Modeling Workbench: intended to be used by domain designers to create, execute and coordinate models conforming to executable DSMLs. The different concerns of a DSML, as defined with the tools of the language workbench, are automatically deployed into the modeling workbench. They parametrize a generic execution framework that provides various generic services such as graphical animation, debugging tools, trace and event managers, timeline. + +%No Release Contributions + + +%No News of the Year + +\item[URL:] \url{http://gemoc.org/studio.html} +\item[Publications:] \href{https://hal.inria.fr/hal-00850770}{hal-00850770}, \href{https://hal.inria.fr/hal-01355391}{hal-01355391}, \href{https://hal.inria.fr/hal-01609576}{hal-01609576}, \href{https://hal.inria.fr/hal-01651801}{hal-01651801}, \href{https://hal.inria.fr/hal-01152342}{hal-01152342}, \href{https://hal.inria.fr/hal-03374955}{hal-03374955}, \href{https://hal.inria.fr/hal-01614561}{hal-01614561}, \href{https://hal.inria.fr/hal-01616154}{hal-01616154} +% No Author +\item[Contact:] Benoît Combemale +\item[Participants:] Didier Vojtisek, Dorian Leroy, Erwan Bousse, Fabien Coulon, Julien DeAntoni +\item[Partners:] IRIT, ENSTA, I3S, OBEO, Thales TRT +\end{description} + +\subsubsection{Interacto} +\label{bil-2542} +\begin{description} +% No Name +\item[Keywords:] GUI (Graphical User Interface), User Interfaces, HCI, Software engineering + +%No Scientific Description + +\item[Functional Description:] +Interacto is a framework for developing user interfaces and user interactions. It complements other general graphical framework by providing a fluent API specifically designed to process user interface event and develop complex user interactions. Interacto is currently developped in Java and TypeScript to target both Java desktop applications (JavaFX) and Web applications (Angular). + +%No Release Contributions + + +%No News of the Year + +\item[URL:] \url{https://interacto.github.io} +\item[Publications:] \href{https://hal.inria.fr/hal-03231669}{hal-03231669}, \href{https://hal.inria.fr/tel-02354530}{tel-02354530}, \href{https://hal.inria.fr/inria-00590891}{inria-00590891}, \href{https://hal.inria.fr/inria-00477627}{inria-00477627} +% No Author +\item[Contact:] Arnaud Blouin +\item[Participants:] Arnaud Blouin, Olivier Beaudoux +% No Partner +\end{description} + +\subsubsection{ALE} +\label{bil-3337} +\begin{description} +\item[Name:] Action Language for Ecore +\item[Keywords:] Meta-modeling, Executable DSML + +%No Scientific Description + +\item[Functional Description:] +Main features of ALE include: + +\begin{itemize} +\item Executable metamodeling: Re-open existing EClasses to insert new methods with their implementations +\item Metamodel extension: The very same mechanism can be used to extend existing Ecore metamodels and insert new features (eg. attributes) in a non-intrusive way +\item Interpreted: No need to deploy Eclipse plugins, just run the behavior on a model directly in your modeling environment +\item Extensible: If ALE doesn’t fit your needs, register Java classes as services and invoke them inside your implementations of EOperations. +\end{itemize} + +%No Release Contributions + + +%No News of the Year + +\item[URL:] \url{http://gemoc.org/ale-lang/} +% No Publication +% No Author +\item[Contact:] Benoît Combemale +% No Participant +\item[Partner:] OBEO +\end{description} + +\subsubsection{Melange} +\label{bil-2731} +\begin{description} +\item[Name:] Melange +\item[Keywords:] Modeling language, Meta-modelisation, Language workbench, Dedicated langage, Model-driven software engineering, DSL, MDE, Meta model, Model-driven engineering, Meta-modeling +\item[Scientific Description:] +Melange is a follow-up of the executable metamodeling language Kermeta, which provides a tool-supported dedicated meta-language to safely assemble language modules, customize them and produce new DSMLs. Melange provides specific constructs to assemble together various abstract syntax and operational semantics artifacts into a DSML. DSMLs can then be used as first class entities to be reused, extended, restricted or adapted into other DSMLs. Melange relies on a particular model-oriented type system that provides model polymorphism and language substitutability, i.e. the possibility to manipulate a model through different interfaces and to define generic transformations that can be invoked on models written using different DSLs. Newly produced DSMLs are correct by construction, ready for production (i.e., the result can be deployed and used as-is), and reusable in a new assembly. + +Melange is tightly integrated with the Eclipse Modeling Framework ecosystem and relies on the meta-language Ecore for the definition of the abstract syntax of DSLs. Executable meta-modeling is supported by weaving operational semantics defined with Xtend. Designers can thus easily design an interpreter for their DSL in a non-intrusive way. Melange is bundled as a set of Eclipse plug-ins. +\item[Functional Description:] +Melange is a language workbench which helps language engineers to mashup their various language concerns as language design choices, to manage their variability, and support their reuse. It provides a modular and reusable approach for customizing, assembling and integrating DSMLs specifications and implementations. + +%No Release Contributions + + +%No News of the Year + +\item[URL:] \url{http://melange-lang.org} +% No Publication +% No Author +\item[Contact:] Benoît Combemale +\item[Participants:] Arnaud Blouin, Benoît Combemale, David Mendez Acuna, Didier Vojtisek, Dorian Leroy, Erwan Bousse, Fabien Coulon, Jean-Marc Jezequel, Olivier Barais, Thomas Degueule +% No Partner +\end{description} + diff --git a/07_02-platforms.tex b/07_02-platforms.tex new file mode 100644 index 0000000..30825d2 --- /dev/null +++ b/07_02-platforms.tex @@ -0,0 +1,12 @@ + + +% [doc] ----------------------------- +% [doc] Instructions +% [doc] ----------------------------- +% [doc] https://intranet.inria.fr/Vie-scientifique/Information-edition-scientifiques/RADAR/Structure-du-rapport +% [doc] ----------------------------- +% [radar] ----------------------------------- +% [radar] Do not alter this section title +\subsection{New platforms} +\label{DIVERSE:platforms} +% [radar] ----------------------------------- diff --git a/08-new-results.tex b/08-new-results.tex new file mode 100644 index 0000000..a417040 --- /dev/null +++ b/08-new-results.tex @@ -0,0 +1,211 @@ + + +% [doc] ----------------------------- +% [doc] Instructions +% [doc] ----------------------------- +% [doc] https://intranet.inria.fr/Vie-scientifique/Information-edition-scientifiques/RADAR/Structure-du-rapport. +% [doc] Nouveauté 2022 : +% [doc] Dans cette partie vous pouvez mettre l'accent sur des projets en lien avec les données de la recherche : +% [doc] la création ou la manipulation des corpus importants de données. Il peut s'agit de données d'observation, d'expérimentation, +% [doc] de données computationnelles, compilées, dérivées etc. ... +% [doc] N'hésitez-pas à citer, grâce aux liens DOI, les jeux de données partagés via les entrepôts comme p.ex. : +% [doc] Zenodo (https://zenodo.org/), Recherche Data Gouv (https://entrepot.recherche.data.gouv.fr/) ou d'autres réservoirs. +% [doc] Exemple de liens: \href{https://doi.org/10.5281/zenodo.7254826}{Primitive quartic number fields of absolute discriminant at most $10^9$} +% [doc] ----------------------------- + +%% [BEGIN last year imported content] + + + + + + +% [radar] ----------------------------------- +% [radar] Do not alter this section title +\section{New results} +\label{diverse:results} +% [radar] ----------------------------------- + + + +%% --------------------------------------- +\subsection{Results for Axis \#1: Software Language Engineering} +\label{resultats:results-axis1} +%% --------------------------------------- + + +\begin{participants} +\pers{Olivier}{Barais} +\pers{Johann}{Bourcier} +\pers{Benoît}{Combemale} +\pers{Jean-Marc}{Jézéquel} +\pers{Gurvan}{Leguernic} +\pers{Gunter}{Mussbacher} +\pers{Noël}{Plouzeau} +\pers{Didier}{Vojtisek} +\end{participants} + +\subsubsection{Foundations of Software Language Engineering} + +Exploratory programming is a software development style in which code is a medium for prototyping ideas and solutions, and in which even the end-goal can evolve over time. Exploratory programming is valuable in various contexts, such as programming education, data science, and end-user programming. However, there is a lack of appropriate tooling and language design principles to support exploratory programming. In \cite{vanbinsbergen:hal-03921387}, we present a host language- and object language-independent protocol for exploratory programming akin to the Language Server Protocol. The protocol serves as a basis to develop novel programming environments (or to extend existing ones) for exploratory programming, such as computational notebooks and command-line REPLs. An architecture is exposed, on top of which prototype environments can be developed with relative ease, because existing (language) components can be reused. Our prototypes demonstrate that the proposed protocol is sufficiently expressive to support exploratory programming scenarios as encountered in literature of the software engineering, human-computer interaction and data science domains. + +Recent results in language engineering simplify the development of tool-supported executable domain-specific modelling languages (xDSMLs), including editing (e.g., completion and error checking) and execution analysis tools (e.g., debugging, monitoring and live modelling). However, such frameworks are currently limited to sequential execution traces, and cannot handle execution traces resulting from an execution semantics with a concurrency model supporting parallelism or interleaving. This prevents the development of concurrency analysis tools, like debuggers supporting the exploration of model executions resulting from different interleavings. In~\cite{zschaler:hal-03921704}, we present a generic framework to integrate execution semantics with either implicit or explicit concurrency models, to explore the possible execution traces of conforming models, and to define strategies to help in the exploration of the possible executions. This framework is complemented with a protocol to interact with the resulting executions and hence to build advanced concurrency analysis tools. The approach has been implemented within the GEMOC Studio. We demonstrate how to integrate two representative concurrent meta-programming approaches (MoCCML/Java and Henshin), which use different paradigms and underlying foundations to define an xDSML's concurrency model. We also demonstrate the ability to define an advanced concurrent omniscient debugger with the proposed protocol. Our work, thus, contributes key abstractions and an associated protocol for integrating concurrent meta-pro\-gram\-ming approaches in a language workbench, and dynamically exploring the possible executions of a model in the modelling workbench. + +\subsubsection{DSL for Scientific Computing} + +Scientific software are complex software systems. Their engineering involves various stakeholders using specific computer languages for defining artifacts at different abstraction levels and for different purposes. In~\cite{leroy:hal-03799289}, we review the overall process leading to the development of scientific software, and discuss the role of computer languages in the definition of the different artifacts. We then provide guidelines to make informed decisions when the time comes to choose the computer languages to use when developing scientific software. + + +%------------------------ +\subsubsection{Digital Twins} + +Digital twins are a very promising avenue to design secure and resilient architectures and systems. + +In \cite{eramo:hal-03466396}, we study \textbf{Conceptualizing Digital Twins}. + Digital Twins are an emerging concept which is gaining importance in several fields. It refers to a comprehensive software representation of an actual system, which includes structures, properties, conditions, behaviours, history and possible futures of that system through models and data to be continuously synchronized. Digital Twins can be built for different purposes, such as for the design, development, analysis, simulation, and operations of non-digital systems in order to understand, monitor, and/or optimize the actual system. To realize Digital Twins, data and models originated from diverse engineering disciplines have to be integrated, synchronized, and managed to leverage the benefits provided by software (digital) technologies. However, properly arranging the different models, data sources, and their relations to engineer Digital Twins is challenging. We therefore propose a conceptual modeling framework for Digital Twins that captures the combined usage of heterogeneous models and their respective evolving data for the twin's entire life cycle. + + +We also created EDT.Community, a programme of seminars on the engineering of digital twins hosting digital twins experts from academia and industry. In~\cite{cleophas:hal-03933973}, we report on the main topics of discussion from the first year of the programme. We contribute by providing (1)~a common understanding of open challenges in research and practice of the engineering of digital twins, and (2)~an entry point to researchers who aim at closing gaps in the current state of the art. + +\subsubsection{Reasoning over Time into Models} + +Models at runtime have been initially investigated for adaptive systems. Models are used as a reflective layer of the current state of the system to support the implementation of a feedback loop. More recently, models at runtime have also been identified as key for supporting the development of full-fledged digital twins. However, this use of models at runtime raises new challenges, such as the ability to seamlessly interact with the past, present and future states of the system. In~\cite{lyan:hal-03921928}, we propose a framework called DataTime to implement models at runtime that capture the state of the system according to the dimensions of both time and space, here modeled as a directed graph where both nodes and edges bear local states (ie. values of properties of interest). DataTime offers a unifying interface to query the past, present and future (predicted) states of the system. This unifying interface provides i)~an optimized structure of the time series that capture the past states of the system, possibly evolving over time, ii)~the ability to get the last available value provided by the system's sensors, and iii)~a continuous micro-learning over graph edges of a predictive model to make it possible to query future states, either locally or more globally, thanks to a composition law. The framework has been developed and evaluated in the context of the Intelligent Public Transportation Systems of the city of Rennes (France). This experimentation has demonstrated how DataTime can be used for managing data from the past, the present and the future, and facilitate the development of digital twins. + +%% --------------------------------------- +\subsection{Results for Axis \#2: Spatio-temporal Variability in Software and Systems} +\label{resultats:results-axis2} +%% --------------------------------------- + +\begin{participants} +% Mathieu Acher + Djamel + +\pers{Mathieu}{Acher} +\pers{Arnaud}{Blouin} +\pers{Benoît}{Combemale} +\pers{Jean-Marc}{Jézéquel} +\pers{Djamel}{Eddine Khelladi} +\pers{Olivier}{Zendra} +%\noindent \textbf{Postdocs:} X. Ternava +%\noindent \textbf{PhD students:} L. Lesoil, H. Martin, Georges Aaron RANDRIANAINA + +\end{participants} + +\subsubsection{Learning at scale} + +\emph{Learning large-scale variability} +In~\cite{acher:hal-03720273}, we apply learning techniques to the Linux kernel. +With now more than 15,000 configuration options, including more than 9,000 just for the x86 architecture, the Linux kernel is one of the most complex configurable open-source systems ever developed. If all these options were binary and independent, that would indeed yield $2^{15000}$ possible variants of the kernel. Of course not all options are independent (leading to fewer possible variants), but some of them have tri-states values: yes, no, or module instead of simply boolean values (leading to more possible variants). +The Linux kernel is mentioned in numerous papers on configurable systems and machine learning, as motivating example stating the problem and the underlying approach. +However, only a few works truly explore such a huge configuration space. In this line of work, we take up the Linux challenge either for configurations' bug prevention or for predicting the binary size of a configured kernel. We also design a learning technique capable of transferring a prediction model among \textbf{variants and versions} of Linux~\cite{martin:hal-03358817}. + +Linux kernels are used in a wide variety of appliances, many of them having strong requirements on the kernel size due to constraints such as limited memory or instant boot. With more than nine thousands of configuration options to choose from, developers and users of Linux actually spend significant effort to document, understand, and eventually tune (combinations of) options for meeting a kernel size. In~\cite{acher:hal-03720273}, we describe a large-scale endeavour automating this task and predicting a given Linux kernel binary size out of unmeasured configurations. We first experiment that state-of-the-art solutions specifically made for configurable systems such as performance-influence models cannot cope with that number of options, suggesting that software product line techniques may need to be adapted to such huge configuration spaces. We then show that tree-based feature selection can learn a model achieving low prediction errors over a reduced set of options. The resulting model, trained on 95,854 kernel configurations, is quick to compute, simple to interpret and even outperforms the accuracy of learning without feature selection. + +\subsubsection{Smart build} + +\emph{Incremental build of configurations and variants} Building software is a crucial task to compile, test, and deploy software systems while continuously ensuring quality. As software is more and more configurable, building multiple configurations is a pressing need, yet, costly and challenging to instrument. The common practice is to independently build (a.k.a., clean build) a software for a subset of configurations. While incremental build has been considered for software evolution and relatively small modifications of the source code, it has surprisingly not been considered for software configurations. In this work, we formulate the hypothesis that incremental build can reduce the cost of exploring the configuration space of software systems. In~\cite{randrianaina:hal-03558479}, we detail how we apply \textbf{incremental build} for two real-world application scenarios and conduct a preliminary evaluation on two case studies, namely x264 and the Linux Kernel. For x264, we found that one can incrementally build configurations in an order such that overall build time is reduced. Nevertheless, we could not find any optimal order with the Linux Kernel, due to a high distance between random configurations. Therefore, we show it is possible to control the process of generating configurations: we could reuse commonality and gain up to 66\% of build time compared to only clean builds. + + In the exploratory study~\cite{randrianaina:hal-03547219}, we examine the benefits and limits of building software configurations incrementally, rather than always building them cleanly. By using five real-life configurable systems as subjects, we explore whether incremental build works, outperforms a sequence of clean builds, is correct w.r.t. clean build, and can be used to find an optimal ordering for building configurations. Our results show that incremental build is feasible in 100\% of the times in four subjects and in 78\% of the times in one subject. In average, 88.5\% of the configurations could be built faster with incremental build while also finding several alternatives faster incremental builds. However, only 60\% of faster incremental builds are correct. Still, when considering those correct incremental builds with clean builds, we could always find an optimal order that is faster than just a collection of clean builds with a gain up to 11.76\%. + +\subsubsection{Variability and debloating} + +\emph{Debloating variability} In~\cite{acher:hal-03882594}, we call for \textbf{removing variability}. Indeed, software variability is largely accepted and explored in software engineering and seems to have become a norm and a must, if only in the context of product lines. Yet, the removal of superfluous or unneeded software artefacts and functionalities is an inevitable trend. It is frequently investigated in relation to software bloat. This work is essentially a call to the community on software variability to devise methods and tools that will facilitate the removal of unneeded variability from software systems. The advantages are expected to be numerous in terms of functional and non-functional properties, such as maintainability (lower complexity), security (smaller attack surface), reliability, and performance (smaller binaries). + +\emph{Feature toggling and variability} Feature toggling is a technique for enabling branching-in-code. It is increasingly used during continuous deployment to incrementally test and integrate new features before their release. In principle, feature toggles tend to be light, that is, they are defined as simple Boolean flags and used in conditional statements to condition the activation of some software features. However, there is a lack of knowledge on whether and how they may interact with each other, in that case their enabling and testing become complex. We argue that finding the interactions of feature toggles is valuable for developers to know which of them should be enabled at the same time, which are impacted by a removed toggle, and to avoid their misconfigurations. In~\cite{ternava:hal-03527250}, we mine feature toggles and their interactions in five open-source projects. We then analyse how they are realized and whether they tend to be multiplied over time. Our results show that 7\% of feature toggles interact with each other, 33\% of them interact with another code expression, and their interactions tend to increase over time (22\%, on average). Further, their interactions are expressed by simple logical operators (i.e., and and or) and nested if statements. We propose to model them into a Feature Toggle Model, and believe that our results are helpful towards robust management approaches of feature toggles. + +Several works have already identified the proximity of feature toggles with the notion of Feature found in Software Product Lines. In~\cite{jezequel:hal-03788437}, we propose to go one step further in unifying these concepts to provide a seamless transition between design time and runtime variability resolutions. +We show how it can scale to build a configurable authentication system, where a partially resolved feature model can interface with popular feature toggle frameworks such as Togglz. + + +\emph{Gadgets and variability} Numerous software systems are configurable through compile-time options and the widely used ./configure. However, the combined effects of these options on binaries' non-functional properties size and attack surface are often not documented, and or not well understood, even by experts. Our goal is to provide automated support for exploring and comprehending the configuration space a. k. a., surface of compile-time options using statistical learning techniques. In~\cite{ternava:hal-03627246}, we perform an empirical study on four C-based configurable systems. Our results show that, by changing the default configuration, the system's binary size and gadgets vary greatly (roughly -79\% to 244\% and -77\% to 30\%, respectively). Then, we found out that identifying the most influential options can be accurately learned with a small training set, while their relative importance varies across size and attack surface for the same system. Practitioners can use our approach and artifacts to explore the effects of compile-time options in order to take informed decisions when configuring a system with ./configure. Our work received the Best paper award at ICSR 2022. + +\subsubsection{Scaling temporal analysis} + + \emph{Temporal code analysis at scale} Syntax Trees (ASTs) are widely used beyond compilers in many tools that measure and improve code quality, such as code analysis, bug detection, mining code metrics, refactoring. With the advent of fast software evolution and multistage releases, the temporal analysis of an AST history is becoming useful to understand and maintain code. However, jointly analyzing thousands of versions of ASTs independently faces scalability issues, mostly combinatorial, both in terms of memory and CPU usage. In~\cite{ledilavrec:hal-03764541}, we propose a novel type of AST, called HyperAST , that enables efficient temporal code analysis on a given software history by: 1)~leveraging code redundancy through space (between code elements) and time (between versions); 2)~reusing intermediate computation results. We show how the HyperAST can be built incrementally on a set of commits to capture all multiple ASTs at once in an optimized way. We evaluated the HyperAST on a curated list of large software projects. Compared to Spoon, a state-of-the-art technique, we observed that the HyperAST outperforms it with an order-of-magnitude difference from~×6 up to~×8076 in CPU construction time and from~×12 up to~×1159 in memory footprint. While the HyperAST requires up to 2~h~22~min and 7.2~GB for the largest project, Spoon requires up to 93~h~31~min and 2.2~TB. The gains in construction time varied from 83.4\% to 99\%.99\% and the gains in memory footprint varied from 91.8\% to 99.9\%. We further compared the task of finding references of declarations with the HyperAST and Spoon. We observed on average 90\% precision and 97\% recall without a significant difference in search time. + + \subsubsection{Deep variability} + + Deep software variability refers to the interaction of all external layers modifying the behavior of software. Configuring software is a powerful means to reach functional and performance goals of a system, but many layers of variability can make this difficult. + +\emph{Variability in input, version, and software.} With commits and releases, hundreds of tests are run on varying conditions (e.g., over different hardware and workloads) that can help to understand evolution and ensure non-regression of software performance. In~\cite{lesoil:hal-03624309}, we hypothesize that performance is not only sensitive to evolution of software, but also to different variability layers of its execution environment, spanning the hardware, the operating system, the build, or the workload processed by the software. Leveraging the MongoDB dataset, our results show that changes in hardware and workload can drastically impact performance evolution and thus should be taken into account when reasoning about evolution. An open problem resulting from this study is how to manage the variability layers in order to efficiently test the performance evolution of a software. + + \emph{Transferring Performance between Distinct Configurable Systems.} Many research studies predict the performance of configurable software using machine learning techniques, thus requiring large amounts of data. Transfer learning aims at reducing the amount of data needed to train these models and has been successfully applied on different executing environments (hardware) or software versions. In~\cite{lesoil:hal-03514984}, we investigate for the first time the idea of applying transfer learning between distinct configurable systems. We design a study involving two video encoders (namely x264 and x265) coming from different code bases. Our results are encouraging since transfer learning outperforms traditional learning for two performance properties (out of three). We discuss the open challenges to overcome for a more general application. + + + \emph{Global Decision Making Over \textbf{Deep Variability} in Feedback-Driven Software Development} + To succeed with the development of modern software, organizations must have the agility to adapt faster to constantly evolving environments to deliver more reliable and optimized solutions that can be adapted to the needs and environments of their stakeholders including users, customers, business, development, and IT. However, stakeholders do not have sufficient automated support for global decision making, considering the increasing variability of the solution space, the frequent lack of explicit representation of its associated variability and decision points, and the uncertainty of the impact of decisions on stakeholders and the solution space. This leads to an ad-hoc decision making process that is slow, error-prone, and often favors local knowledge over global, organization-wide objectives. The Multi-Plane Models and Data (MP-MODA) framework introduced in~\cite{kienzle:hal-03770004} explicitly represents and manages variability, impacts, and decision points. It enables automation and tool support in aid of a multi-criteria decision making process involving different stakeholders within a feedback-driven software development process where feedback cycles aim to reduce uncertainty. We present the conceptual structure of the framework, discuss its potential benefits, and enumerate key challenges related to tool supported automation and analysis within MP-MODA. + + \emph{Reproducibility} We sketch a vision about \textbf{reproducible science} and deep software variability in~\cite{acher:hal-03528889}. + + + +% In~\cite{BURST}, we present BURST, a benchmarking platform for uniform random sampling techniques. With BURST, researchers have a flexible, controlled environment in which they can evaluate the scalability and uniformity of their sampling. BURST comes with an extensive --- and extensible --- benchmark dataset comprising 128 feature models, including challenging, real-world models of the Linux kernel. BURST takes as inputs a sampling tool, a set of feature models and a sampling budget. It automatically translates any feature model of the set in DIMACS and invokes the sampling tool to generate the budgeted number of samples. To evaluate the scalability of the sampling tool, BURST measures the time the tool needs to produce the requested sample. To evaluate the uniformity of the produced sample, BURST integrates the state-of-the-art and proven statistical test Barbarik. We envision BURST to become the starting point of a standardisation initiative of sampling tool evaluation. Given the huge interest of research for sampling algorithms and tools, this initiative would have the potential to reach and crosscut multiple research communities including AI, ML, SAT and SPL. + + +% \textbf{Projects.} We are currently exploring the use of machine learning for variability-intensive systems in the context of \href{https://varyvary.github.io}{VaryVary ANR project}. The SLIMFAST project aims to debloat variability and specialize configuration space. + +% \textbf{PhD soutenance} Hugo Martin succesfully defended his PhD thesis entitled "Machine Learning for Performance Modelling on Colossal Software Configuration Spaces" + +% \textbf{HDR soutenance} Mathieu Acher succesfully defended his HDR entitled "Modelling, Reverse Engineering, and Learning Software Variability" + + + +%% --------------------------------------- +\subsection{Results for Axis \#3: DevSecOps and Resilience Engineering for Software and Systems} +\label{resultats:results-axis3} +%% --------------------------------------- + + +\begin{participants} +\pers{Mathieu}{Acher} +\pers{Olivier}{Barais} +\pers{Arnaud}{Blouin} +\pers{Stephanie}{Challita} +\pers{Benoît}{Combemale} +\pers{Jean-Marc}{Jézéquel} +\pers{Olivier}{Zendra} +\end{participants} + +% The work done in 2021 for axis~\#3 draws from previous works in software engineering and security from both DiverSE and the former TAMIS team. +% The first area of investigation deals with microservices, seen as a mean to increase maintainability, security and resilience. + +In this section, we present our achievements for 2022 that draw on our previous works, and that constitute basic blocks upon which we will continue building our research and systems, for example with the aim to extend the applicability to secure supply chains. + + + +%------------------------ +\subsubsection{Side-channels and source-code vulnerabilities} + +We also worked on methods and techniques to improve the cybersecurity of code by removing cyber-vulnerabilities from source-codes, especially the ones enabling side-channels attacks. + +In~\cite{brown:hal-03805561}, we indeed try to address the specific type of cyber attacks known as side channel attacks, where attackers exploit information leakage from the physical execution of a program, e.g. timing or power leakage, to uncover secret information, such as encryption keys or other sensitive data. There have been various attempts at addressing the problem of preventing side-channel attacks, often relying on various measures to decrease the discernibility of several code variants or code paths. Most techniques require a high-degree of expertise by the developer, who often employs ad hoc, hand-crafted code-patching in an attempt to make it more secure. In this work, we take a different approach, building on the idea of ladderisation, inspired by Montgomery Ladders. We present \textbf{a semi-automatic tool-supported technique to provide countermeasures to side-channel attacks}. Our technique, aimed at the non-specialised developer, which refactors (a class of) C programs into functionally (and even algorithmically) equivalent counterparts with improved security properties. Our approach provides refactorings that transform the source code into its ladderised equivalent, driven by an underlying verified rewrite system, based on dependent types. Our rewrite system automatically finds rewritings of selected C expressions, facilitating the production of their equivalent ladderised counterparts for a subset of C. We demonstrated our approach on a number of representative examples from the cryptographic domain, showing increased security. + +Side-channel attacks are by definition made possible by information leaking from computing systems through nonfunctional properties like execution time, consumed energy, power profiles, etc. These attacks are especially difficult to protect from, since they rely on physical measurements not usually envisioned when designing the functional properties of a program. Furthermore, countermeasures are usually dedicated to protect a particular program against a particular attack, lacking universality. To help fight these threats, we propose in~\cite{marquer:hal-03793085}~ \textbf{the Indiscernibility Methodology}, a novel methodology to quantify with no prior knowledge the information leaked from programs, thus providing the developer with valuable security metrics, derived either from topology or from information theory. Our original approach considers the code to be analyzed as a completely black box, only the public inputs and leakages being observed. It can be applied to various types of side-channel leakages: time, energy, power, EM, etc. In this work, we first present our Indiscernibility Methodology, including channels of information and our threat model. We then detail the computation of our novel metrics, with strong formal foundations based both on topological security (with distances defined between secret-dependent observations) and on information theory (quantifying the remaining secret information after observation by the attacker). Then we demonstrate the applicability of our approach by providing experimental results for both time and power leakages, studying both average case, worst case, and indiscernible information metrics. + + +%------------------------ +\subsubsection{Malware analysis and classification} + + +Historically, malware (MW) analysis has heavily resorted to human savvy for manual signature creation to detect and classify malware. This procedure is very costly and time consuming, thus unable to cope with modern cyber threat scenario. The solution is to widely automate malware analysis. Toward this goal, malware classification allows optimizing the handling of large malware corpora by identifying resemblances across similar instances. Consequently, malware classification figures as a key activity related to malware analysis, which is paramount in the operation of computer security as a whole. In this line of research work, the PhD thesis~\cite{puodzius:tel-03935152} addresses the problem of malware classification taking an approach in which human intervention is spared as much as possible. There, we steer clear of subjectivity inherent to human analysis by designing malware classification solely on data directly extracted from malware analysis, thus taking a data-driven approach. Our objective was to improve the automation of malware analysis and to combine it with machine learning methods that are able to autonomously spot and reveal unwitting commonalities within data. This worked was phased in three stages. Initially we focused on improving malware analysis and its automation, studying new ways of leveraging symbolic execution in malware analysis and developing a distributed framework to scale up our computational power. Then we focused on the representation of malware behavior, with painstaking attention to its accuracy and robustness. Finally, we fixed attention on malware clustering, devising a methodology that has no restriction in the combination of syntactical and behavioral features and remains scalable in practice. The main contributions of this work are: revamping the use of symbolic execution for malware analysis with special attention to the optimal use of SMT solver tactics and hyperparameter settings; conceiving a new evaluation paradigm for malware analysis systems; formulating a compact graph representation of behavior, along with a corresponding function for pairwise similarity computation, which is accurate and robust; and elaborating a new malware clustering strategy based on ensemble clustering that is flexible with respect to the combination of syntactical and behavioral features. + +%- +\subsubsection{Open-source software supply chain security} + + +Open-source software supply chain attacks aim at infecting downstream users by poisoning open-source packages. The common way of consuming such artifacts is through package repositories and the development of vetting strategies to detect such attacks is ongoing research. Despite its popularity, the Java ecosystem is the less explored one in the context of supply chain attacks. In this work~\cite{ladisa:hal-03921362}, we study simple-yet-effective indicators of malicious behavior that can be observed statically through the analysis of Java bytecode. Then we evaluate how such indicators and their combinations perform when detecting malicious code injections. We do so by injecting three malicious payloads taken from real-world examples into the Top-10 most popular Java libraries from libraries.io. We found that the analysis of strings in the constant pool and of sensitive APIs in the bytecode instructions aids in the task of detecting malicious Java packages by significantly reducing the information, thus, making also manual triage possible. + + +In this context of Supply chain attacks on open-source projects, recent work systematized the knowledge about such attacks and proposed a taxonomy in the form of an attack tree~\footcite{snp23ladisa}. We propose a visualization tool called Risk Explorer~\cite{ladisa:hal-03921373} for Software Supply Chains, which allows inspecting the taxonomy of attack vectors, their descriptions, references to real-world incidents and other literature, as well as information about associated safeguards. Being open-source itself, the community can easily reference new attacks, accommodate for entirely new attack vectors or reflect the development of new safeguards. This tool is also available online~\footnote{\href{https://sap.github.io/risk-explorer-for-software-supply-chains/}{Risk explorer web site}} + + +\subsubsection{A Context-Driven Modelling Framework for Dynamic Authentication Decisions} + +Nowadays, many mechanisms exist to perform authentication, such as text passwords and biometrics. However, reasoning about their relevance (e.g., the appropriateness for security and usability) regarding the contextual situation is challenging for authentication system designers. In~\cite{bumiller:hal-03729080}, we present a Context-driven Modelling Framework for dynamic Authentication decisions (COFRA), where the context information specifies the relevance of authentication mechanisms. COFRA is based on a precise metamodel that reveals framework abstractions and a set of constraints that specify their meaning. Therefore, it provides a language to determine the relevant authentication mechanisms (characterized by properties that ensure their appropriateness) in a given context. The framework supports the adaptive authentication system designers in the complex trade-off analysis between context information, risks and authentication mechanisms, according to usability, deployability, security, and privacy. We validate the proposed framework through case studies and extensive exchanges with authentication and modelling experts. We show that model instances describing real-world use cases and authentication approaches proposed in the literature can be instantiated validly according to our metamodel. This validation highlights the necessity, sufficiency, and soundness of our framework. + + +In many situations, it is of interest for authentication systems to adapt to context (e.g., when the user's behavior differs from the previous behavior). Hence, during authentication events, it is common to use contextually available features to calculate an impersonation risk score. This work proposes an explainability model~\cite{bumiller:hal-03789500} that can be used for authentication decisions and, in particular, to explain the impersonation risks that arise during suspicious authentication events (e.g., at unusual times or locations). The model applies Shapley values to understand the context behind the risks. Through a case study on 30,000 real world authentication events, we show that risky and non risky authentication events can be grouped according to similar contextual features, which can explain the risk of impersonation differently and specifically for each authentication event. Hence, explainability models can effectively improve our understanding of impersonation risks. The risky authentication events can be classified according to attack types. The contextual explanations of the impersonation risk can help authentication policymakers and regulators who attempt to provide the right authentication mechanisms, to understand the suspiciousness of an authentication event and the attack type, and hence to choose the suitable authentication mechanism. + + + + +%% [END last year imported content] diff --git a/09-contracts-grants.tex b/09-contracts-grants.tex new file mode 100644 index 0000000..3a8e794 --- /dev/null +++ b/09-contracts-grants.tex @@ -0,0 +1,129 @@ + + +% [doc] ----------------------------- +% [doc] Instructions +% [doc] ----------------------------- +% [doc] https://intranet.inria.fr/Vie-scientifique/Information-edition-scientifiques/RADAR/Structure-du-rapport +% [doc] ----------------------------- + +%% [BEGIN last year imported content] + + + + + + +% [radar] ----------------------------------- +% [radar] Do not alter this section title +\section{Bilateral contracts and grants with industry} +\label{diverse:contracts-grants} +% [radar] ----------------------------------- + + +% Suggested subsection +\subsection{Bilateral contracts with industry} +\label{diverse:contracts} + +%% BC: TO BE CHECK THIS PART + + + +\paragraph*{ADR Nokia} + +\begin{participants} +\pers{Olivier}{Barais} +\pers{Johann}{Bourcier} +\end{participants} + + +\begin{itemize}\itemsep0cm + \item Coordinator: Inria + \item Dates: 2017-2021 + \item Abstract: The goal of this project is to integrate chaos engineering principles to IoT Services frameworks to improve the robustness of the software-defined network services using this approach; to explore the concept of equivalence for software-defined network services; and to propose an approach to constantly evolve the attack surface of the network services. +\end{itemize} + +\paragraph*{SLIMFAST} + +\begin{participants} +\pers{Mathieu}{Acher} +\end{participants} + + +\begin{itemize}\itemsep0cm + \item Partners: DGA + \item Dates: 2021-2022 + \item Abstract: Debloating software variability for improving non-functional properties (e.g. security) +\end{itemize} + + + +\paragraph*{BCOM} + +\begin{participants} +\pers{Olivier}{Barais} +\end{participants} + + + +\begin{itemize}\itemsep0cm + \item Coordinator: UR1 + \item Dates: 2018-2024 + \item Abstract: The aim of the Falcon project is to investigate how to improve the resale of available resources in private clouds to third parties. In this context, the collaboration with DiverSE mainly aims at working on efficient techniques for the design of consumption models and resource consumption forecasting models. These models are then used as a knowledge base in a classical autonomous loop. + +\end{itemize} + +\paragraph*{Debug4Science} +\begin{participants} +\pers{Benoît}{Combemale} +\end{participants} + +\begin{itemize}\itemsep0cm + \item Partners: Inria/CEA DAM + \item Dates: 2020-2022 + \item Abstract: Debug4Science aims to propose a disciplined approach to develop domain-specific debugging facilities for Domain-Specific Languages within the context of scientific computing and numerical analysis. Debug4Science is a bilateral collaboration (2020-2022), between the CEA DAM/DIF and the DiverSE team at Inria. +\end{itemize} + +\paragraph*{Orange} +\begin{participants} +\pers{Olivier}{Barais} +\pers{Benoît}{Combemale} +\pers{Stéphanie}{Chalita} +\end{participants} + +\begin{itemize}\itemsep0cm + \item Partners: UR1/Orange + \item Dates: 2020-2023 + \item Abstract: Context aware adaptive authentification, Anne Bumiller's PhD Cifre project. +\end{itemize} + + +\paragraph*{Obeo} +\begin{participants} +\pers{Benoît}{Combemale} +\pers{Arnaud}{Blouin} +\end{participants} + +\begin{itemize}\itemsep0cm + \item Partners: UR1/Obéo + \item Dates: 2022-2025 + \item Abstract: Low-code language workbench, Theo Giraudet's PhD Cifre project. +\end{itemize} + + +\paragraph*{SAP} +\begin{participants} +\pers{Olivier}{Barais} +\end{participants} +\begin{itemize}\itemsep0cm + \item Partners: UR1/SAP + \item Dates: 2021-2024 + \item Abstract: Research focusing on Open-source software Supply Chain security. Piergiorgio Ladisa's PhD Cifre project. +\end{itemize} + +% Suggested subsection +%\subsection{Bilateral grants with industry} +%\label{diverse:grants} + + + +%% [END last year imported content] diff --git a/10-partnerships-cooperations.tex b/10-partnerships-cooperations.tex new file mode 100644 index 0000000..be4ba2f --- /dev/null +++ b/10-partnerships-cooperations.tex @@ -0,0 +1,230 @@ +% [radar] ----------------------------------- +% [radar] Do not alter this section title +\section{Partnerships and cooperations} +\label{diverse:partnerships} +% [radar] ----------------------------------- +\subsection{International initiatives} + +\subsubsection{Associate Teams in the framework of an Inria International Lab or in the framework of an Inria International Program} + +\subsubsection{Inria associate team not involved in an IIL or an international program} + + +\paragraph{RESIST\_EA} +% Automatic import, you may need to refine the content! +% [BEGIN DRISI (drisi.inria.fr) IMPORT] +\begin{description} + \item[Title:] Resilient Software Science + \item[Duration:] 2021 -> + \item[Coordinator:] Arnaud Gotlieb (arnaud@simula.no) + \item[Partners:] \leavevmode + \begin{itemize} + \item SIMULA (Norvège) + \end{itemize} + \item[Inria contact:] \pers{Mathieu}{Acher} +\item[Summary:]The Science of Resilient Software (RESIST\_EA) intends to create software-systems which can resist failures without significantly degrading their functionality. For several years, creating resilient software-systems has become extremely important in various application domains. For example, in robotics, the deployment of advanced collaborative robots which have to cope with uncertainty and unexpected behaviors while being able to recover from their failures has led to new research challenges. A recent area where these challenges have become pregnant is industrial robotics for car manufacturing where major issues faced by an “excessive automation” have surfaced. For instance, Tesla has struggled with painting, welding, assembling industrial robots in its advanced California car factory since 2018. Generally speaking, Autonomous Software-Systems (AS) such as self-driving cars, autonomous ships or industrial robots require the development of resilient software-systems as they have to manage unexpected events, such as faults or hazards. +The goal of the Associate Team “Resilient Software Science” (and the main innovation of this project) is to explore the Science of resilient software by laying the ground to foundational work on advanced a priori testing methods such as metamorphic testing and a posteriori continuous improvements through digital twins. +\end{description} + +% [END DRISI IMPORT] + +\subsubsection{STIC/MATH/CLIMAT AmSud projects} + +\subsubsection{Participation in other International Programs} + +% [doc] For each collaboration please specify the Program: +% [doc] (CNRS (IEA, IRN, IRP, IRL formerly known as LIA, UMI, PICS, PRC, GDRI/IRN) +% [doc] PHC (Partenriat Hubert Curien) // ECOS Nord/ Ecos Sud/ COFECUB // ANR International +% [doc] // Other to specify) and the information below: + +% \paragraph{ Projet Acronym} + +%% Please add the team participants for this project: +% \begin{participants} +% \pers{surname1}{lastname1} +% \pers{surname2}{lastname2} +% \end{participants} + + +% \begin{description} + % \item[Title:] + % \item [Partner Institution(s):] + % \begin{itemize} + % \item Institution name, Country + % ... + % \end{itemize} + % \item[Date/Duration:] + % \item[Additionnal info/keywords:] + % \end{description} + \subsection{International research visitors} + +\subsubsection{Visits of international scientists} + +\paragraph{Inria International Chair} + +%% Please add the team participants for this project: +% \begin{participants} +% \pers{surname1}{lastname1} +% \pers{surname2}{lastname2} +% \end{participants} + + +\paragraph{Other international visits to the team} +% [doc] Please use the following model: + +% \subparagraph{Name of the researcher} +% \begin{description} +% \item[Status] (researcher, PhD, post-Doc, intern (master/eng)) +% \item[Institution of origin:] +% \item[Country:] +% \item[Dates:] +% \item[Context of the visit:] +% \item[Mobility program/type of mobility:] (sabbatical, internship, research stay, lecture…) +% \end{description} + +\subsubsection{Visits to international teams} +\paragraph{Sabbatical programme} +\paragraph{Research stays abroad} + +% [doc] Please use the following model: + +% \subparagraph{pers{surname}{lastname}} +% \begin{description} +% \item[Visited institution:] +% \item[Country:] +% \item[Dates:] +% \item[Context of the visit:] +% \item[Mobility program/type of mobility:] (sabbatical, internship, research stay, lecture…) +% \end{description} + +\subsection{European initiatives} +\subsubsection{Horizon Europe} + +\paragraph{HiPEAC} + + +%% Please add the team participants for this project: +% \begin{participants} +% \pers{surname1}{lastname1} +% \pers{surname2}{lastname2} +% \end{participants} + + +% Automatic import, you may need to refine the content! +% [BEGIN CORDIS(https://cordis.europa.eu) IMPORT] +\href{https://dx.doi.org/10.3030/101069836}{HiPEAC project on cordis.europa.eu} +\begin{description} + \item[Title:] High Performance, Edge And Cloud computing + \item[Duration:] From December 1, 2022 to May 31, 2025 + \item[Partners:] \leavevmode + \begin{itemize} + \item INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET AUTOMATIQUE (INRIA), France + \item ECLIPSE FOUNDATION EUROPE GMBH (EFE GMBH), Germany + \item INSIDE, Netherlands + \item UNIVERSITEIT GENT (UGent), Belgium + \item RHEINISCH-WESTFAELISCHE TECHNISCHE HOCHSCHULE AACHEN (RWTH AACHEN), Germany + \item COMMISSARIAT A L ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES (CEA), France + \item SINTEF AS (SINTEF), Norway + \item IDC ITALIA SRL, Italy + \item THALES (THALES), France + \item CLOUDFERRO SA, Poland + \item BARCELONA SUPERCOMPUTING CENTER CENTRO NACIONAL DE SUPERCOMPUTACION (BSC CNS), Spain + \end{itemize} + \item[Inria contact:] \pers{Olivier}{Zendra} + \item[Coordinator:] % please add the project's coordinator name + \item[Summary:] The objective of HiPEAC is to stimulate and reinforce the development of the dynamic European computing ecosystem that supports the digital transformation of Europe. It does so by guiding the future research and innovation of key digital, enabling, and emerging technologies, sectors, and value chains. The longer term goal is to strengthen European leadership in the global data economy and to accelerate and steer the digital and green transitions through human-centred technologies and innovations. This will be achieved via mobilising and connecting European partnerships and stakeholders to be involved in the research, innovation and development of computing and systems technologies. They will provide roadmaps supporting the creation of next-generation computing technologies, infrastructures, and service platforms. + + + +The key aim is to support and contribute to rapid technological development, market uptake and digital autonomy for Europe in advanced digital technology (hardware and software) and applications across the whole European digital value chain. HiPEAC will do this by connecting and upscaling existing initiatives and efforts, by involving the key stakeholders, and by improving the conditions for large-scale market deployment. The next-generation computing and systems technologies and applications developed will increase European autonomy in the data economy. This is required to support future hyper-distributed applications and provide new opportunities for further disruptive digital transformation of the economy and society, new business models, economic growth, and job creation. + + + +The HiPEAC CSA proposal directly addresses the research, innovation, and development of next generation computing and systems technologies and applications. The overall goal is to support the European value chains and value networks in computing and systems technologies across the computing continuum from cloud to edge computing to the Internet of Things (IoT). +\end{description} +% [END CORDIS IMPORT] + +\subsubsection{H2020 projects} +\subsubsection{Digital Europe} +\subsubsection{Other european programs/initiatives} + + +%% [begin RA2022 imported content] +\subsection{National initiatives} +\label{diverse:national-initiatives} + + \subsubsection{ANR} + +\paragraph*{\label{project:MC-Evo}MC-Evo2 ANR JCJC} + + +\begin{participants} +\pers{Djamel Eddine}{Khelladi} +\end{participants} + +\begin{itemize} + \item Coordinator: Djamel E. Khelladi + \item DiverSE, CNRS/IRISA Rennes + \item Dates: 2021-2025 + \item Abstract: + Software maintenance represents 40\% to 80\% of the total cost of developing software. On 65~projects, an IT company reported a cost of several million dollars, with a 25\% higher cost on complex projects. Nowadays, software evolves frequently with the philosophy “Release early, release often” embraced by IT giants like the GAFAM, thus making software maintenance difficult and costly. Developing complex software inevitably requires developers to handle multiple dimensions, such as APIs to use, tests to write, models to reason with, etc. When software evolves, a co-evolution is usually necessary as a follow-up, to resolve the impacts caused by the evolution changes. For example, when APIs evolve, code must be co-evolved, or when code evolves, its tests must be co-evolved. The goals of this project are to: 1)~address these challenges from a novel perspective, namely a multidimensional co-evolution approach, 2)~investigate empirically the multidimensional co-evolution in practice in GitHub, Maven, and Eclipse, 3)~automate and propagate the multidimensional co-evolution between the software code, APIs, tests, and models. +\end{itemize} + + + +\subsubsection{DGA} + +\paragraph*{\label{project:fpml}LangComponent (CYBERDEFENSE)} + +\begin{participants} +\pers{Benoît}{Combemale} +\pers{Olivier}{Barais} +\end{participants} + + \begin{itemize} + \item Coordinator: DGA + \item Partners: DGA MI, INRIA + \item Dates: 2019-2022 + \item Abstract: in the context of this project, DGA-MI and the INRIA team DiverSE explore the existing approaches to ease the development of formal specifications of domain-Specific Languages (DSLs) dedicated to packet filtering, while guaranteeing expressiveness, precision and safety. In the long term, this work is part of the trend to provide to DGA-MI and its partners a tooling to design and develop formal DSLs which ease the use while ensuring a high level of reasoning. + \end{itemize} + + +\subsubsection{DGAC} + +\paragraph*{\label{project:oneway}OneWay} +\begin{participants} +\pers{Benoît}{Combemale} +\pers{Didier}{Vojtisek} +\pers{Olivier}{Barais} +\pers{Jean-Marc}{Jézéquel} +\pers{Mathieu}{Acher} +\end{participants} + + \begin{itemize} + \item Coordinator: Airbus + \item Partners: Airbus, Dassault Aviation, Liebherr Aerospace, Safran Electrical Power, Safran +Aerotechnics, Thales, Altran Technologies, Cap Gemini, Sopra Steria, CIMPA, IMT Mines Ales, University of +Rennes 1, ENSTA Bretagne, and PragmaDev. + \item Dates: 2021-2022 + \item Abstract: The ONEWAY project aims at maturing digital functional bricks for the following capacities: 1)~Digitalization, MBSE modeling and synthetic analysis by substitution model, of all the information and under all the points of view necessary for the design and validation across an extended enterprise of the complete aircraft system and at all its levels of decomposition, 2)~Generic and instantiable configuration management throughout the life cycle, on products and their support systems, in product lines or on aircraft programs, interactively in the context of an extended enterprise, 3)~Decision support for launching, then controlling and steering a Product Development Plan interactively in the context of an extended enterprise, and 4)~Helping the efficiency of IVVQ activities: its operations, its testing and data processing resources, its ability to perform massive testing. + \end{itemize} + +\paragraph*{\label{project:mip4}MIP 4.0} +\begin{participants} +\pers{Benoît}{Combemale} +\pers{Didier}{Vojtisek} +\pers{Olivier}{Barais} +\end{participants} + + \begin{itemize} + \item Coordinator: Safran + \item Partners: Safran, Akka, Inria. + \item Dates: 2022-2023 + \item Abstract: The MIP 4.0 project aims at investigating integrated methods for efficient and shared propulsion systems. Inria explore new techniques for collaborative modeling over the time. + \end{itemize} + + %TODO (djamel) Add JCJC Djamel + + +%% [end RA2022 imported content] +\subsection{Regional initiatives} diff --git a/11-dissemination.tex b/11-dissemination.tex new file mode 100644 index 0000000..d1632f7 --- /dev/null +++ b/11-dissemination.tex @@ -0,0 +1,127 @@ + + +% [doc] ----------------------------- +% [doc] Instructions +% [doc] ----------------------------- +% [doc] https://intranet.inria.fr/Vie-scientifique/Information-edition-scientifiques/RADAR/Structure-du-rapport +% [doc] ----------------------------- +% [radar] ----------------------------------- +% [radar] Do not alter this section title +\section{Dissemination} +\label{DIVERSE:dissemination} +% [radar] ----------------------------------- + +% Suggested subsection +\subsection{Promoting scientific activities} +\label{DIVERSE:animation} + +% Suggested subsubsection +\subsubsection{Scientific events: organisation} +\label{DIVERSE:animation-eventorga} + +% Suggested paragraph +\paragraph{General chair, scientific chair} +\label{DIVERSE:animation-eventorga-chair} + +% Suggested paragraph +\paragraph{Member of the organizing committees} +\label{DIVERSE:animation-eventorga-comittee} + +% Suggested subsubsection +\subsubsection{Scientific events: selection} +\label{DIVERSE:animation-eventselect} + +% Suggested paragraph +\paragraph{Chair of conference program committees} +\label{DIVERSE:animation-eventselect-chair} + +% Suggested paragraph +\paragraph{Member of the conference program committees} +\label{DIVERSE:animation-eventselect-member} + +% Suggested paragraph +\paragraph{Reviewer} +\label{DIVERSE:animation-eventselect-review} + +% Suggested subsubsection +\subsubsection{Journal} +\label{DIVERSE:animation-journal} + +% Suggested paragraph +\paragraph{Member of the editorial boards} +\label{DIVERSE:animation-journal-board} + +% Suggested paragraph +\paragraph{Reviewer - reviewing activities} +\label{DIVERSE:animation-journal-review} + +% Suggested subsubsection +\subsubsection{Invited talks} +\label{DIVERSE:animation-talks} + +% Suggested subsubsection +\subsubsection{Leadership within the scientific community} +\label{DIVERSE:animation-leadership} + +% Suggested subsubsection +\subsubsection{Scientific expertise} +\label{DIVERSE:animation-expertise} + +% Suggested subsubsection +\subsubsection{Research administration} +\label{DIVERSE:animation-admin} + +% Suggested subsection +\subsection{Teaching - Supervision - Juries} +\label{DIVERSE:teaching} +\subsubsection {Teaching} + + The \team{} team bears the bulk of the teaching on Software Engineering at the + University of Rennes 1 and at INSA Rennes, for the first year of the Master of Computer Science + (Project Management, Object-Oriented Analysis and Design with UML, Design Patterns, + Component Architectures and Frameworks, Validation \& Verification, Human-Computer Interaction) + and for the second year of the MSc in software engineering (Model driven Engineering, Aspect-Oriented Software Development, + Software Product Lines, Component Based Software Development, Validation \& Verification, \textit{etc.}). + + Each of Jean-Marc J\'{e}z\'{e}quel, No\"el Plouzeau, Olivier Barais, Benoît Combemale, Johann Bourcier, Arnaud Blouin, Stéphanie Challita and Mathieu Acher teaches about 250h in these domains for a grand total of about 2000 hours, including several courses at ENSTB, IMT, ENS Rennes and ENSAI Rennes engineering school. + +Olivier~Barais is deputy director of the electronics and computer science teaching department of the University of Rennes~1. +Olivier Barais is the head of the Master in Computer Science at the University of Rennes~1. +Johann Bourcier has been the head of the Computer Science department and member of the management board at the ESIR engineering school in Rennes until 08/2021, and Benoît Combemale took the responsability afterward. +Arnaud Blouin is in charge of industrial relationships for the computer science department at INSA Rennes and elected member of this CS department council. + + The \team{} team also hosts several MSc and summer trainees every year. + + + +% Suggested subsubsection + +% Suggested subsubsection + +% Suggested subsubsection +\subsubsection{Supervision} +\label{DIVERSE:teaching-supervision} + +% Suggested subsubsection +\subsubsection{Juries} +\label{DIVERSE:teaching-juries} + +% Suggested subsection +\subsection{Popularization} +\label{DIVERSE:popularization} + +% Suggested subsubsection +\subsubsection{Internal or external Inria responsibilities} +\label{DIVERSE:popularization-resp} + +% Suggested subsubsection +\subsubsection{Articles and contents} +\label{DIVERSE:popularization-articles} + +% Suggested subsubsection +\subsubsection{Education} +\label{DIVERSE:popularization-education} + +% Suggested subsubsection +\subsubsection{Interventions} +\label{DIVERSE:popularization-intervention} diff --git a/12-READONLY-scientific-production.tex b/12-READONLY-scientific-production.tex new file mode 100644 index 0000000..ba7e183 --- /dev/null +++ b/12-READONLY-scientific-production.tex @@ -0,0 +1,29 @@ +\section{Scientific production} +\label{diverse:bibliography} + + \nocite{*} + % Major publications + \printbibliography[title={Major publications}, heading={subbibra}, keyword={majorpublication}] + \subsection{Publications of the year} + \printbibliography[title={International journals}, heading={subsubbibra}, keyword={yearpublication010}] + \printbibliography[title={National journals}, heading={subsubbibra}, keyword={yearpublication020}] + \printbibliography[title={Invited conferences}, heading={subsubbibra}, keyword={yearpublication030}] + \printbibliography[title={International peer-reviewed conferences}, heading={subsubbibra}, keyword={yearpublication040}] + \printbibliography[title={National peer-reviewed Conferences}, heading={subsubbibra}, keyword={yearpublication050}] + \printbibliography[title={Conferences without proceedings}, heading={subsubbibra}, keyword={yearpublication060}] + \printbibliography[title={Scientific books}, heading={subsubbibra}, keyword={yearpublication070}] + \printbibliography[title={Scientific book chapters}, heading={subsubbibra}, keyword={yearpublication080}] + \printbibliography[title={Edition (books, proceedings, special issue of a journal)}, heading={subsubbibra}, keyword={yearpublication090}] + \printbibliography[title={Doctoral dissertations and habilitation theses}, heading={subsubbibra}, keyword={yearpublication100}] + \printbibliography[title={Reports \& preprints}, heading={subsubbibra}, keyword={yearpublication110}] + \printbibliography[title={Other scientific publications}, heading={subsubbibra}, keyword={yearpublication120}] + \IfFileExists{\rabibyearprod}{% + \subsection{Other} + \printbibliography[title={Scientific popularization}, heading={subsubbibra}, keyword={yearproduction130}] + \printbibliography[title={Educational activities}, heading={subsubbibra}, keyword={yearproduction140}] + \printbibliography[title={Patents}, heading={subsubbibra}, keyword={yearproduction150}] + \printbibliography[title={Softwares}, heading={subsubbibra}, keyword={yearproduction160}] + }{} + % Cited Publications + \printbibliography[title={Cited publications}, heading={subbibra}, keyword={citedpublication}, category={citedpub}] + \ No newline at end of file diff --git a/12_01-BIB-READONLY-major-publications.bib b/12_01-BIB-READONLY-major-publications.bib new file mode 100644 index 0000000..dc2f9cf --- /dev/null +++ b/12_01-BIB-READONLY-major-publications.bib @@ -0,0 +1,451 @@ +@article{m:acher:hal-01522779, + author = {Acher, Mathieu and Lopez-Herrejon, Roberto E and Rabiser, Rick}, + pdf = {\url{https://hal.inria.fr/hal-01522779/file/TOCE.pdf}}, + url = {https://hal.inria.fr/hal-01522779}, + year = {2017}, + month = {May}, + title = {Teaching Software Product Lines: A Snapshot of Current Practices and Challenges}, + hal_id = {hal-01522779}, + journal = {ACM Transactions of Computing Education}, + presort = {000}, + keywords = {Software and its engineering $\rightarrow$ Software product lines ; Software Product Lines ; Applied computing $\rightarrow$ Education ; Social and professional topics $\rightarrow$ Computing education ; General and reference $\rightarrow$ Surveys and overviews ; Software Engineering Teaching ; Variability Modeling ; Software Product Line Teaching}, + publisher = {Association for Computing Machinery}, + hal_version = {v1}, +} +@article{m:corre:hal-01611048, + author = {Corre, Kevin and Barais, Olivier and Sunyé, Gerson and Frey, Vincent and Crom, Jean-Michel}, + doi = {10.1515/popets-2017-0029}, + pdf = {\url{https://hal.archives-ouvertes.fr/hal-01611048/file/main.pdf}}, + url = {https://hal.archives-ouvertes.fr/hal-01611048}, + year = {2017}, + month = {January}, + pages = {72-86}, + title = {Why can't users choose their identity providers on the web?}, + hal_id = {hal-01611048}, + number = {3}, + volume = {2017}, + journal = {Proceedings on Privacy Enhancing Technologies}, + presort = {000}, + keywords = {trust ; identity ; user choice ; OpenID ; communication privacy ; OAuth ; SSO ; web browser ; WebRTC}, + publisher = {De Gruyter Open}, + hal_version = {v1}, +} +@article{m:boussaa:hal-02422437, + author = {Boussaa, Mohamed and Barais, Olivier and Sunyé, Gerson and Baudry, Benoit}, + doi = {10.1002/stvr.1721}, + pdf = {\url{https://hal.inria.fr/hal-02422437/file/Leveraging}\%20metamorphic\%20testing\%20to\%20automatically\%20detect\%20inconsistencies\%20in\%20code\%20generator\%20families\%20\%28STVR2019\%29.pdf}, + url = {https://hal.inria.fr/hal-02422437}, + year = {2019}, + month = {December}, + title = {Leveraging metamorphic testing to automatically detect inconsistencies in code generator families}, + hal_id = {hal-02422437}, + journal = {Software Testing, Verification and Reliability}, + presort = {000}, + keywords = {test oracle ; code generators ; metamorphic testing ; non-functional properties ; software quality ; test automation}, + publisher = {Wiley}, + hal_version = {v1}, +} +@article{m:veraperez:hal-01867423, + author = {Vera-Pérez, Oscar Luis and Danglot, Benjamin and Monperrus, Martin and Baudry, Benoit}, + doi = {10.1007/s10664-018-9653-2}, + pdf = {\url{https://hal.inria.fr/hal-01867423/file/main.pdf}}, + url = {https://hal.inria.fr/hal-01867423}, + year = {2018}, + pages = {1-33}, + title = {A Comprehensive Study of Pseudo-tested Methods}, + hal_id = {hal-01867423}, + journal = {Empirical Software Engineering}, + presort = {000}, + publisher = {Springer Verlag}, + hal_version = {v2}, + visible = {NOT_VISIBLE}, +} +@article{m:temple:hal-02177158, + author = {Temple, Paul and Acher, Mathieu and Jézéquel, Jean-Marc}, + doi = {10.1109/TSE.2019.2926971}, + pdf = {\url{https://hal.inria.fr/hal-02177158/file/Leveraging}\_performance\_variations\_with\_Multimorphic\_Testing-TempleAcherJezequel-TSE.pdf}, + url = {https://hal.inria.fr/hal-02177158}, + year = {2019}, + month = {July}, + pages = {1-21}, + title = {Empirical Assessment of Multimorphic Testing}, + hal_id = {hal-02177158}, + journal = {IEEE Transactions on Software Engineering}, + presort = {000}, + keywords = {performance ; test evaluation ; software testing ; configuration ; software product lines ; performance testing ; variability}, + publisher = {Institute of Electrical and Electronics Engineers}, + hal_version = {v1}, +} +@article{m:leduc:hal-02399166, + author = {Leduc, Manuel and Degueule, Thomas and Van Wyk, Eric and Combemale, Benoit}, + pdf = {\url{https://hal.inria.fr/hal-02399166/file/The}\_Software\_Language\_Extension\_Problem.pdf}, + url = {https://hal.inria.fr/hal-02399166}, + year = {2019}, + pages = {1-4}, + title = {The Software Language Extension Problem}, + hal_id = {hal-02399166}, + journal = {Software and Systems Modeling}, + presort = {000}, + publisher = {Springer Verlag}, + hal_version = {v1}, +} +@article{m:bousse:hal-01662336, + author = {Bousse, Erwan and Leroy, Dorian and Combemale, Benoit and Wimmer, Manuel and Baudry, Benoit}, + doi = {10.1016/j.jss.2017.11.025}, + pdf = {\url{https://hal.inria.fr/hal-01662336/file/jss17-debugging.pdf}}, + url = {https://hal.inria.fr/hal-01662336}, + year = {2018}, + month = {March}, + pages = {261-288}, + title = {Omniscient Debugging for Executable DSLs}, + hal_id = {hal-01662336}, + volume = {137}, + journal = {Journal of Systems and Software}, + presort = {000}, + keywords = {Omniscient debugging ; Execution trace ; Executable DSL ; Software Language Engineering ; Domain-Specific Languages}, + publisher = {Elsevier}, + hal_version = {v1}, +} +@article{m:blouin:hal-01499106, + author = {Blouin, Arnaud and Lelli, Valéria and Baudry, Benoit and Coulon, Fabien}, + doi = {10.1016/j.infsof.2018.05.005}, + pdf = {\url{https://hal.inria.fr/hal-01499106/file/main.pdf}}, + url = {https://hal.inria.fr/hal-01499106}, + year = {2018}, + month = {May}, + pages = {49-64}, + title = {User Interface Design Smell: Automatic Detection and Refactoring of Blob Listeners}, + hal_id = {hal-01499106}, + volume = {102}, + journal = {Information and Software Technology}, + presort = {000}, + keywords = {Event Handling ; Empirical software engineering ; Code refactoring ; Design smell ; User interface ; Software maintenance}, + publisher = {Elsevier}, + hal_version = {v5}, +} +@article{m:temple:hal-01659137, + author = {Temple, Paul and Acher, Mathieu and Jezequel, Jean-Marc and Barais, Olivier}, + doi = {10.1109/MS.2017.4121211}, + pdf = {\url{https://hal.inria.fr/hal-01659137/file/Learning}\_Contextual\_Variability\_Models.pdf}, + url = {https://hal.inria.fr/hal-01659137}, + year = {2017}, + month = {November}, + pages = {64-70}, + title = {Learning-Contextual Variability Models}, + hal_id = {hal-01659137}, + number = {6}, + volume = {34}, + journal = {IEEE Software}, + presort = {000}, + publisher = {Institute of Electrical and Electronics Engineers}, + hal_version = {v1}, +} +@article{m:halin:hal-01829928, + author = {Halin, Axel and Nuttinck, Alexandre and Acher, Mathieu and Devroey, Xavier and Perrouin, Gilles and Baudry, Benoit}, + doi = {10.1007/s10664-018-9635-4}, + url = {https://hal.inria.fr/hal-01829928}, + year = {2018}, + month = {July}, + pages = {1--44}, + title = {Test them all, is it worth it? Assessing configuration sampling on the JHipster Web development stack}, + hal_id = {hal-01829928}, + journal = {Empirical Software Engineering}, + presort = {000}, + publisher = {Springer Verlag}, + hal_version = {v1}, +} +@article{m:dartois:hal-02013421, + author = {Dartois, Jean-Emile and Boukhobza, Jalil and Knefati, Anas and Barais, Olivier}, + doi = {10.1109/TCC.2019.2898192}, + pdf = {\url{https://hal.inria.fr/hal-02013421/file/Investigating}\_Machine\_Learning\_Algorithms\_for\_Modeling\_SSD\_I\_O\_Performance\_for\_Container\_based\_Virtualization.pdf}, + url = {https://hal.inria.fr/hal-02013421}, + year = {2019}, + pages = {1-14}, + title = {Investigating Machine Learning Algorithms for Modeling SSD I/O Performance for Container-based Virtualization}, + hal_id = {hal-02013421}, + volume = {14}, + journal = {IEEE transactions on cloud computing}, + presort = {000}, + keywords = {Performance and QoS ; Cloud Computing ; I/O Interference ; Solid State Drives ; Container ; Machine Learning ; flash memory}, + publisher = {IEEE}, + hal_version = {v1}, +} +@inproceedings{m:rodriguezcancio:hal-01343818, + author = {Rodriguez-Cancio, Marcelino and Combemale, Benoit and Baudry, Benoit}, + pdf = {\url{https://hal.inria.fr/hal-01343818/document}}, + url = {https://hal.inria.fr/hal-01343818}, + year = {2016}, + month = {September}, + title = {Automatic Microbenchmark Generation to Prevent Dead Code Elimination and Constant Folding}, + hal_id = {hal-01343818}, + presort = {000}, + booktitle = {Proc. of the Int. Conf. on Automated Software Engineering (ASE)}, + hal_version = {v1}, + x_proceedings = {yes}, + x_editorial_board = {yes}, + x_invited_conference = {no}, + x_international_audience = {yes}, + x_scientific_popularization = {no}, +} +@inproceedings{m:laperdrix:hal-01285470, + author = {Laperdrix, Pierre and Rudametkin, Walter and Baudry, Benoit}, + url = {https://hal.inria.fr/hal-01285470}, + year = {2016}, + month = {May}, + title = {Beauty and the Beast: Diverting modern web browsers to build unique browser fingerprints}, + presort = {000}, + booktitle = {Proc. of the Symp. on Security and Privacy (S\&P)}, +} +@article{m:baudry:hal-01182103, + author = {Baudry, Benoit and Monperrus, Martin}, + pdf = {\url{https://hal.inria.fr/hal-01182103/document}}, + url = {https://hal.inria.fr/hal-01182103}, + year = {2015}, + pages = {16:1--16:26}, + title = {The Multiple Facets of Software Diversity: Recent Developments in Year 2000 and Beyond}, + hal_id = {hal-01182103}, + number = {1}, + volume = {48}, + journal = {ACM Computing Surveys}, + presort = {000}, + publisher = {Association for Computing Machinery}, + hal_version = {v1}, + x_editorial_board = {yes}, + x_international_audience = {yes}, + x_scientific_popularization = {no}, + visible = {NOT_VISIBLE}, +} +@inproceedings{m:degueule:hal-01197038, + author = {Degueule, Thomas and Combemale, Benoit and Blouin, Arnaud and Barais, Olivier and Jézéquel, Jean-Marc}, + pdf = {\url{https://hal.inria.fr/hal-01197038/document}}, + url = {https://hal.inria.fr/hal-01197038}, + year = {2015}, + month = {October}, + title = {Melange: A Meta-language for Modular and Reusable Development of DSLs}, + hal_id = {hal-01197038}, + presort = {000}, + booktitle = {Proc. of the Int. Conf. on Software Language Engineering (SLE)}, + hal_version = {v1}, + x_proceedings = {yes}, + x_editorial_board = {yes}, + x_invited_conference = {no}, + x_international_audience = {yes}, + x_scientific_popularization = {no}, +} +@article{m:jezequel:hal-00829839, + author = {Jézéquel, Jean-Marc and Combemale, Benoit and Barais, Olivier and Monperrus, Martin and Fouquet, François}, + pdf = {\url{https://hal.inria.fr/hal-00829839/document}}, + url = {https://hal.inria.fr/hal-00829839}, + year = {2015}, + pages = {905-920}, + title = {Mashup of Meta-Languages and its Implementation in the Kermeta Language Workbench}, + hal_id = {hal-00829839}, + number = {2}, + volume = {14}, + journal = {Software and Systems Modeling}, + presort = {000}, + publisher = {Springer Verlag}, + hal_version = {v1}, + x_editorial_board = {yes}, + x_international_audience = {yes}, + x_scientific_popularization = {no}, +} +@article{m:becan:hal-01096969, + author = {Bécan, Guillaume and Acher, Mathieu and Baudry, Benoit and Ben Nasr, Sana}, + doi = {10.1007/s10664-014-9357-1}, + pdf = {\url{https://hal.inria.fr/hal-01096969/document}}, + url = {https://hal.inria.fr/hal-01096969}, + year = {2015}, + pages = {1794--1841}, + title = {Breathing Ontological Knowledge Into Feature Model Synthesis: An Empirical Study}, + hal_id = {hal-01096969}, + number = {4}, + volume = {21}, + journal = {Empirical Software Engineering}, + presort = {000}, + publisher = {Springer Verlag}, + hal_version = {v1}, + x_editorial_board = {yes}, + x_international_audience = {yes}, + x_scientific_popularization = {no}, + visible = {NOT_VISIBLE}, +} +@inproceedings{m:galindoduarte:hal-01003148, + author = {Galindo Duarte, José Angel and Alférez, Mauricio and Acher, Mathieu and Baudry, Benoit and Benavides, David}, + pdf = {\url{https://hal.inria.fr/hal-01003148v3/document}}, + url = {https://hal.inria.fr/hal-01003148}, + year = {2014}, + month = {July}, + title = {A Variability-Based Testing Approach for Synthesizing Video Sequences}, + hal_id = {hal-01003148}, + presort = {000}, + booktitle = {Proc. of the Int. Symp. on Software Testing and Analysis (ISSTA)}, + hal_version = {v3}, + x_proceedings = {yes}, + x_editorial_board = {yes}, + x_invited_conference = {no}, + x_international_audience = {yes}, + x_scientific_popularization = {no}, +} +@inproceedings{m:davril:hal-00859475, + author = {Davril, Jean-Marc and Delfosse, Edouard and Hariri, Negar and Acher, Mathieu and Clelang-Huang, Jane and Heymans, Patrick}, + doi = {10.1145/2491411.2491455}, + pdf = {\url{https://hal.inria.fr/hal-00859475/document}}, + url = {https://hal.inria.fr/hal-00859475}, + year = {2013}, + month = {September}, + pages = {290-300}, + title = {Feature Model Extraction from Large Collections of Informal Product Descriptions}, + hal_id = {hal-00859475}, + presort = {000}, + booktitle = {Proc. of the Europ. Software Engineering Conf. and the ACM SIGSOFT Symp. on the Foundations of Software Engineering (ESEC/FSE)}, + hal_version = {v1}, + x_proceedings = {yes}, + x_editorial_board = {yes}, + x_invited_conference = {no}, + x_international_audience = {yes}, + x_scientific_popularization = {no}, +} +@article{m:combemale:hal-00994551, + author = {Combemale, Benoit and Deantoni, Julien and Baudry, Benoit and France, Robert B. and Jézéquel, Jean-Marc and Gray, Jeff}, + pdf = {\url{https://hal.inria.fr/hal-00994551/document}}, + url = {https://hal.inria.fr/hal-00994551}, + year = {2014}, + month = {June}, + pages = {10-13}, + title = {Globalizing Modeling Languages}, + hal_id = {hal-00994551}, + journal = {IEEE Computer}, + presort = {000}, + publisher = {Institute of Electrical and Electronics Engineers}, + hal_version = {v1}, + x_editorial_board = {yes}, + x_international_audience = {yes}, + x_scientific_popularization = {no}, +} +@article{m:gonzalezherrera:hal-01354999, + author = {Gonzalez-Herrera, Inti and Bourcier, Johann and Daubert, Erwan and Rudametkin, Walter and Barais, Olivier and Fouquet, François and Jézéquel, Jean-Marc and Baudry, Benoit}, + doi = {10.1016/j.jss.2016.02.027}, + pdf = {\url{https://hal.inria.fr/hal-01354999/file/jss.pdf}}, + url = {https://hal.inria.fr/hal-01354999}, + year = {2016}, + title = {ScapeGoat: Spotting abnormal resource usage in component-based reconfigurable software systems}, + hal_id = {hal-01354999}, + journal = {Journal of Systems and Software}, + presort = {000}, + publisher = {Elsevier}, + hal_version = {v1}, +} +@article{m:temple:hal-03045797, + author = {Temple, Paul and Perrouin, Gilles and Acher, Mathieu and Biggio, Battista and Jézéquel, Jean-Marc and Roli, Fabio}, + pdf = {\url{https://hal.inria.fr/hal-03045797/file/Extension}\_SPLC2019\_AdversConfig\_EMSE.pdf}, + url = {https://hal.inria.fr/hal-03045797}, + year = {2020}, + month = {December}, + pages = {1-57}, + title = {Empirical Assessment of Generating Adversarial Configurations for Software Product Lines}, + hal_id = {hal-03045797}, + journal = {Empirical Software Engineering}, + presort = {000}, + publisher = {Springer Verlag}, + hal_version = {v1}, +} +@inproceedings{m:khelladi:hal-03029426, + author = {Khelladi, Djamel Eddine and Combemale, Benoit and Acher, Mathieu and Barais, Olivier}, + pdf = {\url{https://hal.inria.fr/hal-03029426/file/temp}\_nier.pdf}, + url = {https://hal.inria.fr/hal-03029426}, + year = {2020}, + month = {May}, + title = {On the Power of Abstraction: a Model-Driven Co-evolution Approach of Software Code}, + hal_id = {hal-03029426}, + address = {Séoul, South Korea}, + presort = {000}, + booktitle = {42nd International Conference on Software Engineering, New Ideas and Emerging Results}, + hal_version = {v1}, +} +@inproceedings{m:ledilavrec:hal-03764541, + author = {Le Dilavrec, Quentin and Khelladi, Djamel Eddine and Blouin, Arnaud and Jézéquel, Jean-Marc}, + url = {https://hal.inria.fr/hal-03764541}, + date = {2022-10-10}, + pages = {1-12}, + title = {HyperAST: Enabling Efficient Analysis of Software Histories at Scale}, + hal_id = {hal-03764541}, + halref = {ledilavrec:hal-03764541}, + presort = {000}, + hal_type = {COMM}, + location = {Oakland, United States}, + publisher = {IEEE}, + eventtitle = {ASE 2022 - 37th IEEE/ACM International Conference on Automated Software Engineering}, + date_produced = {2022-10-10}, + hal_type_title = {Conference papers}, + x-proceedings = {yes}, + x-editorial_board = {yes}, + x-invited_conference = {no}, + x-international_audience = {yes}, + x-scientific_popularisation = {no}, +} +@inproceedings{m:khelladi:hal-03029429, + author = {Khelladi, Djamel Eddine and Combemale, Benoit and Acher, Mathieu and Barais, Olivier and Jézéquel, Jean-Marc}, + url = {https://hal.inria.fr/hal-03029429}, + date = {2020-07-06}, + pages = {1-13}, + title = {Co-Evolving Code with Evolving Metamodels}, + hal_id = {hal-03029429}, + halref = {khelladi:hal-03029429}, + presort = {000}, + hal_type = {COMM}, + location = {Séoul, South Korea}, + eventtitle = {ICSE 2020 - 42nd International Conference on Software Engineering}, + date_produced = {2020-07-06}, + hal_type_title = {Conference papers}, + x-proceedings = {yes}, + x-editorial_board = {yes}, + x-invited_conference = {no}, + x-international_audience = {yes}, + x-scientific_popularisation = {no}, +} +@article{m:martin:hal-03358817, + author = {Martin, Hugo and Acher, Mathieu and Pereira, Juliana Alves and Lesoil, Luc and Jézéquel, Jean-Marc and Khelladi, Djamel Eddine}, + doi = {10.1109/TSE.2021.3116768}, + url = {https://hal.inria.fr/hal-03358817}, + date = {2022-11-01}, + issn = {0098-5589}, + pages = {4274-4290}, + title = {Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size}, + hal_id = {hal-03358817}, + halref = {martin:hal-03358817}, + number = {11}, + volume = {48}, + journal = {IEEE Transactions on Software Engineering}, + presort = {000}, + date_pub = {2022-11-01}, + hal_type = {ART}, + publisher = {Institute of Electrical and Electronics Engineers}, + date_produced = {2022-11-01}, + hal_type_title = {Journal articles}, + x-proceedings = {no}, + x-editorial_board = {yes}, + x-invited_conference = {no}, + x-international_audience = {yes}, + x-scientific_popularisation = {no}, +} +@inproceedings{m:randrianaina:hal-03547219, + author = {Randrianaina, Georges Aaron and Tërnava, Xhevahire and Khelladi, Djamel Eddine and Acher, Mathieu}, + url = {https://hal.science/hal-03547219}, + date = {2022-05-08}, + pages = {1-12}, + title = {On the Benefits and Limits of Incremental Build of Software Configurations: An Exploratory Study}, + hal_id = {hal-03547219}, + halref = {randrianaina:hal-03547219}, + presort = {000}, + hal_type = {COMM}, + location = {Pittsburgh, Pennsylvania / Virtual, United States}, + eventtitle = {ICSE 2022 - 44th International Conference on Software Engineering}, + date_produced = {2022-05-08}, + hal_type_title = {Conference papers}, + x-proceedings = {yes}, + x-editorial_board = {yes}, + x-invited_conference = {no}, + x-international_audience = {yes}, + x-scientific_popularisation = {no}, +} diff --git a/12_02-BIB-READONLY-year-publications.bib b/12_02-BIB-READONLY-year-publications.bib new file mode 100644 index 0000000..434f2c8 --- /dev/null +++ b/12_02-BIB-READONLY-year-publications.bib @@ -0,0 +1,956 @@ +@article{bumiller:hal-04037520, + author = {Bumiller, Anne and Challita, Stéphanie and Combemale, Benoit and Barais, Olivier and Aillery, Nicolas and Le Lan, Gael}, + hal_type = {ART}, + hal_type_title = {Journal articles}, + title = {On Understanding Context Modelling for Adaptive Authentication Systems}, + halref = {bumiller:hal-04037520}, + type_label = {International journals}, + type_number = {010}, + presort = {010}, + issn = {1556-4665}, + eissn = {1556-4703}, + journal = {ACM Transactions on Autonomous and Adaptive Systems}, + pages = {1-36}, + date_pub = {2023-01-01}, + doi = {10.1145/3582696}, + url = {https://hal.science/hal-04037520}, + hal_id = {hal-04037520}, + publisher = {Association for Computing Machinery (ACM)}, + date_produced = {2023-01-01}, + date = {2023-01-01}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@inproceedings{mehanna:hal-04084097, + author = {Mehanna, Naif and Rudametkin, Walter}, + hal_type = {COMM}, + hal_type_title = {Conference papers}, + title = {Caught in the Game: On the History and Evolution of Web Browser Gaming}, + halref = {mehanna:hal-04084097}, + type_label = {International peer-reviewed conferences}, + type_number = {040}, + presort = {040}, + eventtitle = {The Web Conference 2023}, + booktitle = {Companion Proceedings of the ACM Web Conference 2023 (WWW ’23 Companion),}, + pages = {1-9}, + date_pub = {2023}, + url = {https://hal.science/hal-04084097}, + hal_id = {hal-04084097}, + license = {Attribution}, + date_produced = {2023-04-30}, + location = {Austin (TX), United States}, + date = {2023}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {yes}, + x-scientific_popularisation = {no}, +} +@inproceedings{ternava:hal-03916459, + author = {Tërnava, Xhevahire and Acher, Mathieu and Combemale, Benoit}, + hal_type = {COMM}, + hal_type_title = {Conference papers}, + title = {Specialization of Run-time Configuration Space at Compile-time: An Exploratory Study}, + halref = {ternava:hal-03916459}, + type_label = {Conferences without proceedings}, + type_number = {060}, + presort = {060}, + eventtitle = {SAC 2023 - The 38th ACM/SIGAPP Symposium on Applied Computing}, + pages = {1-10}, + url = {https://hal.science/hal-03916459}, + hal_id = {hal-03916459}, + publisher = {ACM}, + date_produced = {2023-03-27}, + location = {Tallinn, Estonia}, + date = {2023-03-27}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@inproceedings{acher:hal-04312909, + author = {Acher, Mathieu}, + hal_type = {COMM}, + hal_type_title = {Conference papers}, + title = {A Demonstration of End-User Code Customization Using Generative AI}, + halref = {acher:hal-04312909}, + type_label = {International peer-reviewed conferences}, + type_number = {040}, + presort = {040}, + eventtitle = {18th International Working Conference on Variability Modelling of Software-Intensive Systems}, + doi = {10.1145/3634713.3634732}, + url = {https://hal.science/hal-04312909}, + hal_id = {hal-04312909}, + date_produced = {2024-02-07}, + location = {Bern, Switzerland}, + date = {2024-02-07}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {yes}, + x-scientific_popularisation = {no}, +} +@article{lesoil:hal-03476464, + author = {Lesoil, Luc and Acher, Mathieu and Blouin, Arnaud and Jézéquel, Jean-Marc}, + hal_type = {ART}, + hal_type_title = {Journal articles}, + title = {Input Sensitivity on the Performance of Configurable Systems: An Empirical Study}, + halref = {lesoil:hal-03476464}, + type_label = {International journals}, + type_number = {010}, + presort = {010}, + issn = {0164-1212}, + journal = {Journal of Systems and Software}, + pages = {1-18}, + date_pub = {2023}, + doi = {10.1016/j.jss.2023.111671}, + url = {https://inria.hal.science/hal-03476464}, + hal_id = {hal-03476464}, + publisher = {Elsevier}, + date_produced = {2023}, + date = {2023}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@inproceedings{kebaili:hal-04126496, + author = {Kebaili, Zohra Kaouter and Khelladi, Djamel Eddine and Acher, Mathieu and Barais, Olivier}, + hal_type = {COMM}, + hal_type_title = {Conference papers}, + title = {Towards Leveraging Tests to Identify Impacts of Metamodel and Code Co-evolution}, + halref = {kebaili:hal-04126496}, + type_label = {International peer-reviewed conferences}, + type_number = {040}, + presort = {040}, + eventtitle = {CAiSE 2023 - 35th International Conference on Advanced Information Systems Engineering}, + volume = {477}, + pages = {129-137}, + date_pub = {2023-06-08}, + doi = {10.1007/978-3-031-34674-3_16}, + url = {https://inria.hal.science/hal-04126496}, + hal_id = {hal-04126496}, + series = {Lecture Notes in Business Information Processing}, + publisher = {Springer International Publishing; Springer International Publishing}, + license = {Attribution}, + date_produced = {2023-06-12}, + location = {Zaragoza, Spain}, + date = {2023-06-08}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {yes}, + x-scientific_popularisation = {no}, +} +@inproceedings{jouneaux:hal-04252577, + author = {Jouneaux, Gwendal and Frölich, Damian and Barais, Olivier and Combemale, Benoit and Le Guernic, Gurvan and Mussbacher, Gunter and van Binsbergen, L. Thomas}, + hal_type = {COMM}, + hal_type_title = {Conference papers}, + title = {Adaptive Structural Operational Semantics}, + halref = {jouneaux:hal-04252577}, + type_label = {International peer-reviewed conferences}, + type_number = {040}, + presort = {040}, + eventtitle = {SLE 2023 - 16th ACM SIGPLAN International Conference on Software Language Engineering}, + booktitle = {SLE 2023: Proceedings of the 16th ACM SIGPLAN International Conference on Software Language Engineering}, + pages = {29-42}, + date_pub = {2023-10-23}, + doi = {10.1145/3623476.3623517}, + url = {https://inria.hal.science/hal-04252577}, + hal_id = {hal-04252577}, + publisher = {ACM}, + license = {Attribution}, + date_produced = {2023-10-23}, + location = {Cascais, Portugal}, + date = {2023-10-23}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {yes}, + x-scientific_popularisation = {no}, +} +@misc{lefeuvre:hal-04132604, + author = {Lefeuvre, Romain and Galasso, Jessie and Combemale, Benoit and Sahraoui, Houari and Zacchiroli, Stefano}, + hal_type = {UNDEFINED}, + hal_type_title = {Preprints, Working Papers, ...}, + title = {Fingerprinting and Building Large Reproducible Datasets}, + halref = {lefeuvre:hal-04132604}, + type_label = {Reports \& preprints}, + type_number = {110}, + presort = {110}, + doi = {10.5281/zenodo.7989955}, + url = {https://hal.science/hal-04132604}, + hal_id = {hal-04132604}, + date_produced = {2023}, + date = {2023}, + x-international_audience = {no}, + x-invited_conference = {no}, + x-editorial_board = {no}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@thesis{geneveymetat:tel-04241537, + author = {Genevey-Metat, Christophe}, + hal_type = {THESE}, + hal_type_title = {Theses}, + title = {Apprentissage automatique pour les attaques par canaux auxiliaires}, + halref = {geneveymetat:tel-04241537}, + type_label = {Doctoral dissertations and habilitation theses}, + type_number = {100}, + presort = {100}, + date_defended = {2023-09-28}, + url = {https://theses.hal.science/tel-04241537}, + hal_id = {tel-04241537}, + institution = {Université de Rennes}, + license = {Attribution}, + date_produced = {2023-09-28}, + date = {2023-09-28}, + x-international_audience = {no}, + x-invited_conference = {no}, + x-editorial_board = {no}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@book{duranton:hal-04023794, + author = {Duranton, Marc and Bosschere, Koen De and Coppens, Bart and Gamrat, Christian and Gray, Madeleine and Hoberg, Thomas and Munk, Harm and Robinson, Charles and Vardanega, Tullio and Zendra, Olivier}, + hal_type = {OUV}, + hal_type_title = {Books}, + title = {HiPEAC Vision 2023: High Performance Embedded Architecture And Compilation}, + halref = {duranton:hal-04023794}, + type_label = {Scientific books}, + type_number = {070}, + presort = {070}, + pages = {1-238}, + date_pub = {2023-01}, + url = {https://inria.hal.science/hal-04023794}, + hal_id = {hal-04023794}, + license = {Copyright}, + date_produced = {2023-01}, + date = {2023-01}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {no}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@article{lesoil:hal-04271476, + author = {Lesoil, Luc and Spieker, Helge and Gotlieb, Arnaud and Acher, Mathieu and Temple, Paul and Blouin, Arnaud and Jézéquel, Jean-Marc}, + hal_type = {ART}, + hal_type_title = {Journal articles}, + title = {Learning input-aware performance models of configurable systems: An empirical evaluation}, + halref = {lesoil:hal-04271476}, + type_label = {International journals}, + type_number = {010}, + presort = {010}, + issn = {0164-1212}, + journal = {Journal of Systems and Software}, + pages = {111883}, + date_pub = {2023-11}, + doi = {10.1016/j.jss.2023.111883}, + url = {https://hal.science/hal-04271476}, + hal_id = {hal-04271476}, + publisher = {Elsevier}, + license = {Attribution}, + date_produced = {2023-11}, + date = {2023-11}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@inproceedings{leroy:hal-04249049, + author = {Leroy, Dorian and Combemale, Benoit and Lelandais, Benoît and Oudot, Marie-Pierre}, + hal_type = {COMM}, + hal_type_title = {Conference papers}, + title = {Practical Runtime Instrumentation of Software Languages: The Case of SciHook}, + halref = {leroy:hal-04249049}, + type_label = {International peer-reviewed conferences}, + type_number = {040}, + presort = {040}, + eventtitle = {SLE 2023 - 16th ACM SIGPLAN International Conference on Software Language Engineering}, + pages = {1-6}, + date_pub = {2023}, + url = {https://inria.hal.science/hal-04249049}, + hal_id = {hal-04249049}, + publisher = {ACM}, + license = {Attribution}, + date_produced = {2023-10-22}, + location = {Cascais, Lisbon, Portugal}, + date = {2023}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {yes}, + x-scientific_popularisation = {no}, +} +@inbook{jezequel:hal-04080311, + author = {Jézéquel, Jean-Marc}, + hal_type = {COUV}, + hal_type_title = {Book sections}, + title = {Modeling: From CASE Tools to SLE and Machine Learning}, + halref = {jezequel:hal-04080311}, + type_label = {Scientific book chapters}, + type_number = {080}, + presort = {080}, + booktitle = {The French School of Programming}, + pages = {1-22}, + date_pub = {2023-09-01}, + url = {https://hal.science/hal-04080311}, + hal_id = {hal-04080311}, + publisher = {Springer}, + date_produced = {2023-09-01}, + date = {2023-09-01}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {no}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@inproceedings{acher:hal-04153310, + author = {Acher, Mathieu and Duarte, José Galindo and Jézéquel, Jean-Marc}, + hal_type = {COMM}, + hal_type_title = {Conference papers}, + title = {On Programming Variability with Large Language Model-based Assistant}, + halref = {acher:hal-04153310}, + type_label = {International peer-reviewed conferences}, + type_number = {040}, + presort = {040}, + eventtitle = {SPLC 2023 - 27th ACM International Systems and Software Product Lines Conference}, + pages = {1-7}, + doi = {10.1145/nnnnnnn.nnnnnnn}, + url = {https://inria.hal.science/hal-04153310}, + hal_id = {hal-04153310}, + publisher = {ACM}, + license = {Attribution}, + date_produced = {2023-08-28}, + location = {Tokyo, Japan}, + date = {2023-08-28}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {yes}, + x-scientific_popularisation = {no}, +} +@inbook{martin:hal-03921905, + author = {Martin, Hugo and Temple, Paul and Acher, Mathieu and Pereira, Juliana Alves and Jézéquel, Jean-Marc}, + hal_type = {COUV}, + hal_type_title = {Book sections}, + title = {Machine Learning for Feature Constraints Discovery}, + halref = {martin:hal-03921905}, + type_label = {Scientific book chapters}, + type_number = {080}, + presort = {080}, + booktitle = {Handbook of Re-Engineering Software Intensive Systems into Software Product Lines}, + pages = {175-196}, + date_pub = {2023-07-05}, + doi = {10.1007/978-3-031-11686-5_7}, + url = {https://inria.hal.science/hal-03921905}, + hal_id = {hal-03921905}, + publisher = {Springer International Publishing}, + date_produced = {2023-07-05}, + date = {2023-07-05}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {no}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@inproceedings{lannurien:hal-04303898, + author = {Lannurien, Vincent and D’orazio, Laurent and Barais, Olivier and Paquelet, Stephane and Boukhobza, Jalil}, + hal_type = {POSTER}, + hal_type_title = {Conference poster}, + title = {Distributed Function Cache for Heterogeneous Serverless Cloud}, + halref = {lannurien:hal-04303898}, + type_label = {Other scientific publications}, + type_number = {120}, + presort = {120}, + eventtitle = {Per3S - Performance and Scalability of Storage Systems}, + pages = {1-1}, + date_pub = {2023}, + url = {https://hal.science/hal-04303898}, + hal_id = {hal-04303898}, + license = {Attribution}, + date_produced = {2023-05-30}, + location = {Paris, France}, + date = {2023}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@inbook{olmedo:hal-04157804, + author = {Olmedo, Agustín and Arévalo, Gabriela and Cassol, Ignacio and Perez, Quentin and Urtado, Christelle and Vauttier, Sylvain}, + hal_type = {COUV}, + hal_type_title = {Book sections}, + title = {Pull Requests Integration Process Optimization: An Empirical Study}, + halref = {olmedo:hal-04157804}, + type_label = {Scientific book chapters}, + type_number = {080}, + presort = {080}, + booktitle = {Evaluation of Novel Approaches to Software Engineering}, + volume = {1829}, + pages = {155-178}, + date_pub = {2023-07-08}, + doi = {10.1007/978-3-031-36597-3_8}, + url = {https://imt-mines-ales.hal.science/hal-04157804}, + hal_id = {hal-04157804}, + series = {Communications in Computer and Information Science}, + publisher = {Springer}, + date_produced = {2023-07-08}, + date = {2023-07-08}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {no}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@inproceedings{acher:hal-03882594, + author = {Acher, Mathieu and Lesoil, Luc and Randrianaina, Georges Aaron and Tërnava, Xhevahire and Zendra, Olivier}, + hal_type = {COMM}, + hal_type_title = {Conference papers}, + title = {A Call for Removing Variability}, + halref = {acher:hal-03882594}, + type_label = {Conferences without proceedings}, + type_number = {060}, + presort = {060}, + eventtitle = {VaMoS 2023 - 17th International Working Conference on Variability Modelling of Software-Intensive Systems}, + pages = {3}, + doi = {10.1145/3571788.3571801}, + url = {https://hal.science/hal-03882594}, + hal_id = {hal-03882594}, + date_produced = {2023-01-25}, + location = {Odense, Denmark}, + date = {2023-01-25}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@article{challita:hal-04216688, + author = {Challita, Stéphanie and Combemale, Benoit and Ergin, Huseyin and Gray, Jeff and Rumpe, Bernhard and Schindler, Martin}, + hal_type = {ART}, + hal_type_title = {Journal articles}, + title = {Report on the State of the SoSyM Journal end of 2022}, + halref = {challita:hal-04216688}, + type_label = {International journals}, + type_number = {010}, + presort = {010}, + issn = {1619-1366}, + eissn = {1619-1374}, + journal = {Software and Systems Modeling}, + volume = {22}, + pages = {1-7}, + date_pub = {2023-02}, + doi = {10.1007/s10270-023-01085-6}, + url = {https://inria.hal.science/hal-04216688}, + hal_id = {hal-04216688}, + publisher = {Springer Verlag}, + license = {Attribution}, + date_produced = {2023-02}, + number = {1}, + date = {2023-02}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@article{pailler:hal-04216866, + author = {Pailler, Ludovic and Tchana, Alain and Combemale, Benoit}, + hal_type = {ART}, + hal_type_title = {Journal articles}, + title = {Protéger les données jusqu’à l’OS}, + halref = {pailler:hal-04216866}, + type_label = {International journals}, + type_number = {010}, + presort = {010}, + issn = {2493-2957}, + eissn = {2494-7601}, + journal = {Dalloz IP/IT : droit de la propriété intellectuelle et du numérique}, + date_pub = {2023}, + url = {https://inria.hal.science/hal-04216866}, + hal_id = {hal-04216866}, + publisher = {Éditions Dalloz [2016-....]}, + license = {Copyright}, + date_produced = {2023}, + date = {2023}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@thesis{lesoil:tel-04190983, + author = {Lesoil, Luc}, + hal_type = {THESE}, + hal_type_title = {Theses}, + title = {Deep software variability for resilient performance models of configurable systems}, + halref = {lesoil:tel-04190983}, + type_label = {Doctoral dissertations and habilitation theses}, + type_number = {100}, + presort = {100}, + date_defended = {2023-04-17}, + url = {https://theses.hal.science/tel-04190983}, + hal_id = {tel-04190983}, + institution = {Université de Rennes}, + date_produced = {2023-04-17}, + date = {2023-04-17}, + x-international_audience = {no}, + x-invited_conference = {no}, + x-editorial_board = {no}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@inbook{zendra:hal-04113296, + author = {Zendra, Olivier and Coppens, Bart}, + hal_type = {COUV}, + hal_type_title = {Book sections}, + title = {From cybercrime to cyberwarfare, nobody can overlook cybersecurity any more}, + halref = {zendra:hal-04113296}, + type_label = {Scientific book chapters}, + type_number = {080}, + presort = {080}, + booktitle = {The HiPEAC Vision 2023}, + pages = {130-144}, + date_pub = {2023-01}, + doi = {10.5281/zenodo.7461910}, + url = {https://inria.hal.science/hal-04113296}, + hal_id = {hal-04113296}, + license = {Attribution}, + date_produced = {2023-01}, + date = {2023-01}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {no}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@inproceedings{lannurien:hal-04165179, + author = {Lannurien, Vincent and d'Orazio, Laurent and Barais, Olivier and Bernard, Esther and Weppe, Olivier and Beaulieu, Laurent and Kacete, Amine and Paquelet, Stéphane and Boukhobza, Jalil}, + hal_type = {COMM}, + hal_type_title = {Conference papers}, + title = {HeROfake: Heterogeneous Resources Orchestration in a Serverless Cloud – An Application to Deepfake Detection}, + halref = {lannurien:hal-04165179}, + type_label = {International peer-reviewed conferences}, + type_number = {040}, + presort = {040}, + eventtitle = {CCGrid 2023 - IEEE/ACM 23rd International Symposium on Cluster, Cloud and Internet Computing}, + pages = {154-165}, + doi = {10.1109/CCGrid57682.2023.00024}, + url = {https://inria.hal.science/hal-04165179}, + hal_id = {hal-04165179}, + publisher = {IEEE}, + license = {Attribution}, + date_produced = {2023-05-01}, + location = {Bangalore, India}, + date = {2023-05-01}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {yes}, + x-scientific_popularisation = {no}, +} +@inbook{zendra:hal-04113336, + author = {Zendra, Olivier and Coppens, Bart}, + hal_type = {COUV}, + hal_type_title = {Book sections}, + title = {THE RACE FOR CYBERSECURITY}, + halref = {zendra:hal-04113336}, + type_label = {Scientific book chapters}, + type_number = {080}, + presort = {080}, + booktitle = {The HiPEAC Vision 2023}, + pages = {127-129}, + date_pub = {2023-01}, + url = {https://inria.hal.science/hal-04113336}, + hal_id = {hal-04113336}, + license = {Attribution}, + date_produced = {2023-01}, + date = {2023-01}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {no}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@inbook{coppens:hal-04113319, + author = {Coppens, Bart and Zendra, Olivier}, + hal_type = {COUV}, + hal_type_title = {Book sections}, + title = {Is privacy possible in a digital world?}, + halref = {coppens:hal-04113319}, + type_label = {Scientific book chapters}, + type_number = {080}, + presort = {080}, + booktitle = {The HiPEAC Vision 2023}, + pages = {145-162}, + date_pub = {2023-01}, + doi = {10.5281/zenodo.7461921}, + url = {https://inria.hal.science/hal-04113319}, + hal_id = {hal-04113319}, + license = {Attribution}, + date_produced = {2023-01}, + date = {2023-01}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {no}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@inproceedings{giraudet:hal-04164888, + author = {Giraudet, Théo and David, Pierre-Charles}, + hal_type = {COMM}, + hal_type_title = {Conference papers}, + title = {Fonctions d'utilisabilité dans les studios de conception de langages dédiés graphiques}, + halref = {giraudet:hal-04164888}, + type_label = {Conferences without proceedings}, + type_number = {060}, + presort = {060}, + eventtitle = {IHM 2023 - 34e Conférence Francophone sur l'Interaction Homme-Machine}, + pages = {1-2}, + doi = {10.1145/nnnnnnn.nnnnnnn}, + url = {https://inria.hal.science/hal-04164888}, + hal_id = {hal-04164888}, + license = {Attribution}, + date_produced = {2023-04-03}, + location = {Troyes, France}, + date = {2023-04-03}, + x-international_audience = {no}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@misc{ledilavrec:hal-04163509, + author = {Le Dilavrec, Quentin and Khelladi, Djamel Eddine and Blouin, Arnaud and Jézéquel, Jean-Marc}, + hal_type = {OTHER}, + hal_type_title = {Other publications}, + title = {Analyser efficacement de grands historiques de code avec HyperAST : une démonstration}, + halref = {ledilavrec:hal-04163509}, + type_label = {Other scientific publications}, + type_number = {120}, + presort = {120}, + pages = {2}, + date_pub = {2023-07-17}, + url = {https://inria.hal.science/hal-04163509}, + hal_id = {hal-04163509}, + license = {Attribution}, + date_produced = {2023-07-17}, + date = {2023-07-17}, + x-international_audience = {no}, + x-invited_conference = {no}, + x-editorial_board = {no}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@article{acher:hal-03897639, + author = {Acher, Mathieu and Perrouin, Gilles and Cordy, Maxime}, + hal_type = {ART}, + hal_type_title = {Journal articles}, + title = {BURST: Benchmarking Uniform Random Sampling Techniques}, + halref = {acher:hal-03897639}, + type_label = {International journals}, + type_number = {010}, + presort = {010}, + issn = {0167-6423}, + journal = {Science of Computer Programming}, + volume = {226}, + pages = {1-10}, + date_pub = {2023-01-03}, + doi = {10.1016/j.scico.2022.102914}, + url = {https://inria.hal.science/hal-03897639}, + hal_id = {hal-03897639}, + publisher = {Elsevier}, + license = {Attribution}, + date_produced = {2023-01-03}, + date = {2023-01-03}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@article{combemale:hal-04216671, + author = {Combemale, Benoit and Gray, Jeff and Rumpe, Bernhard}, + hal_type = {ART}, + hal_type_title = {Journal articles}, + title = {Research software engineering and the importance of scientific models}, + halref = {combemale:hal-04216671}, + type_label = {International journals}, + type_number = {010}, + presort = {010}, + issn = {1619-1366}, + eissn = {1619-1374}, + journal = {Software and Systems Modeling}, + volume = {22}, + pages = {1081-1083}, + date_pub = {2023-08}, + doi = {10.1007/s10270-023-01119-z}, + url = {https://inria.hal.science/hal-04216671}, + hal_id = {hal-04216671}, + publisher = {Springer Verlag}, + license = {Attribution}, + date_produced = {2023-08}, + number = {4}, + date = {2023-08}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@article{combemale:hal-04216676, + author = {Combemale, Benoît and Eramo, Romina and de Lara, Juan}, + hal_type = {ART}, + hal_type_title = {Journal articles}, + title = {Guest editorial for the theme section on modeling language engineering}, + halref = {combemale:hal-04216676}, + type_label = {International journals}, + type_number = {010}, + presort = {010}, + issn = {1619-1366}, + eissn = {1619-1374}, + journal = {Software and Systems Modeling}, + volume = {22}, + pages = {795-796}, + date_pub = {2023-03}, + doi = {10.1007/s10270-023-01097-2}, + url = {https://inria.hal.science/hal-04216676}, + hal_id = {hal-04216676}, + publisher = {Springer Verlag}, + license = {Attribution}, + date_produced = {2023-03}, + number = {3}, + date = {2023-03}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@inproceedings{ledilavrec:hal-04189855, + author = {Le Dilavrec, Quentin and Khelladi, Djamel Eddine and Blouin, Arnaud and Jézéquel, Jean-Marc}, + hal_type = {COMM}, + hal_type_title = {Conference papers}, + title = {HyperDiff: Computing Source Code Diffs at Scale}, + halref = {ledilavrec:hal-04189855}, + type_label = {International peer-reviewed conferences}, + type_number = {040}, + presort = {040}, + eventtitle = {ESEC/FSE 2023 - 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering}, + pages = {1-12}, + date_pub = {2023}, + doi = {10.1145/3611643.3616312}, + url = {https://inria.hal.science/hal-04189855}, + hal_id = {hal-04189855}, + publisher = {ACM}, + license = {Attribution}, + date_produced = {2023-12-03}, + location = {San Francisco (CA, USA), United States}, + date = {2023}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {yes}, + x-scientific_popularisation = {no}, +} +@article{zschaler:hal-03921704, + author = {Zschaler, Steffen and Bousse, Erwan and Deantoni, Julien and Combemale, Benoit}, + hal_type = {ART}, + hal_type_title = {Journal articles}, + title = {A Generic Framework for Representing and Analysing Model Concurrency}, + halref = {zschaler:hal-03921704}, + type_label = {International journals}, + type_number = {010}, + presort = {010}, + issn = {1619-1366}, + eissn = {1619-1374}, + journal = {Software and Systems Modeling}, + volume = {22}, + pages = {1319–1340}, + date_pub = {2023}, + doi = {10.1007/s10270-022-01073-2}, + url = {https://inria.hal.science/hal-03921704}, + hal_id = {hal-03921704}, + publisher = {Springer Verlag}, + license = {Attribution}, + date_produced = {2023}, + date = {2023}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@article{jezequel:hal-04064771, + author = {Jézéquel, Jean-Marc and Vallecillo, Antonio}, + hal_type = {ART}, + hal_type_title = {Journal articles}, + title = {Uncertainty-aware Simulation of Adaptive Systems}, + halref = {jezequel:hal-04064771}, + type_label = {International journals}, + type_number = {010}, + presort = {010}, + issn = {1049-3301}, + journal = {ACM Transactions on Modeling and Computer Simulation}, + pages = {1-18}, + date_pub = {2023-03-28}, + doi = {10.1145/3589517}, + url = {https://inria.hal.science/hal-04064771}, + hal_id = {hal-04064771}, + publisher = {Association for Computing Machinery}, + date_produced = {2023-03-28}, + date = {2023-03-28}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@inproceedings{acher:hal-04160693, + author = {Acher, Mathieu and Martinez, Jabier}, + hal_type = {COMM}, + hal_type_title = {Conference papers}, + title = {Generative AI for Reengineering Variants into Software Product Lines: An Experience Report}, + halref = {acher:hal-04160693}, + type_label = {International peer-reviewed conferences}, + type_number = {040}, + presort = {040}, + eventtitle = {SPLC 2023 - 27th ACM International Systems and Software Product Lines Conference}, + volume = {B}, + pages = {1-9}, + date_pub = {2023-08-25}, + doi = {10.1145/3579028.3609016}, + url = {https://inria.hal.science/hal-04160693}, + hal_id = {hal-04160693}, + series = {B}, + publisher = {ACM}, + license = {Attribution}, + date_produced = {2023-08-28}, + location = {Tokyo, Japan}, + date = {2023-08-25}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {yes}, + x-scientific_popularisation = {no}, +} +@inproceedings{rouxel:hal-04108237, + author = {Rouxel, Benjamin and Brown, Christopher and Ebeid, Emad and Eder, Kerstin and Falk, Heiko and Grelck, Clemens and Holst, Jesper and Jadhav, Shashank and Marquer, Yoann and Alejandro, Marcos Martinez De and Nikov, Kris and Sahafi, Ali and Lundquist, Ulrik Pagh Schultz and Seewald, Adam and Vassalos, Vangelis and Wegener, Simon and Zendra, Olivier}, + hal_type = {COMM}, + hal_type_title = {Conference papers}, + title = {The TeamPlay Project: Analysing and Optimising Time, Energy, and Security for Cyber-Physical Systems}, + halref = {rouxel:hal-04108237}, + type_label = {International peer-reviewed conferences}, + type_number = {040}, + presort = {040}, + eventtitle = {DATE 2023 - Design, Automation and Test in Europe Conference}, + pages = {1-6}, + date_pub = {2023-05-31}, + url = {https://inria.hal.science/hal-04108237}, + hal_id = {hal-04108237}, + license = {Attribution}, + date_produced = {2023-04-17}, + location = {Antwerp, Belgium}, + date = {2023-05-31}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {yes}, + x-scientific_popularisation = {no}, +} +@inproceedings{houdaille:hal-04077663, + author = {Houdaille, Philémon and Khelladi, Djamel Eddine and Briend, Romain and Jongeling, Robbert and Combemale, Benoit}, + hal_type = {COMM}, + hal_type_title = {Conference papers}, + title = {Polyglot AST: Towards Enabling Polyglot Code Analysis}, + halref = {houdaille:hal-04077663}, + type_label = {International peer-reviewed conferences}, + type_number = {040}, + presort = {040}, + eventtitle = {ICECCS 2023 - 27th International Conference on Engineering of Complex Computer Systems}, + pages = {1-10}, + date_pub = {2023}, + url = {https://inria.hal.science/hal-04077663}, + hal_id = {hal-04077663}, + date_produced = {2023-06-14}, + location = {Toulouse, France}, + date = {2023}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {yes}, + x-scientific_popularisation = {no}, +} +@misc{randrianaina:hal-04130361, + author = {Randrianaina, Georges Aaron and Khelladi, Djamel Eddine and Zendra, Olivier and Acher, Mathieu}, + hal_type = {UNDEFINED}, + hal_type_title = {Preprints, Working Papers, ...}, + title = {PyroBuildS: Enabling Efficient Exploration of Linux Configuration Space with Incremental Build}, + halref = {randrianaina:hal-04130361}, + type_label = {Reports \& preprints}, + type_number = {110}, + presort = {110}, + url = {https://hal.science/hal-04130361}, + hal_id = {hal-04130361}, + date_produced = {2023-06-15}, + date = {2023-06-15}, + x-international_audience = {no}, + x-invited_conference = {no}, + x-editorial_board = {no}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} +@inproceedings{foures:hal-04216627, + author = {Foures, Damien and Acher, Mathieu and Barais, Olivier and Combemale, Benoit and Jézéquel, Jean-Marc and Kienzle, Jörg}, + hal_type = {COMM}, + hal_type_title = {Conference papers}, + title = {Experience in Specializing a Generic Realization Language for SPL Engineering at Airbus}, + halref = {foures:hal-04216627}, + type_label = {International peer-reviewed conferences}, + type_number = {040}, + presort = {040}, + eventtitle = {MODELS 2023 - 26th International Conference on Model-Driven Engineering Languages and Systems}, + pages = {1-12}, + date_pub = {2023}, + url = {https://inria.hal.science/hal-04216627}, + hal_id = {hal-04216627}, + publisher = {IEEE}, + license = {Attribution}, + date_produced = {2023-10-01}, + location = {Västerås, Sweden}, + date = {2023}, + x-international_audience = {yes}, + x-invited_conference = {no}, + x-editorial_board = {yes}, + x-proceedings = {yes}, + x-scientific_popularisation = {no}, +} +@misc{fortz:hal-04309208, + author = {Fortz, Sophie and Temple, Paul and Devroey, Xavier and Perrouin, Gilles}, + hal_type = {UNDEFINED}, + hal_type_title = {Preprints, Working Papers, ...}, + title = {Towards Feature-based ML-enabled Behaviour Location}, + halref = {fortz:hal-04309208}, + type_label = {Reports \& preprints}, + type_number = {110}, + presort = {110}, + url = {https://inria.hal.science/hal-04309208}, + hal_id = {hal-04309208}, + license = {Attribution}, + date_produced = {2023-11-27}, + date = {2023-11-27}, + x-international_audience = {no}, + x-invited_conference = {no}, + x-editorial_board = {no}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} diff --git a/12_03-BIB-READONLY-year-other.bib b/12_03-BIB-READONLY-year-other.bib new file mode 100644 index 0000000..76e6895 --- /dev/null +++ b/12_03-BIB-READONLY-year-other.bib @@ -0,0 +1,25 @@ +@unpublished{acher:hal-04152637, + author = {Acher, Mathieu and Temple, Paul and Barais, Olivier}, + hal_type = {LECTURE}, + hal_type_title = {Lectures}, + title = {Reproducible Science and Software Engineering}, + halref = {acher:hal-04152637}, + type_label = {Educational activities}, + type_number = {140}, + presort = {140}, + pages = {140}, + date_pub = {2023-07-05}, + url = {https://inria.hal.science/hal-04152637}, + hal_id = {hal-04152637}, + institution = {Ecole Jeunes Chercheurs en Programmation (EJCP)}, + license = {Attribution}, + date_produced = {2023-07-05}, + location = {France}, + date = {2023-07-05}, + note = {Doctoral}, + x-international_audience = {no}, + x-invited_conference = {no}, + x-editorial_board = {no}, + x-proceedings = {no}, + x-scientific_popularisation = {no}, +} diff --git a/12_04-BIB-cited-publications.bib b/12_04-BIB-cited-publications.bib new file mode 100644 index 0000000..516c012 --- /dev/null +++ b/12_04-BIB-cited-publications.bib @@ -0,0 +1,2084 @@ +@inproceedings{outin:hal-01243158, + TITLE = {{Using Models@Run.time to embed an Energetic Cloud Simulator in a MAPE-K Loop}}, + AUTHOR = {Outin, Edouard and Pazat, Jean-Louis and Barais, Olivier}, + URL = {https://hal.inria.fr/hal-01243158}, + BOOKTITLE = {{Workshop Autonomique}}, + ADDRESS = {Toulouse, France}, + YEAR = {2014}, + MONTH = Oct, + PDF = {https://hal.inria.fr/hal-01243158/file/Outin.pdf}, + HAL_ID = {hal-01243158}, + HAL_VERSION = {v1}, +} + + @inproceedings{niedermayr2016, + title={Will my tests tell me if I break this code?}, + author={Niedermayr, Rainer and Juergens, Elmar and Wagner, Stefan}, + booktitle={Proceedings of the International Workshop on Continuous Software Evolution and Delivery}, + pages={23--29}, + year={2016}, + organization={ACM} +} + @article{potvin2016google, + title={Why Google stores billions of lines of code in a single repository}, + author={Potvin, Rachel and Levenberg, Josh}, + journal={Communications of the ACM}, + volume={59}, + number={7}, + pages={78--87}, + year={2016}, + publisher={ACM New York, NY, USA} +} + + @inproceedings{becan:hal-01058440, + TITLE = {{Automating the Formalization of Product Comparison Matrices}}, + AUTHOR = {B{\'e}can, Guillaume and Sannier, Nicolas and Acher, Mathieu and Barais, Olivier and Blouin, Arnaud and Baudry, Benoit}, + URL = {https://hal.inria.fr/hal-01058440}, + BOOKTITLE = {{ASE - 29th IEEE/ACM International Conference on Automated Software Engineering}}, + ADDRESS = {V{\"a}ster{\aa}s, Sweden}, + YEAR = {2014}, + MONTH = Sep, + DOI = {10.1145/2642937.2643000}, + KEYWORDS = {Metamodeling ; Product comparison matrices ; Domain analysis ; Automated transformation}, + PDF = {https://hal.inria.fr/hal-01058440/file/FromData2Models.pdf}, + HAL_ID = {hal-01058440}, + HAL_VERSION = {v1}, + } + + + + + +@inproceedings{becan:hal-01022912, + TITLE = {{WebFML: Synthesizing Feature Models Everywhere}}, + AUTHOR = {B{\'e}can, Guillaume and Ben Nasr, Sana and Acher, Mathieu and Baudry, Benoit}, + URL = {https://hal.inria.fr/hal-01022912}, + BOOKTITLE = {{SPLC - 18th International Software Product Line Conference}}, + ADDRESS = {Florence, Italy}, + YEAR = {2014}, + MONTH = Sep, + KEYWORDS = {Ontologic-Aware Synthesis ; Feature Modeling Environment ; Reverse Engineering Feature Models}, + PDF = {https://hal.inria.fr/hal-01022912/file/SPLC2014-WebFML.pdf}, + HAL_ID = {hal-01022912}, + HAL_VERSION = {v1}, +} + + +@INPROCEEDINGS{Sidiroglou-Douskos2011, + author = {Sidiroglou-Douskos, Stelios and Misailovic, Sasa and Hoffmann, Henry + and Rinard, Martin}, + title = {Managing performance vs. accuracy trade-offs with loop perforation}, + booktitle = {Proc. of the Symp. on Foundations of software engineering}, + year = {2011}, + series = {ESEC/FSE '11}, + pages = {124-134}, + address = {New York, NY, USA}, + publisher = {ACM}, + keywords = {loop perforation, profiling, quality of service}, + location = {Szeged, Hungary}, + numpages = {11}, +} + +@techreport{becan:hal-00874867, + hal_id = {hal-00874867}, + url = {http://hal.inria.fr/hal-00874867}, + title = {Breathing Ontological Knowledge Into Feature Model Management}, + author = {B\'ecan, Guillaume and Acher, Mathieu and Baudry, Benoit and Ben Nasr, Sana}, + abstract = {Feature Models (FMs) are a popular formalism for modeling and reasoning about the configurations of a software product line. As the manual construction or management of an FM is time-consuming and error-prone for large software projects, recent works have focused on automated operations for reverse engineering or refactoring FMs from a set of configurations/dependencies. Without prior knowledge, meaningless ontological relations (as defined by the feature hierarchy and groups) are likely to be synthesized and cause severe difficulties when reading, maintaining or exploiting the resulting FM. In this paper we define a generic, ontological-aware synthesis procedure that guides users when identifying the likely siblings or parent candidates for a given feature. We develop and evaluate a series of heuristics for clustering/weighting the logical, syntactic and semantic relationships between features. Empirical experiments on hundreds of FMs, coming from the SPLOT repository and Wikipedia, show that an hybrid approach mixing logical and ontological techniques outperforms state-of-the-art solutions and offers the best support for reducing the number of features a user has to consider during the interactive selection of a hierarchy.}, + keywords = {feature models, model synthesis, model management, software product lines, software engineering, configuration management, merging, slicing, refactoring, reverse engineering}, + language = {Anglais}, + affiliation = {TRISKELL - INRIA - IRISA}, + pages = {15}, + type = {Rapport Technique}, + institution = {INRIA}, + number = {RT-0441}, + year = {2013}, + month = {oct}, + other = {1}, + pdf = {http://hal.inria.fr/hal-00874867/PDF/RT-441.pdf} +} + +@inproceedings{berger2013, + author = {Berger, Thorsten and Rublack, Ralf and Nair, Divya and Atlee, Joanne M. and Becker, Martin and Czarnecki, Krzysztof and Wasowski, Andrzej}, + title = {A survey of variability modeling in industrial practice}, + booktitle = {VaMoS'13}, + year = {2013}, + numpages = {8}, + publisher = {ACM}, +} + +@ARTICLE{benavides2010, + title = { Automated Analysis of Feature Models 20 years Later: a Literature Review }, + author = { David Benavides and Sergio Segura and Antonio Ruiz-Cort{e}s }, + journal = { Information Systems }, + year = { 2010 }, + volume = { 35 }, + number = { 6 } +} + +@inproceedings{acher:hal-00766786, + AUTHOR = {Acher, Mathieu and Heymans, Patrick and Cleve, Anthony and Hainaut, Jean-Luc and Baudry, Benoit}, + TITLE = {Support for Reverse Engineering and Maintaining Feature Models}, + BOOKTITLE = {VaMoS'13 - Seventh International Workshop on Variability Modelling of Software-Intensive Systems}, + YEAR = {2013}, + MONTH = Jan, + PUBLISHER = {ACM}, + PDF={http://hal.inria.fr/hal-00766786/PDF/KSynthesis-VaMoS2013-CR.pdf}, + ADDRESS = {Pisa, Italy}, + X-INTERNATIONAL-AUDIENCE = {yes}, + X-PROCEEDINGS = {yes}, + URL = {http://hal.inria.fr/hal-00766786}, + X-ID-HAL = {hal-00766786}, +} + +@incollection{hubaux:hal-00767213, + AUTHOR = {Hubaux, Arnaud and Acher, Mathieu and Tun, Thein Than and Heymans, Patrick and Collet, Philippe and Lahire, Philippe}, + TITLE = {Separating Concerns in Feature Models: Retrospective and Support for Multi-Views}, + YEAR = {2013}, + MONTH = Aug, + BOOKTITLE = {Domain Engineering: Product Lines, Conceptual Models, and Languages}, + EDITOR = {Reinhartz-Berger, Iris and Sturm, Arnor and Clark, Tony and Bettin, J. and Cohen, S.}, + PUBLISHER = {Springer}, + DOI = {10.1007/978-3-642-36654-3\_1}, + PAGES = {3-28}, + PDF={http://hal.inria.fr/hal-00767213/PDF/DESoCFMBook.pdf}, + X-INTERNATIONAL-AUDIENCE = {yes}, + URL = {http://hal.inria.fr/hal-00767213}, + X-ID-HAL = {hal-00767213}, +} + +@inproceedings{acher:hal-00859473, + AUTHOR = {Acher, Mathieu and Combemale, Beno{\^\i}t and Collet, Philippe and Barais, Olivier and Lahire, Philippe and France, Robert}, + TITLE = {Composing your Compositions of Variability Models}, + BOOKTITLE = {ACM/IEEE 16th International Conference on Model Driven Engineering Languages and Systems (MODELS'13)}, + YEAR = {2013}, + MONTH = Sep, + VOLUME = {Lecture Notes in Computer Science}, + PAGES = {17}, + PDF={http://hal.inria.fr/hal-00859473/PDF/models13-compofm.pdf}, + ADDRESS = {Miami, United States}, + X-INTERNATIONAL-AUDIENCE = {yes}, + X-PROCEEDINGS = {yes}, + URL = {http://hal.inria.fr/hal-00859473}, + X-ID-HAL = {hal-00859473}, +} + +@article{acher:hal-00859472, + AUTHOR = {Acher, Mathieu and Cleve, Anthony and Collet, Philippe and Merle, Philippe and Duchien, Laurence and Lahire, Philippe}, + TITLE = {Extraction and Evolution of Architectural Variability Models in Plugin-based Systems}, + JOURNAL = {Software \& Systems Modeling (SoSyM)}, + PUBLISHER = {Springer}, + PAGES = {27}, + YEAR = {2013}, + MONTH = Jul, + DOI = {10.1007/s10270-013-0364-2}, + PDF={http://hal.inria.fr/hal-00859472/PDF/FraSCAtiSoSyM12.pdf}, + X-INTERNATIONAL-AUDIENCE = {yes}, + X-EDITORIAL-BOARD = {yes}, + URL = {http://hal.inria.fr/hal-00859472}, + X-ID-HAL = {hal-00859472}, +} + +@article{acher:hal-00767175, + AUTHOR = {Acher, Mathieu and Collet, Philippe and Lahire, Philippe and France, Robert}, + TITLE = {FAMILIAR: A Domain-Specific Language for Large Scale Management of Feature Models}, + JOURNAL = {Science of Computer Programming}, + PUBLISHER = {Elsevier}, + VOLUME = {78}, + NUMBER = {6}, + PAGES = {657 - 681}, + YEAR = {2013}, + MONTH = Jun, + DOI = {10.1016/j.scico.2012.12.004}, + PDF={http://hal.inria.fr/hal-00767175/PDF/SCP-FAMILIAR.pdf}, + X-INTERNATIONAL-AUDIENCE = {yes}, + X-EDITORIAL-BOARD = {yes}, + URL = {http://hal.inria.fr/hal-00767175}, + X-ID-HAL = {hal-00767175}, +} + +@ARTICLE{BLO12b, + author = {Arnaud Blouin and Benoit Combemale and Benoit Baudry and Olivier + Beaudoux}, + title = {Kompren: Modeling and Generating Model Slicers}, + journal = {Journal of Software and Systems Modeling (SoSyM)}, + year = {2012}, + pages = {1--17}, + url = {http://dx.doi.org/10.1007/s10270-012-0300-x}, + issue = {2}, + publisher = {Springer Berlin / Heidelberg} +} + +@inproceedings{Rinard12, + author = {Martin Rinard}, + title = {Obtaining and reasoning about good enough software}, + booktitle = {Proceedings of Annual Design Automation Conference (DAC)}, + year = {2012}, + pages = {930-935}, +} + +@inproceedings{Zhu12, + author = {Zeyuan Allen Zhu and + Sasa Misailovic and + Jonathan A. Kelner and + Martin Rinard}, + title = {Randomized accuracy-aware program transformations for efficient + approximate computations}, + booktitle = {Proc. of the Symp. on Principles of Programming Languages (POPL)}, + year = {2012}, + pages = {441-454}, +} + +@article{avizienis85, + title={The N-version approach to fault-tolerant software}, + author={Avizienis, Algirdas}, + journal={Software Engineering, IEEE Transactions on}, + number={12}, + pages={1491--1501}, + year={1985}, + publisher={IEEE} +} + +@article{randell75, + title={System structure for software fault tolerance}, + author={Randell, Brian}, + journal={Software Engineering, IEEE Transactions on}, + number={2}, + pages={220--232}, + year={1975}, + publisher={IEEE} +} + +@article{barrantes05, + title={Randomized instruction set emulation}, + author={Barrantes, Elena Gabriela and Ackley, David H and Forrest, Stephanie and Stefanovi{\'c}, Darko}, + journal={ACM Transactions on Information and System Security (TISSEC)}, + volume={8}, + number={1}, + pages={3--40}, + year={2005}, + publisher={ACM} +} + + +@article{parnas1976, + Address = {Piscataway, NJ, USA}, + Author = {D. L. Parnas}, + Journal = {IEEE Trans. Softw. Eng.}, + Number = {1}, + Pages = {1--9}, + Publisher = {IEEE Press}, + Title = {On the Design and Development of Program Families}, + Volume = {2}, + Year = {1976}, +} + +@inproceedings{parra2010, + Author = {C. A. Parra and A. Cleve and X. Blanc and L. Duchien}, + Bibsource = {DBLP, http://dblp.uni-trier.de}, + Booktitle = {ECSA'10}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + Ee = {http://dx.doi.org/10.1007/978-3-642-15114-9_18}, + Pages = {230-245}, + Publisher = {Springer}, + Series = {LNCS}, + Title = {Feature-Based Composition of Software Architectures}, + Volume = {6285}, + Year = {2010}} + +@article{pasetti2004, + Author = {Cechticky, V. and Pasetti, A. and Rohlik, O. and Schaufelberger, W.}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + Journal = {Software Reuse: Methods, Techniques and Tools}, + Pages = {101--114}, + Title = {XML-Based Feature Modelling}, + Ty = {CHAPTER}, + Url = {http://www.springerlink.com/content/yvw9e22nanqmv27f}, + Year = {2004}, + Bdsk-Url-1 = {http://www.springerlink.com/content/yvw9e22nanqmv27f}} + +@inproceedings{patel:2003, + Author = {Chintan Patel and Kaustubh Supekar and Yugyung Lee}, + Bibsource = {DBLP, http://dblp.uni-trier.de}, + Booktitle = {DEXA}, + Date-Added = {2011-05-30 17:19:42 +0200}, + Date-Modified = {2011-05-30 17:19:42 +0200}, + Ee = {http://springerlink.metapress.com/openurl.asp?genre=article{\&}issn=0302-9743{\&}volume=2736{\&}spage=826}, + Pages = {826-835}, + Title = {A QoS Oriented Framework for Adaptive Management of Web Service Based Workflows}, + Year = {2003}} + +@article{peng2006, + Author = {Peng, Xin and Zhao, Wenyun and Xue, Yunjiao and Wu, Yijian}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + Journal = {Reuse of Off-the-Shelf Components}, + M3 = {10.1007/11763864{\_}7}, + Pages = {87--100}, + Title = {Ontology-Based Feature Modeling and Application-Oriented Tailoring}, + Ty = {CHAPTER}, + Url = {http://dx.doi.org/10.1007/11763864_7}, + Year = {2006}, + Bdsk-Url-1 = {http://dx.doi.org/10.1007/11763864_7}} + + +@inbook{perrouin2007g, + Author = {Nicolas Guelfi and Gilles Perrouin}, + Booktitle = {Requirements Engineering: Foundation for Software Quality}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:25 +0200}, + Pages = {78--92}, + Title = {A Flexible Requirements Analysis Approach for Software Product Lines}, + Url = {http://dx.doi.org/10.1007/978-3-540-73031-6_6}, + Year = {2007}, + Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-73031-6_6}} + + + +@Article{perrouin2010, + title = {{Weaving Variability into Domain Metamodels ( extension)}}, + author = {Perrouin, Gilles and Vanwormhoudt, Gilles and Lahire, Philippe and Morin, Brice and Barais, Olivier and J{\'e}z{\'e}quel, Jean-Marc}, + year = 2010, + journal = {Software and Systems Modeling Special issue}, + pages = {22}, + lang = {english}, + isbn = {}, + url = {}, + sorte = {revue int} +} + +@inproceedings{Northrop1999a, + Address = {London, UK}, + Author = {Northrop, Linda M.}, + Booktitle = {Proceedings of the Workshop on Object-Oriented Technology}, + Pages = {365--366}, + Publisher = {Springer-Verlag}, + Timestamp = {2010.02.15}, + Title = {A Framework for Software Product Line Practice}, + Year = {1999}} + +@article{Northrop2002, + Address = {Los Alamitos, CA, USA}, + Author = {Northrop, Linda M.}, + Journal = {IEEE Softw.}, + Number = {4}, + Pages = {32--40}, + Publisher = {IEEE Computer Society Press}, + Timestamp = {2010.02.15}, + Title = {{SEI}'s Software Product Line Tenets}, + Volume = {19}, + Year = {2002}} + + +@proceedings{PFE2001, + Booktitle = {PFE}, + Editor = {Frank van der Linden}, + Publisher = {Springer}, + Series = {Lecture Notes in Computer Science}, + Title = {Software Product-Family Engineering, 4th International Workshop, PFE 2001, Bilbao, Spain, October 3-5, 2001, Revised Papers}, + Volume = {2290}, + Year = {2002}} + +@inproceedings{Perrouin-dspl2008, + Address = {Limerick, Ireland}, + Author = {G. Perrouin and F. Chauvel and J. DeAntoni and Jean-Marc J{\'e}z{\'e}quel}, + Booktitle = {2nd Dynamic Software Product Lines Workshop (SPLC 2008, Volume 2) }, + Date-Added = {2011-05-30 17:19:22 +0200}, + Date-Modified = {2011-05-30 17:19:22 +0200}, + Editor = {Steffen Thiel and Klaus Pohl}, + Isbn = {978-1-905952-06-9}, + Month = sep, + Pages = {15--22}, + Publisher = {IEEE Computer Society}, + Title = {Modeling the Variability Space of Self-Adaptive Applications}, + Year = {2008}} + +@inproceedings{Perrouin-splc2008, + Address = {Limerick, Ireland}, + Author = {G. Perrouin and J. Klein and N. Guelfi and Jean-Marc J{\'e}z{\'e}quel}, + Booktitle = {12th Software Product Line Conference }, + Date-Added = {2011-05-30 17:19:22 +0200}, + Date-Modified = {2011-05-30 17:19:22 +0200}, + Month = sep, + Pages = {339--348}, + Publisher = {IEEE Computer Society}, + Title = {Reconciling Automation and Flexibility in Product Derivation}, + Year = {2008}} + +@inproceedings{Perrouin2006, + Author = {Gilles Perrouin}, + Booktitle = {Workshop on Managing Variability for Software Product Lines: Working With Variability Mechanisms at 10th Software Product Line Conference}, + Month = {August}, + Timestamp = {2010.02.16}, + Title = {Coherent Integration of Variability Mechanisms at the Requirements Elicitation and Analysis Levels}, + Year = {2006}} + +@phdthesis{Perrouin2007, + Author = {Gilles Perrouin}, + Month = {September}, + School = {University of Luxembourg (LASSY) / University of Namur (PReCISE)}, + Timestamp = {2010.02.15}, + Title = {Architecting Software Systems using Model Transformation and Architectural Frameworks}, + Year = {2007}} + + +@ARTICLE{Pickin07a, + author = {Pickin, Simon and Jard, Claude and J\'eron, Thierry and J\'ez\'equel, Jean-Marc + and {Le Traon}, Yves}, + title = {Test Synthesis from {{UML}} Models of Distributed Software}, + journal = {IEEE Transactions on Software Engineering}, + year = {2007}, + volume = {33}, + pages = {252--268}, + number = {4}, + month = apr +} + + +@inproceedings{OliveiraJunior2005, + Author = {Edson Alves de Oliveira Junior and Itana Maria de Souza Gimenes and Elisa Hatsue Moriya Huzita and Jos{\'e} Carlos Maldonado}, + Booktitle = {CASCON}, + Pages = {225-241}, + Timestamp = {2010.02.16}, + Title = {A variability management process for software product lines}, + Year = {2005}} + + +@book{Bosch2000, + Address = {New York, NY, USA}, + Author = {Bosch, Jan}, + Isbn = {0-201-67494-7}, + Publisher = {ACM Press/Addison-Wesley Publishing Co.}, + Timestamp = {2010.02.15}, + Title = {Design and use of software architectures: adopting and evolving a product-line approach}, + Year = {2000}} + +@inproceedings{Bosch2002, + Address = {London, UK}, + Author = {Bosch, Jan and Florijn, Gert and Greefhorst, Danny and Kuusela, Juha and Obbink, J. Henk and Pohl, Klaus}, + Booktitle = {PFE '01: Revised Papers from the 4th International Workshop on Software Product-Family Engineering}, + Isbn = {3-540-43659-6}, + Pages = {13--21}, + Publisher = {Springer-Verlag}, + Timestamp = {2010.02.16}, + Title = {Variability Issues in Software Product Lines}, + Year = {2002}} + + +@phdthesis{Buyya:2002, + Author = {Rajkumar Buyya}, + Date-Added = {2011-05-30 17:19:42 +0200}, + Date-Modified = {2011-05-30 17:19:42 +0200}, + School = {School of Computer Science and Software Engineering Monash University, Melbourne, Australia}, + Title = {Economic-based Distributed Resource Management and Scheduling for Grid Computing}, + Year = {2002}} + +@InProceedings{CAISE, + title = {{Feature Model Differences}}, + author = {Acher, Mathieu and Heymans, Patrick and Collet, Philippe and Quinton, Cl{\'e}ment and Lahire, Philippe and Merle, Philippe}, + year = 2012, + booktitle = {24th International Conference on Advanced Information Systems Engineering (CAiSE'12)}, + series = {{LNCS}}, + publisher = {Springer}, + lang = {english}, + pages = {{}}, + sorte = {colin} +} + +@article{Coplien1998, + Author = {Coplien, James and Hoffman, Daniel and Weiss, David}, + Journal = {IEEE Software}, + Number = {6}, + Owner = {isc}, + Pages = {37--45}, + Timestamp = {2010.06.01}, + Title = {Commonality and Variability in Software Engineering}, + Volume = {15}, + Year = {1998}} + +@book{Czarnecki2000, + Address = {New York, NY, USA}, + Author = {Czarnecki, Krzysztof and Eisenecker, Ulrich W.}, + Publisher = {ACM Press/Addison-Wesley Publishing Co.}, + Timestamp = {2010.02.16}, + Title = {Generative programming: methods, tools, and applications}, + Year = {2000}} + +@article{Czarnecki2005, + Author = {Krzysztof Czarnecki and Simon Helsen and Ulrich W. Eisenecker}, + Journal = {Software Process: Improvement and Practice}, + Number = {1}, + Pages = {7-29}, + Timestamp = {2010.02.16}, + Title = {Formalizing cardinality-based feature models and their specialization}, + Volume = {10}, + Year = {2005}} + +@inproceedings{Czarnecki2005a, + Author = {Krzysztof Czarnecki and Michal Antkiewicz}, + Booktitle = {GPCE}, + Pages = {422-437}, + Timestamp = {2010.02.16}, + Title = {Mapping Features to Models: A Template Approach Based on Superimposed Variants}, + Year = {2005}} + +@proceedings{DBLP:conf/IEEEscc/2008, + Bibsource = {DBLP, http://dblp.uni-trier.de}, + Booktitle = {IEEE SCC}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:25 +0200}, + Isbn = {978-0-7695-3283-7}, + Publisher = {IEEE}, + Title = {2008 IEEE International Conference on Services Computing (SCC 2008), 8-11 July 2008, Honolulu, Hawaii, USA}, + Year = {2008}} + +@proceedings{DBLP:conf/birthday/2005ehrig, + Bibsource = {DBLP, http://dblp.uni-trier.de}, + Booktitle = {Formal Methods in Software and Systems Modeling}, + Editor = {Hans-J{\"o}rg Kreowski and Ugo Montanari and Fernando Orejas and Grzegorz Rozenberg and Gabriele Taentzer}, + Isbn = {3-540-24936-2}, + Publisher = {Springer}, + Series = {Lecture Notes in Computer Science}, + Title = {Formal Methods in Software and Systems Modeling, Essays Dedicated to Hartmut Ehrig, on the Occasion of His 60th Birthday}, + Volume = {3393}, + Year = {2005}} + +@proceedings{DBLP:conf/compsac/2009, + editor = {Sheikh Iqbal Ahamed and + Elisa Bertino and + Carl K. Chang and + Vladimir Getov and + Lin Liu and + Hua Ming and + Rajesh Subramanyan}, + title = {Proceedings of the 33rd Annual IEEE International Computer + Software and Applications Conference, COMPSAC 2009, Seattle, + Washington, USA, 20-24 July 2009}, + booktitle = {COMPSAC}, + publisher = {IEEE Computer Society}, + year = {2009}, + bibsource = {DBLP, http://dblp.uni-trier.de} +} + + + +@inproceedings{Brandic2005, + Address = {Amsterdam, The Netherlands}, + Author = {Ivona Brandic and Rainer Schmidt and Gerhard Engelbrecht and Siegfried Benkner}, + Bibsource = {CS.UNIVIE, http://www.cs.univie.ac.at}, + Booktitle = {Proceedings of the European Grid Conference 2005 (EGC2005)}, + Date-Added = {2011-05-30 17:19:02 +0200}, + Date-Modified = {2011-05-30 17:19:02 +0200}, + Month = {2}, + Publisher = {Springer Verlag}, + Title = {Towards Quality of Service Support for Grid Workflows}, + Year = {2005}} + +@article{Brereton:2007:LAS:1225950.1226109, + Acmid = {1226109}, + Address = {New York, NY, USA}, + Author = {Brereton, Pearl and Kitchenham, Barbara A. and Budgen, David and Turner, Mark and Khalil, Mohamed}, + Date-Added = {2011-03-02 14:54:25 +0100}, + Date-Modified = {2011-03-02 14:54:25 +0100}, + Doi = {10.1016/j.jss.2006.07.009}, + Issn = {0164-1212}, + Issue = {4}, + Journal = {J. Syst. Softw.}, + Keywords = {Empirical software engineering, Systematic literature review}, + Month = {April}, + Numpages = {13}, + Pages = {571--583}, + Publisher = {Elsevier Science Inc.}, + Title = {Lessons from applying the systematic literature review process within the software engineering domain}, + Url = {http://portal.acm.org/citation.cfm?id=1225950.1226109}, + Volume = {80}, + Year = {2007}, + Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1225950.1226109}, + Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.jss.2006.07.009}} + + + +@techreport{Jean-ChristopheTRIGAUX2003, + Author = {Trigaux, Jean-Christophe and Heymans, Patrick}, + Institution = {FUNDP Namur}, + Timestamp = {2010.02.15}, + Title = {Modelling variability requirements in Software Product Lines: a comparative survey}, + Year = {2003}} + +@ARTICLE{Jezequel08a, + author = {J{\'e}z{\'e}quel, Jean-Marc}, + title = {Model Driven Design and Aspect Weaving}, + journal = {Journal of Software and Systems Modeling ({SoSyM})}, + year = {2008}, + volume = {7}, + pages = {209--218}, + number = {2}, + month = {may}, + abstract = {A model is a simplified representation of an aspect of the world for + a specific purpose. In complex systems, many aspects are to be handled, + from architectural aspects to dynamic behavior, functionalities, + user-interface, and extra-functional concerns (such as security, + reliability, timeliness, etc.) For software systems, the design process + can then be characterized as the weaving of all these aspects into + a detailed design model. Model Driven Design aims at automating this + weaving process, that is automatically deriving software systems + from theirs models. This paper explores the relationship between + modeling and aspect weaving. It points out some of the challenges + related to such automatic model weaving, illustrating them with the + example of a weaving process for behavioral models represented as + scenarios}, + bdsk-url-1 = {http://www.irisa.fr/triskell/publis/2008/Jezequel08a.pdf}, + publisher = {Springer}, + url = {http://www.irisa.fr/triskell/publis/2008/Jezequel08a.pdf}, + x-editorial-board = {yes}, + x-international-audience = {yes}, + x-language = {EN} +} + +@inbook{Ziadi2006a, + Author = {Ziadi, Tewfik and J\'{e}z\'{e}quel, Jean-Marc}, + Title = {Product Line Engineering with the {{UML}}: Deriving Products}, + Pages = {557-586}, + Publisher = {Springer Verlag}, + Year = {2006}} + +@misc{a1, + Howpublished = {\url{http://splc.net/fame.html}}, + Timestamp = {2010.02.15}, + Title = {{Software Product Line Conference - Hall of Fame}}} + +@article{acharya-wasserman-etal:1995, + Author = {Acharya, R. and Wasserman, R. and Sevens, J. and Hinojosa, C.}, + Date-Added = {2011-05-30 17:19:42 +0200}, + Date-Modified = {2011-05-30 17:19:42 +0200}, + Journal = {Computerized Medical Imaging and Graphics (CMIG)}, + Lang = {english}, + Number = {1}, + Pages = {3--25}, + Sorte = {revue int}, + Title = {{Biomedical Imaging Modalities: a Tutorial}}, + Volume = {19}, + Year = 1995} + +@misc{acher-al:2008, + Author = {Acher, Mathieu and Collet, Philippe and Lahire, Philippe}, + Date-Added = {2011-05-30 17:19:42 +0200}, + Date-Modified = {2011-05-30 17:19:42 +0200}, + Lang = {english}, + Pages = {10}, + Title = {{Issues in Managing Variability of Medical Imaging Grid Services, Workshop at MICCAI-Grid, 6 September 2008, New York}}, + Year = 2008} + +@misc{acher-aranega:2008, + Author = {Acher, Mathieu and Aranega, Vincent}, + Date-Added = {2011-05-30 22:47:03 +0200}, + Date-Modified = {2011-05-30 22:47:03 +0200}, + Lang = {french}, + Month = dec, + Pages = {15}, + Sorte = {autre}, + Title = {{Un compte rendu de la conf{\'e}rence Models 2008 (Toulouse, France)}}, + Url = {http://nyx.unice.fr/publis/acher-aranega:2008.pdf}, + Year = 2008, + Bdsk-Url-1 = {http://nyx.unice.fr/publis/acher-aranega:2008.pdf}} + +@inproceedings{acher-cleve-etal:2011, + Asbtract = {{ Reverse engineering the variability of an existing system is a challenging activity. The architect knowledge is essential to identify variation points and explicit constraints between features, for instance in feature models (FMs), but the manual creation of FMs is both time-consuming and error-prone. On a large scale, it is very difficult for an architect to guarantee that the resulting FM ensures a safe composition of the architectural elements when some features are selected. In this paper, we present a comprehensive, tool supported process for reverse engineering architectural FMs. We develop automated techniques to extract and combine different variability descriptions of an architecture. Then, alignment and reasoning techniques are applied to integrate the architect knowledge and reinforce the extracted FM. We illustrate the reverse engineering process when applied to a representative software system, FraSCAti, and we report on our experience in this context. }}, + Author = {Acher, Mathieu and Cleve, Anthony and Collet, Philippe and Merle, Philippe and Duchien, Laurence and Lahire, Philippe}, + Booktitle = {5th European Conference on Software Architecture (ECSA'11)}, + Days = {13-16 september}, + Lang = {english}, + Month = sep, + Publisher = {Springer}, + Series = {{LNCS}}, + Sorte = {colin}, + Title = {Reverse Engineering Architectural Feature Models}, + pages = {220--235}, + Year = 2011} + + +@inproceedings{acher-collet-etal:2008a, + Abstract = {SOA is now the reference architecture for medical imaging processing on the grid. Imaging services must be composed in workflows to implement the processing chains, but the need to handle end-to-end qualities of service hampered both the provision of services and their composition. +This paper analyses the variability of functional and non functional aspects of this domain and proposes a first architecture in which services are organized within a product line architecture and metamodels help in structuring necessary information.}, + Author = {Acher, Mathieu and Collet, Philippe and Lahire, Philippe and Montagnat, Johan}, + Booktitle = {Service-Oriented Architectures and Software Product Lines - Putting Both Together (SOAPL'08)}, + Date-Added = {2011-05-30 22:47:03 +0200}, + Date-Modified = {2011-05-30 22:47:03 +0200}, + Days = {8 }, + Lang = {english}, + Month = sep, + Organization = {(associated workshop issue of SPLC 2008)}, + Publisher = {IEEE Computer Society}, + Sorte = {colin}, + Title = {{Imaging Services on the Grid as a Product Line: Requirements and Architecture}}, + Url = {http://rainbow.polytech.unice.fr/publis/acher-collet-etal:2008a.pdf}, + Year = 2008, + Bdsk-Url-1 = {http://rainbow.polytech.unice.fr/publis/acher-collet-etal:2008a.pdf}} + +@inproceedings{acher-collet-etal:2009, + Abstract = {Feature modeling is a widely used technique in Software Product Line development. Feature models allow stakeholders to describe domain concepts in terms of commonalities and differences within a family of software systems. Developing a complex monolithic feature model can require significant effort and restrict the reusability of a set of features already modeled. We advocate using modeling techniques that support separating and composing concerns to better manage the complexity of developing large feature models. In this paper, we propose a set of composition operators dedicated to feature models. These composition operators enable the development of large feature models by composing smaller feature models which address well-defined concerns. The operators are notably distinguished by their documented capabilities to preserve some significant properties.}, + Author = {Acher, Mathieu and Collet, Philippe and Lahire, Philippe and France, Robert B.}, + Booktitle = {2nd International Conference on Software Language Engineering (SLE'09)}, + Date-Added = {2011-05-30 22:47:03 +0200}, + Date-Modified = {2011-05-30 22:47:03 +0200}, + Days = {5-6 oct}, + Lang = {english}, + Month = oct, + Pages = {62-81}, + Publisher = {Springer}, + Series = {LNCS}, + Sorte = {colin}, + Title = {Composing Feature Models}, + Year = 2009} + +@misc{acher-collet-etal:2009a, + Author = {Acher, Mathieu and Collet, Philippe and Fleurey, Franck and Lahire, Philippe and Moisan, Sabine and Rigault, Jean-Paul}, + Date-Added = {2011-05-30 22:47:03 +0200}, + Date-Modified = {2011-05-30 22:47:03 +0200}, + Lang = {english}, + Month = oct, + Sorte = {autre}, + Title = {Modeling Context and Dynamic Adaptations with Feature Models (poster)}, + Url = {http://nyx.unice.fr/publis/acher-collet-etal:2009a.pdf}, + Year = 2009, + Bdsk-Url-1 = {http://nyx.unice.fr/publis/acher-collet-etal:2009a.pdf}} + +@inproceedings{acher-collet-etal:2009b, + Abstract = {Self-adaptive and dynamic systems adapt their behavior according to the context of execution. The contextual information exhibits multiple variability factors which induce many possible configurations of the software system at runtime. +The challenge is to specify the adaptation rules that can link the dynamic variability of the context with the possible variants of the system. +Our work investigates the systematic use of feature models for modeling the context and the software variants, together with their inter relations, as a way to configure the adaptive system with respect to a particular context. +A case study in the domain of video surveillance systems is used to illustrate +the approach.}, + Author = {Acher, Mathieu and Collet, Philippe and Fleurey, Franck and Lahire, Philippe and Moisan, Sabine and Rigault, Jean-Paul}, + Booktitle = {4th International Workshop Models@run.time at Models 2009 (MRT'09)}, + Days = {5 oct}, + Lang = {english}, + Month = oct, + Pages = {10}, + Sorte = {colin}, + Title = {{Modeling Context and Dynamic Adaptations with Feature Models}}, + Year = 2009, +} + +@INPROCEEDINGS{nebut03b, + author = {Nebut, Cl{\'e}mentine and Pickin, Simon and {Le Traon}, Yves and + J{\'e}z{\'e}quel, Jean-Marc}, + title = {Automated Requirements-based Generation of Test Cases for Product + Families}, + booktitle = {Proc. of the 18th IEEE International Conference on Automated Software + Engineering ({ASE'03})}, + year = {2003}, + bdsk-url-1 = {http://www.irisa.fr/triskell/publis/2003/nebut03b.pdf}, + url = {http://www.irisa.fr/triskell/publis/2003/nebut03b.pdf}, + x-international-audience = {yes}, + x-proceedings = {yes} +} + +@INBOOK{Nebut06b, + title = {System Testing of Product Families: from Requirements to Test Cases}, + pages = {447--478}, + publisher = {Springer Verlag}, + year = {2006}, + author = {Nebut, Cl{\'e}mentine and Le Traon, Yves and J{\'e}z{\'e}quel, Jean-Marc}, + abstract = {Product line processes still lack support for testing end-product + functions by taking advantage of the specific features of a product + line (commonality and variabilities). Indeed, classical testing approaches + cannot be directly applied on each product since, due to the potentially + huge number of products, the testing task would be far too long and + expensive. There is thus a need for testing methods, adapted to the + product line context, that allow reducing the testing cost. The approach + we present is based on the automation of the generation of application + system tests, for any chosen product, from the system requirements + of a product line. These PL requirements are modeled using enhanced + {UML} use cases which are the basis for the test generation. Product-specific + test objectives, test scenarios, and test cases are successively + tional variation points at requirement level to automatically generate + the behaviors specific to any chosen product. With such a strategy, + the designer may apply any method to produce the domain models of + the product line and then instantiate a given product: the test cases + check that the expected functionalities have been correctly implemented. + The approach is adaptive and provides automated test generation for + a new product as well as guided test generation support to validate + the evolution of a given product.}, + bdsk-url-1 = {http://www.irisa.fr/triskell/publis/2006/Nebut06b.pdf}, + booktitle = {Software Product Lines}, + url = {http://www.irisa.fr/triskell/publis/2006/Nebut06b.pdf}, + x-international-audience = {yes}, + x-language = {EN} +} + +@article{halmans2003, + author = {G{\"u}nter Halmans and + Klaus Pohl}, + title = {Communicating the Variability of a Software-Product Family + to Customers}, + journal = {Software and System Modeling}, + volume = {2}, + number = {1}, + year = {2003}, + pages = {15-36}, + ee = {http://dx.doi.org/10.1007/s10270-003-0019-9}, + bibsource = {DBLP, http://dblp.uni-trier.de} +} + +@book{Pohl2005, + Address = {Secaucus, NJ, USA}, + Author = {Klaus Pohl and G{\"u}nter B{\"o}ckle and Frank J. {van der Linden}}, + Publisher = {Springer-Verlag New York, Inc.}, + Timestamp = {2010.02.15}, + Title = {Software Product Line Engineering: Foundations, Principles and Techniques}, + Year = {2005}} + +@article{Popovic2007, + Abstract = {ObjectiveValidation of medical image segmentation algorithms is an open question, considering variance of individual pathologies and the related clinical requirements for accuracy. In this paper, we propose a validation metric capable to distinguish between an over and under-segmentation and account for different clinical applications.}, + Author = {Aleksandra Popovic and Matas de la Fuente and Martin Engelhardt and Klaus Radermacher}, + Date-Added = {2011-05-30 17:19:02 +0200}, + Date-Modified = {2011-05-30 17:19:02 +0200}, + Doi = {10.1007/s11548-007-0125-1}, + Issn = {1861-6410 (Print) 1861-6429 (Online)}, + Journal = {International Journal of Computer Assisted Radiology and Surgery}, + Month = {December}, + Number = {3-4}, + Pages = {169--181}, + Publisher = {Springer Berlin / Heidelberg}, + Subject_Collection = {Medicine}, + Title = {Statistical validation metric for accuracy assessment in medical image segmentation}, + Url = {http://www.springerlink.com/content/g815484736j14658/}, + Volume = {2}, + Year = {2007}, + Bdsk-Url-1 = {http://www.springerlink.com/content/g815484736j14658/}, + Bdsk-Url-2 = {http://dx.doi.org/10.1007/s11548-007-0125-1}} + +@proceedings{Proc_AOPLE07, + Booktitle = {2nd Workshop on Aspect-Oriented Product Line Engineering (AOPLE'07) co-located with the International Conference on Generative Programming and Component Engineering (GPCE'07)}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:25 +0200}, + Location = {Salzburg, Austria}, + Note = {URL http://www.softeng.ox.ac.uk/aople/}, + Title = {2nd Workshop on Aspect-Oriented Product Line Engineering (AOPLE'07) co-located with the International Conference on Generative Programming and Component Engineering (GPCE'07)}, + Url = {http://www.softeng.ox.ac.uk/aople/}, + Year = 2007, + Bdsk-Url-1 = {http://www.softeng.ox.ac.uk/aople/}} + +@inproceedings{Rabiser2007, + Address = {Washington, DC, USA}, + Author = {Rabiser, Rick and Grunbacher, Paul and Dhungana, Deepak}, + Booktitle = {Proceedings of the 11th SPLC}, + Pages = {141--150}, + Publisher = {IEEE Computer Society}, + Timestamp = {2011.02.24}, + Title = {Supporting Product Derivation by Adapting and Augmenting Variability Models}, + Year = {2007}} + +@inproceedings{Reiser2007, + Author = {Mark-Oliver Reiser and Ramin Tavakoli Kolagari and Matthias Weber}, + Booktitle = {VaMoS}, + Pages = {79-86}, + Title = {Unified Feature Modeling as a Basis for Managing Complex System Families}, + Year = {2007}} + +@inproceedings{Riebisch2002, + Author = {Riebisch, M. and B{\"o}llert, K. and Streitferdt, D. and Philippow, I.}, + Booktitle = {6th World Conference on Integrated Design \& Process Technology (IDPT2002)}, + Month = {June}, + Timestamp = {2010.02.16}, + Title = {Extending Feature Diagrams with {UML} Multiplicities}, + Year = {2002}} + +@inproceedings{Riebisch2003, + Author = {Riebisch, Matthias}, + Booktitle = {Modelling Variability for Object-Oriented Product Lines}, + Pages = {64--76}, + Timestamp = {2010.02.16}, + Title = {Towards a More Precise Definition of Feature Models}, + Year = {2003}} + +@ARTICLE{Robak02, + AUTHOR = "S. Robak and R. Franczyk and K. Politowicz", + TITLE = "Extending the {UML} for Modeling Variability for System Families", + JOURNAL = "International Journal of Applied Mathematics Computer Sciences", + YEAR = "2002", + volume = "12", + number = "2", + pages = "285-298" +} + +@inproceedings{Meekel1998, + Author = {Jacques Meekel and Thomas B. Horton and Charlie Mellone}, + Booktitle = {ESPRIT ARES Workshop}, + Pages = {205-213}, + Timestamp = {2010.02.15}, + Title = {Architecting for Domain Variability}, + Year = {1998}} + +@inproceedings{Mens06, + Author = {Mens, T. and Van Der Straeten, R. and D'Hondt, M.}, + Booktitle = {Proc. Models 2006}, + Date-Added = {2011-05-30 17:19:22 +0200}, + Date-Modified = {2011-05-30 17:19:22 +0200}, + Pages = {200--214}, + Publisher = {Springer-Verlag}, + Series = {LNCS}, + Title = {Detecting and Resolving Model Inconsistencies Using Transformation Dependency Analysis}, + Volume = 4199, + Year = 2006} + +@article{Metzger2007, + Address = {Los Alamitos, CA, USA}, + Author = {Andreas Metzger and Klaus Pohl and Patrick Heymans and Pierre-Yves Schobbens and Germain Saval}, + Journal = {Requirements Engineering, IEEE International Conference on}, + Pages = {243-253}, + Timestamp = {2010.02.16}, + Title = {Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis}, + Volume = {0}, + Year = {2007}} + +@article{MontagnatFJPKKSLTLGRAF08, + Author = {Johan Montagnat and {\'A}kos Frohner and Daniel Jouvenot and Christophe Pera and Peter Kunszt and Birger Koblitz and Nuno Santos and Charles Loomis and Romain Texier and Diane Lingrand and Patrick Guio and Ricardo Brito Da Rocha and Antonio Sobreira de Almeida and Zoltan Farkas}, + Bibsource = {DBLP, http://dblp.uni-trier.de}, + Date-Added = {2011-05-30 17:19:42 +0200}, + Date-Modified = {2011-05-30 17:19:42 +0200}, + Ee = {http://dx.doi.org/10.1007/s10723-007-9088-2}, + Journal = {J. Grid Comput.}, + Number = {1}, + Pages = {45-59}, + Title = {A Secure Grid Medical Data Manager Interfaced to the gLite Middleware}, + Volume = {6}, + Year = {2008}} + + + +@inproceedings{Morin08, + Address = {Essen, Germany}, + Author = {Morin, B. and Barais, O. and J{\'e}z{\'e}quel, Jean-Marc}, + Booktitle = {VaMoS 08, Second International Workshop on Variability Modeling of Software Intensive Systems}, + Date-Added = {2011-05-30 17:19:22 +0200}, + Date-Modified = {2011-05-30 17:19:22 +0200}, + Title = {Weaving Aspect Configurations for Managing System Variability}, + Year = 2008} + + + +@inproceedings{Morin08d, + Address = {Toulouse, France}, + Author = {Brice Morin and Frank Fleurey and Nelly Bencomo and Jean-Marc J\'ez\'equel and Arnor Solberg and Vegard Dehlen and Gordon Blair}, + Booktitle = {In Proceedings of ACM/IEEE 11th International Conference on Model Driven Engineering Languages and Systems (MoDELS 08)}, + Comment = {cite_kermeta, en}, + Date-Added = {2011-05-30 17:19:22 +0200}, + Date-Modified = {2011-05-30 17:19:22 +0200}, + Month = {October}, + Title = {An Aspect-Oriented and Model-Driven Approach for Managing Dynamic Variability}, + Url = {http://www.irisa.fr/triskell/publis/2008/Morin08d.pdf}, + X-International-Audience = {yes}, + X-Proceedings = {yes}, + Year = {2008}, + Bdsk-Url-1 = {http://www.irisa.fr/triskell/publis/2008/Morin08d.pdf}} + +@inproceedings{Morin08e, + Address = {Toulouse, France}, + Author = {B. Morin and O. Barais and J.-M. J\'ez\'equel}, + Booktitle = {Proceedings of the 3rd International Workshop on Models@Runtime, at MoDELS'08}, + Comment = {use_kermeta, en,Workshop}, + Date-Added = {2011-05-30 17:19:22 +0200}, + Date-Modified = {2011-05-30 17:19:22 +0200}, + Month = {oct}, + Title = {K@RT: An Aspect-Oriented and Model-Oriented Framework for Dynamic Software Product Lines}, + Url = {http://www.irisa.fr/triskell/publis/2008/Morin08e.pdf}, + Website = {www.modelsconference.org/}, + X-International-Audience = {yes}, + X-Proceedings = {yes}, + Year = {2008}, + Bdsk-Url-1 = {http://www.irisa.fr/triskell/publis/2008/Morin08e.pdf}} + + +@inproceedings{Morin2009, + Author = {Brice Morin and Gilles Perrouin and Philippe Lahire and Olivier Barais and Gilles Vanwormhoudt and Jean-Marc J{\'e}z{\'e}quel}, + Booktitle = {MoDELS}, + Pages = {690-705}, + Timestamp = {2010.02.16}, + Title = {Weaving Variability into Domain Metamodels}, + Year = {2009}} + +@inproceedings{Muller05a, + Address = {Jamaica}, + Author = {P.-A. Muller and F. Fleurey and Jean-Marc J{\'e}z{\'e}quel}, + Booktitle = {Proc. of {MODELS/{UML}}'2005}, + Date-Added = {2011-05-30 17:19:22 +0200}, + Date-Modified = {2011-05-30 17:19:22 +0200}, + Publisher = {Springer}, + Series = {LNCS}, + Title = {Weaving Executability into Object-Oriented Meta-Languages}, + Year = {2005}} + + + +@techreport{Bachmann2005, + Address = {Pittsburgh, USA}, + Author = {F. Bachmann and P. Clements}, + Institution = {Software Engineering Institute}, + Timestamp = {2010.02.15}, + Title = {Variability in Software Product Lines}, + Type = {Technical Report CMU/SEI-2005-TR-012}, + Year = {2005}} + +@article{BachmannEtAl2001, + Acmid = {375274}, + Author = {Bachmann, F. and Bass, L.}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + Doi = {http://doi.acm.org/10.1145/379377.375274}, + Issn = {0163-5948}, + Issue = {3}, + Journal = {SIGSOFT Softw. Eng. Notes}, + Keywords = {product lines, requirement analysis, software architecture, strategic reuse, variability, variation points}, + Month = {May}, + Numpages = {7}, + Pages = {126--132}, + Publisher = {ACM}, + Title = {Managing variability in software architectures}, + Url = {http://doi.acm.org/10.1145/379377.375274}, + Volume = {26}, + Year = {2001}, + Bdsk-Url-1 = {http://doi.acm.org/10.1145/379377.375274}} + +@inproceedings{Baida2004, + Address = {New York, NY, USA}, + Author = {Ziv Baida and Jaap Gordijn and Borys Omelayenko}, + Booktitle = {ICEC '04: Proceedings of the 6th international conference on Electronic commerce}, + Date-Added = {2011-05-30 17:19:42 +0200}, + Date-Modified = {2011-05-30 17:19:42 +0200}, + Doi = {http://doi.acm.org/10.1145/1052220.1052222}, + Isbn = {1-58113-930-6}, + Location = {Delft, The Netherlands}, + Pages = {1--10}, + Publisher = {ACM}, + Title = {A shared service terminology for online service provisioning}, + Year = {2004}, + Bdsk-Url-1 = {http://doi.acm.org/10.1145/1052220.1052222}} + + + +@book{Balcer02, + Author = {Balcer, M. J. and Mellor, S.}, + Date-Added = {2011-05-30 17:19:22 +0200}, + Date-Modified = {2011-05-30 17:19:22 +0200}, + Publisher = {Addison-Wesley}, + Title = {Executable {UML}: A Foundation for Model-Driven Architectures}, + Year = 2002} + +@inproceedings{Batory2003icse, + Address = {Washington, DC, USA}, + Author = {Batory, Don and Sarvela, Jacob Neal and Rauschmayer, Axel}, + Booktitle = {ICSE '03: Proceedings of the 25th International Conference on Software Engineering}, + Location = {Portland, Oregon}, + Pages = {187--197}, + Publisher = {IEEE Computer Society}, + Timestamp = {2010.02.16}, + Title = {Scaling step-wise refinement}, + Year = {2003}} + +@conference{krueger2008homeaway, + Author = {Krueger, C.W. and Churchett, D. and Buhrdorf, R.}, + Booktitle = {12th International Software Product Line Conference}, + Date-Added = {2011-03-02 10:19:57 +0100}, + Date-Modified = {2011-03-02 10:19:57 +0100}, + Organization = {IEEE}, + Pages = {297--306}, + Title = {HomeAway's Transition to Software Product Line Practice: Engineering and Business Results in 60 Days}, + Year = {2008}} + +@conference{hetrick2006incremental, + Author = {Hetrick, W.A. and Krueger, C.W. and Moore, J.G.}, + Booktitle = {Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications}, + Date-Added = {2011-03-02 10:19:55 +0100}, + Date-Modified = {2011-03-02 10:19:55 +0100}, + Isbn = {159593491X}, + Organization = {ACM}, + Pages = {798--804}, + Title = {Incremental return on incremental investment: Engenio's transition to software product line practice}, + Year = {2006}} + +@conference{boucher2010tag, + Author = {Boucher, Q. and Classen, A. and Heymans, P. and Bourdoux, A. and Demonceau, L.}, + Booktitle = {Proceedings of the IEEE/ACM international conference on Automated software engineering}, + Date-Added = {2011-03-02 10:14:12 +0100}, + Date-Modified = {2011-03-02 10:14:12 +0100}, + Organization = {ACM}, + Pages = {333--336}, + Title = {Tag and prune: a pragmatic approach to software product line implementation}, + Year = {2010}} + +@inproceedings{Batory2005, + Author = {Don S. Batory}, + Booktitle = {SPLC}, + Pages = {7-20}, + Timestamp = {2010.02.16}, + Title = {Feature Models, Grammars, and Propositional Formulas}, + Year = {2005}} + +@inproceedings{Bayer2000, + Author = {Joachim Bayer and Oliver Flege and Cristina Gacek}, + Booktitle = {IW-SAPF}, + Pages = {210-216}, + Timestamp = {2011.02.23}, + Title = {Creating Product Line Architectures}, + Year = {2000}} + +@conference{hubaux2010preliminary, + Author = {Hubaux, A. and Classen, A. and Mendon{\c{c}}a, M. and Heymans, P.}, + Booktitle = {International Workshop on Variability Modelling of Software-intensive Systems (VaMoS)}, + Date-Added = {2011-03-01 19:19:53 +0100}, + Date-Modified = {2011-03-01 19:19:53 +0100}, + Pages = {53--59}, + Title = {{A preliminary review on the application of feature diagrams in practice}}, + Year = {2010}} + +@incollection{Bayer2006, + Author = {Joachim Bayer and Sebastien Gerard and {\O}ystein Haugen and Jason Xabier Mansell and Birger M{\o}ller-Pedersen and Jon Oldevik and Patrick Tessier and Jean-Philippe Thibault and Tanya Widen}, + Booktitle = {Software Product Lines}, + Pages = {195-241}, + Timestamp = {2011.02.08}, + Title = {Consolidated Product Line Variability Modeling}, + Year = {2006}} + +@inproceedings{Benkner2005, + Address = {Singapore}, + Author = {Siegfried Benkner and Rainer Schmidt and Gerhard Engelbrecht and Ivona Brandic and S. E. Middleton}, + Bibsource = {CS.UNIVIE, http://www.cs.univie.ac.at}, + Booktitle = {Proceedings of the Life Sciences Grid Workshop, Grid Asia}, + Date-Added = {2011-05-30 17:19:42 +0200}, + Date-Modified = {2011-05-30 17:19:42 +0200}, + Title = {Application-Level QoS Support for a Medical Grid Infrastructure}, + Year = {2005}} + +@InProceedings{Bertolino02, + author = "A. Bertolino and A. Fantechi and S. Gnesi and G. Lami and + A. Maccari", + title = "{Use Case Description of Requirements for Product Lines}", + abstract = "Capturing the variations characterizing the set of products + belonging to a product line is a key issue for the + requirements engineering of this development + philosophy. This paper describes ways to extend the + well-known Use Case formalism in order to make possible the + representation of these variations, in the perspective to + make them suitable for an automatic analysis.", + booktitle = "International Workshop on Requirement Engineering for + Product Line (REPL02)", + year = "2002", + month = sep, + pages = "12--18", + newinversion = "3.3", + available = "?", + category = "Requirements Engineering" +} + +@techreport{Kang1990, + Author = {K. C. Kang and S. G. Cohen and J. A. Hess and W. E. Novak and A. S. Peterson}, + Institution = {Carnegie-Mellon University Software Engineering Institute}, + Month = {November}, + Timestamp = {2010.02.16}, + Title = {Feature-Oriented Domain Analysis (FODA) Feasibility Study}, + Year = {1990}} + +@article{Kang1998, + Address = {Red Bank, NJ, USA}, + Author = {Kang, Kyo C. and Kim, Sajoong and Lee, Jaejoon and Kim, Kijoo and Shin, Euiseob and Huh, Moonhang}, + Journal = {Ann. Softw. Eng.}, + Pages = {143--168}, + Publisher = {J. C. Baltzer AG, Science Publishers}, + Timestamp = {2010.02.16}, + Title = {FORM: A feature-oriented reuse method with domain-specific reference architectures}, + Volume = {5}, + Year = {1998}} + +@book{Kelly08, + Author = {Kelly, S. and Tolvanen, J. P.}, + Date-Added = {2011-05-30 17:19:22 +0200}, + Date-Modified = {2011-05-30 17:19:22 +0200}, + Publisher = {Wiley, IEEE Computer Society Pr }, + Title = {Domain-Specific Modeling: Enabling Full Code Generation}, + Year = 2008} + +@inproceedings{Kent02, + Author = {S. Kent}, + Booktitle = {IFM}, + Date-Added = {2011-05-30 17:19:22 +0200}, + Date-Modified = {2011-05-30 17:19:22 +0200}, + Pages = {286-298}, + Title = {Model Driven Engineering}, + Year = {2002}} + +@article{Kent03, + Author = {S. Kent}, + Date-Added = {2011-05-30 17:19:22 +0200}, + Date-Modified = {2011-05-30 17:19:22 +0200}, + Journal = {Electr. Notes Theor. Comput. Sci.}, + Number = {4}, + Title = {Model Driven Language Engineering}, + Volume = {72}, + Year = {2003}} + +@article{Khurum2009, + Address = {New York, NY, USA}, + Author = {Khurum, Mahvish and Gorschek, Tony}, + Journal = {J. Syst. Softw.}, + Month = {December}, + Publisher = {Elsevier Science Inc.}, + Timestamp = {2011.02.08}, + Title = {A systematic review of domain analysis solutions for product lines}, + Volume = {82}, + Year = {2009}} + +@inproceedings{Laguna2008, + Author = {Miguel A. Laguna and Bruno Gonz\'alez-Baixauli}, + Booktitle = {11th Workshop on Requirements Engineering WER}, + Date-Modified = {2011-03-01 09:01:06 +0100}, + Timestamp = {2010.02.16}, + Title = {Product Line Requirements: Multi-Paradigm Variability Models}, + Year = {2008}} + +@inproceedings{Lahire08, + Author = {Morin, B. and Vanwormhoudt, G. and Lahire, P. and Gaignard, A. and Barais, O. and J{\'e}z{\'e}quel, Jean-Marc}, + Booktitle = {MoDELS}, + Date-Added = {2011-05-30 17:19:22 +0200}, + Date-Modified = {2011-05-30 17:19:22 +0200}, + Pages = {797-812}, + Title = {Managing Variability Complexity in Aspect-Oriented Modeling}, + Year = 2008} + +@inproceedings{MB2005, + Address = {Wageningen The Netherlands}, + Author = {F. Cupillard and F. Br\'emond and M. Thonnat}, + Booktitle = {Measuring Behavior}, + Date-Added = {2011-05-30 17:19:22 +0200}, + Date-Modified = {2011-05-30 17:19:22 +0200}, + Month = {September}, + Title = {{Automatic Visual Recognition for Metro Surveillance}}, + Year = 2005} + +@misc{MOFM, + Author = {{MOFM}}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}} + +@article{MOTEUR2008, + author = {Glatard, Tristan and Montagnat, Johan and Lingrand, Diane and Pennec, Xavier}, + title = {Flexible and Efficient Workflow Deployment of Data-Intensive Applications On Grids With MOTEUR}, + journal = {Int. J. High Perform. Comput. Appl.}, + volume = {22}, + issue = {3}, + month = {August}, + year = {2008}, + issn = {1094-3420}, + pages = {347--360}, + numpages = {14}, + url = {http://portal.acm.org/citation.cfm?id=1400050.1400057}, + doi = {10.1177/1094342008096067}, + acmid = {1400057}, + publisher = {Sage Publications, Inc.}, + address = {Thousand Oaks, CA, USA}, + keywords = {data composition operators, grids, services, workflows}, +} + + + + + +@inproceedings{batory2002, + Author = {Batory, Don and Lopez-Herrejon, Roberto E and Martin, Jean-Philippe}, + Booktitle = {{ASE '02: Automated software engineering}}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + Isbn = {0-7695-1736-6}, + Pages = {81--92}, + Publisher = {IEEE}, + Title = {Generating Product-Lines of Product-Families}, + Year = {2002}} + +@inproceedings{batory2003, + Address = {Helsinki, Finland}, + Author = {Batory, Don and Liu, Jia and Sarvela, Jacob Neal}, + Booktitle = {ESEC'03: Proceedings of the 9th European software engineering conference}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + Doi = {http://doi.acm.org/10.1145/940071.940079}, + Isbn = {1-58113-743-5}, + Location = {Helsinki, Finland}, + Pages = {48--57}, + Publisher = {ACM}, + Title = {Refinements and multi-dimensional separation of concerns}, + Year = {2003}, + Bdsk-Url-1 = {http://doi.acm.org/10.1145/940071.940079}} + +@article{batory2004, + Address = {Piscataway, NJ, USA}, + Date-Added = {2011-05-30 17:19:22 +0200}, + Date-Modified = {2011-05-30 17:19:22 +0200}, + Doi = {http://dx.doi.org/10.1109/TSE.2004.23}, + Issn = {0098-5589}, + Author = {Don Batory and Jacob Neal Sarvela and Axel Rauschmayer}, + Journal = {IEEE Trans. Softw. Eng.}, + Number = {6}, + Pages = {355--371}, + Publisher = {IEEE Press}, + Title = {Scaling Step-Wise Refinement}, + Volume = {30}, + Year = {2004}, + Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2004.23}} + +@inproceedings{batory2006, + Address = {New York, NY, USA}, + Author = {Trujillo, Salvador and Batory, Don and Diaz, Oscar}, + Booktitle = {GPCE '06: Proceedings of the 5th international conference on Generative programming and component engineering}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + Doi = {http://doi.acm.org.gate6.inist.fr/10.1145/1173706.1173736}, + Isbn = {1-59593-237-2}, + Location = {Portland, Oregon, USA}, + Pages = {191--200}, + Publisher = {ACM}, + Title = {Feature refactoring a multi-representation program into a product line}, + Year = {2006}, + Bdsk-Url-1 = {http://doi.acm.org.gate6.inist.fr/10.1145/1173706.1173736}} + +@article{batory2006a, + Address = {Riverton, NJ, USA}, + Author = {Batory, D.}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + Issn = {0018-8670}, + Journal = {IBM Syst. J.}, + Number = {3}, + Pages = {527--539}, + Publisher = {IBM Corp.}, + Title = {Multilevel models in model-driven engineering, product lines, and metaprogramming}, + Volume = {45}, + Year = {2006}} + +@inproceedings{batory2006b, + Author = {Liu, Jia and Batory, Don and Lengauer, Christian}, + Booktitle = {ICSE '06: Proceedings of the 28th international conference on Software engineering}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + Doi = {http://doi.acm.org.gate6.inist.fr/10.1145/1134285.1134303}, + Isbn = {1-59593-375-1}, + Location = {Shanghai, China}, + Pages = {112--121}, + Publisher = {ACM}, + Title = {Feature oriented refactoring of legacy applications}, + Year = {2006}, + Bdsk-Url-1 = {http://doi.acm.org.gate6.inist.fr/10.1145/1134285.1134303}} + +@inproceedings{batory2007, + Address = {New York, NY, USA}, + Author = {Thaker, Sahil and Batory, Don and Kitchin, David and Cook, William}, + Booktitle = {GPCE '07}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + Doi = {http://doi.acm.org.gate6.inist.fr/10.1145/1289971.1289989}, + Isbn = {978-1-59593-855-8}, + Location = {Salzburg, Austria}, + Pages = {95--104}, + Publisher = {ACM}, + Title = {Safe composition of product lines}, + Year = {2007}, + Bdsk-Url-1 = {http://doi.acm.org.gate6.inist.fr/10.1145/1289971.1289989}} + +@inproceedings{batory2007b, + Address = {Washington, DC, USA}, + Author = {Trujillo, Salvador and Batory, Don and Diaz, Oscar}, + Booktitle = {ICSE '07: Proceedings of the 29th international conference on Software Engineering}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + Doi = {http://dx.doi.org.gate6.inist.fr/10.1109/ICSE.2007.36}, + Isbn = {0-7695-2828-7}, + Pages = {44--53}, + Publisher = {IEEE}, + Title = {Feature Oriented Model Driven Development: A Case Study for Portlets}, + Year = {2007}, + Bdsk-Url-1 = {http://dx.doi.org.gate6.inist.fr/10.1109/ICSE.2007.36}} + + +@inbook{czarnecki2002, + Author = {Krzysztof Czarnecki and Thomas Bednasch and Peter Unger and Ulrich Eisenecker}, + Booktitle = {Generative Programming and Component Engineering}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + publisher = {LNCS}, + Pages = {156--172}, + Title = {Generative Programming for Embedded Software: An Industrial Experience Report}, + Url = {http://dx.doi.org/10.1007/3-540-45821-2_10}, + Year = {2002}, + Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-45821-2_10}} + +@inproceedings{czarnecki2004, + Author = {Krzysztof Czarnecki and Simon Helsen and Ulrich Eisenecker}, + Booktitle = {Software Product Lines}, + Date-Added = {2011-05-30 17:19:22 +0200}, + Date-Modified = {2011-05-30 17:19:22 +0200}, + Doi = {10.1007/b100081}, + Isbn = {978-3-540-22918-6}, + Issn = {0302-9743 (Print) 1611-3349 (Online)}, + Pages = {266--283}, + Publisher = {Springer Berlin / Heidelberg}, + Series = {Lecture Notes in Computer Science}, + Subject_Collection = {Computer Science}, + Title = {Staged Configuration Using Feature Models}, + Url = {http://www.springerlink.com/content/n3wn2b2dmumke6lu/}, + Volume = {3154/2004}, + Year = {2004}, + Bdsk-Url-1 = {http://www.springerlink.com/content/n3wn2b2dmumke6lu/}, + Bdsk-Url-2 = {http://dx.doi.org/10.1007/b100081}} + +@article{czarnecki2005g, + Author = {Krzysztof Czarnecki and Simon Helsen and Ulrich Eisenecker}, + Date-Added = {2011-05-30 17:19:22 +0200}, + Date-Modified = {2011-05-30 17:19:22 +0200}, + Journal = {Software Process: Improvement and Practice}, + Number = 2, + Pages = {143-169}, + Title = {{Staged Configuration through Specialization and Multilevel Configuration of Feature Models}}, + Volume = 10, + Year = 2005} + +@misc{czarnecki2005b, + Address = {200 University Ave. West Waterloo, ON N2L 3G1, Canada}, + Author = {Czarnecki, Krzysztof and Kim, Chang H. }, + Citeulike-Article-Id = {1686610}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:25 +0200}, + Keywords = {dea, fm-notation}, + Month = {October}, + Posted-At = {2008-02-21 12:19:57}, + Priority = {2}, + School = {University of Waterloo}, + Title = {Cardinality-Based Feature Modeling and Constraints: A Progress Report}, + Year = {2005}} + +@inbook{czarnecki2005d, + Author = {Krzysztof Czarnecki}, + Booktitle = {Unconventional Programming Paradigms}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + Pages = {326--341}, + Publisher = {Unconventional Programming Paradigms}, + Title = {Overview of Generative Software Development}, + Year = {2005}} + +@inproceedings{czarnecki2006, + Address = {Washington, DC, USA}, + Author = {Krzysztof Czarnecki and Chang Hwan Peter Kim and Karl Trygve Kalleberg}, + Booktitle = {SPLC '06: Proceedings of the 10th International on Software Product Line Conference}, + Date-Added = {2011-05-30 17:19:02 +0200}, + Date-Modified = {2011-05-30 17:19:02 +0200}, + Isbn = {0-7695-2599-7}, + Pages = {41--51}, + Publisher = {IEEE Computer Society}, + Title = {Feature Models are Views on Ontologies}, + Year = {2006}} + +@article{czarnecki2006a, + Address = {Riverton, NJ, USA}, + Author = {K. Czarnecki and S. Helsen}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + Issn = {0018-8670}, + Journal = {IBM Syst. J.}, + Number = {3}, + Pages = {621--645}, + Publisher = {IBM Corp.}, + Title = {Feature-based survey of model transformation approaches}, + Volume = {45}, + Year = {2006}} + +@inproceedings{czarnecki2006b, + Author = {K. Czarnecki and K. Pietroszek}, + Booktitle = {GPCE'06}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + Doi = {http://doi.acm.org.gate6.inist.fr/10.1145/1173706.1173738}, + Isbn = {1-59593-237-2}, + Location = {Portland, Oregon, USA}, + Pages = {211--220}, + Publisher = {ACM}, + Title = {Verifying feature-based model templates against well-formedness OCL constraints}, + Year = {2006}, + Bdsk-Url-1 = {http://doi.acm.org.gate6.inist.fr/10.1145/1173706.1173738}} + +@article{czarnecki2006c, + Address = {New York, NY, USA}, + Author = {Czarnecki, Krzysztof and Antkiewicz, Michal and Kim, Chang Hwan Peter}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + Doi = {http://doi.acm.org.gate6.inist.fr/10.1145/1183236.1183267}, + Issn = {0001-0782}, + Journal = {Commun. ACM}, + Number = {12}, + Pages = {60--65}, + Publisher = {ACM}, + Title = {Multi-level customization in application engineering}, + Volume = {49}, + Year = {2006}, + Bdsk-Url-1 = {http://doi.acm.org.gate6.inist.fr/10.1145/1183236.1183267}} + + + +@inproceedings{czarnecki2007, + Author = {K. Czarnecki and A. Wasowski}, + Booktitle = {11th International Software Product Line Conference (SPLC'07)}, + Pages = {23--34}, + publisher = {IEEE}, + Title = {Feature Diagrams and Logics: There and Back Again}, + Year = {2007}} + +@inproceedings{czarnecki2007b, + Address = {New York, NY, USA}, + Author = {Antkiewicz, Michal and Bartolomei, Thiago Tonelli and Czarnecki, Krzysztof}, + Booktitle = {ASE '07: Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:25 +0200}, + Doi = {http://doi.acm.org/10.1145/1321631.1321664}, + Isbn = {978-1-59593-882-4}, + Location = {Atlanta, Georgia, USA}, + Pages = {214--223}, + Publisher = {ACM}, + Title = {Automatic extraction of framework-specific models from framework-based application code}, + Year = {2007}, + Bdsk-Url-1 = {http://doi.acm.org/10.1145/1321631.1321664}} + +@inproceedings{czarnecki2008, + Author = {Marcilio Mendonca and Andrzej Wasowski and Krzysztof Czarnecki and Donald Cowan}, + Booktitle = {7th international conference on Generative programming and component engineering (GPCE'08)}, + Isbn = {978-1-60558-267-2}, + Pages = {13--22}, + Publisher = {ACM}, + Title = {Efficient compilation techniques for large scale feature models}, + Year = {2008}} + +@article{czarnecki2008b, + Address = {Berlin, Heidelberg}, + Author = {Antkiewicz, Micha\l and Czarnecki, Krzysztof}, + Book = {Generative and Transformational Techniques in Software Engineering II: International Summer School, GTTSE 2007, Braga, Portugal, July 2-7, 2007. Revised Papers}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + Doi = {http://dx.doi.org/10.1007/978-3-540-88643-3_1}, + Isbn = {978-3-540-88642-6}, + Pages = {3--46}, + Publisher = {Springer-Verlag}, + Title = {Design Space of Heterogeneous Synchronization}, + Year = {2008}, + Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-88643-3_1}} + +@inproceedings{dambrogio, + Address = {Washington, DC, USA}, + Author = {Andrea D'Ambrogio}, + Booktitle = {ICWS '06: Proceedings of the IEEE International Conference on Web Services}, + Date-Added = {2011-05-30 17:19:42 +0200}, + Date-Modified = {2011-05-30 17:19:42 +0200}, + Isbn = {0-7695-2669-1}, + Pages = {789--796}, + Publisher = {IEEE Computer Society}, + Title = {A Model-driven WSDL Extension for Describing the QoS ofWeb Services}, + Year = {2006}} + +@article{danilovic2005, + Author = {Mike Danilovic and Bengt Sandkull}, + Date-Added = {2011-05-30 17:18:25 +0200}, + Date-Modified = {2011-05-30 17:18:26 +0200}, + Doi = {10.1016/j.ijproman.2004.11.001}, + Issn = {0263-7863}, + Journal = {International Journal of Project Management}, + Keywords = {Complex {project,Complexity,Dependence} structure {matrix,Domain} mapping {matrix,Multiproject,Uncertainty}}, + Month = apr, + Number = {3}, + Pages = {193--203}, + Title = {The use of dependence structure matrix and domain mapping matrix in managing uncertainty in multiple project situations}, + Url = {http://www.sciencedirect.com.gate6.inist.fr/science/article/B6V9V-4F8TK6J-1/2/be38b7b6e5092c523abea5d4673372e0}, + Volume = {23}, + Year = {2005}, + Bdsk-Url-1 = {http://www.sciencedirect.com.gate6.inist.fr/science/article/B6V9V-4F8TK6J-1/2/be38b7b6e5092c523abea5d4673372e0}, + Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.ijproman.2004.11.001}} + +@article{darwicheM02, + author = {Adnan Darwiche and + Pierre Marquis}, + title = {A Knowledge Compilation Map}, + journal = {J. Artif. Intell. Res. (JAIR)}, + volume = {17}, + year = {2002}, + pages = {229-264}, + ee = {http://dx.doi.org/10.1613/jair.989}, + bibsource = {DBLP, http://dblp.uni-trier.de} +} + +@article{Morin09f, + Abstract = {An approach for specifying and executing dynamically adaptive software + systems combines model-driven and aspect-oriented techniques to help + engineers tame the complexity of such systems while offering a high + degree of automation and validation.}, + Author = {Morin, Brice and Barais, Olivier and J{\'e}z{\'e}quel, Jean-Marc and Fleurey, Franck and Solberg, Arnor}, + Comment = {cite_kermeta, use_kermeta, en}, + Journal = {{IEEE} Computer}, + Month = {October}, + Pages = {46-53}, + Publisher = {IEEE Computer Society}, + Title = {Models at Runtime to Support Dynamic Adaptation}, + Url = {http://www.irisa.fr/triskell/publis/2009/Morin09f.pdf}, + X-Country = {US}, + X-Editorial-Board = {yes}, + X-International-Audience = {yes}, + X-Language = {EN}, + X-Pays = {NO}, + Year = {2009}, + Bdsk-Url-1 = {http://www.irisa.fr/triskell/publis/2009/Morin09f.pdf}} + + +@ARTICLE{Steel07a, + author = {Steel, Jim and J{\'e}z{\'e}quel, Jean-Marc}, + title = {On Model Typing}, + journal = {Journal of Software and Systems Modeling ({SoSyM})}, + year = {2007}, + volume = {6}, + pages = {401--414}, + number = {4}, + month = dec, + abstract = {Where object-oriented languages deal with objects as described by + classes, model-driven development uses models, as graphs of interconnected + objects, described by metamodels. A number of new languages have + been and continue to be developed for this modelbased paradigm, both + for model transformation and for general programming using models. + Many of these use single-object approaches to typing, derived from + solutions found in object-oriented systems, while others use metamodels + asmodel types, but without a clear notion of polymorphism. Both of + these approaches lead to brittle and overly restrictive reuse characteristics. + In this paper we propose a simple extension to object-oriented typing + to better cater for a model-oriented context, including a simple + strategy for typing models as a collection of interconnected objects. + We suggest extensions to existing type system formalisms to support + these concepts and theirmanipulation. Using a simple examplewe show + how this extended approach permits more flexible reuse, while preserving + type safety.}, + comment = {about_kermeta, en}, + url = {http://www.irisa.fr/triskell/publis/2007/Steel07a.pdf}, + x-editorial-board = {yes}, + x-international-audience = {yes} +} + + +@article{harman2001search, + title={Search-based software engineering}, + author={Harman, Mark and Jones, Bryan F}, + journal={Information and Software Technology}, + volume={43}, + number={14}, + pages={833--839}, + year={2001}, + publisher={Elsevier} +} + +@inproceedings{forrest1997building, + title={Building diverse computer systems}, + author={Forrest, Stephanie and Somayaji, Anil and Ackley, David H}, + booktitle={Operating Systems, 1997., The Sixth Workshop on Hot Topics in}, + pages={67--72}, + year={1997}, + organization={IEEE} +} + + + + +@inproceedings{France07, + author = {France, Robert B. and Rumpe, Bernhard}, + title = {Model-driven Development of Complex Software: A Research Roadmap}, + booktitle = {Proceedings of the Future of Software Engineering Symposium (FOSE '07)}, + year = {2007}, + pages = {37--54}, +editor = {Lionel C. Briand and Alexander L. Wolf}, +publisher = {IEEE}, +} + +@article{Schmidt06, + author={Schmidt, D.C.}, + journal={IEEE Computer}, + title={Guest Editor's Introduction: Model-Driven Engineering}, + year={2006}, + volume={39}, + number={2}, + pages={25--31}, +publisher = {IEEE}, +} + +@inproceedings{Hutchinson11, + author = {John Hutchinson and Jon Whittle and Mark Rouncefield and Steinar Kristoffersen}, + title = {{Empirical assessment of MDE in industry}}, + booktitle = {Proceedings of the 33rd International Conference on Software Engineering (ICSE '11)}, + year = {2011}, + pages = {471--480}, +editor = {Richard N. Taylor and + Harald Gall and + Nenad Medvidovic}, + publisher = {ACM}, +} + +@INPROCEEDINGS{BAN04, +author={Baniassad, Elisa and Clarke, Siobh{\`a}n}, +booktitle={26th International Conference on Software Engineering (ICSE)}, +title={Theme: an approach for aspect-oriented analysis and design}, +year={2004}, +pages={158-167} +} + +@inproceedings{BOS05, +year={2005}, +booktitle={Software Product Lines}, +doi={10.1007/11554844_2}, +title={Software Product Families in Nokia}, +publisher={Springer Berlin Heidelberg}, +pages={2-6} +} + +@article{rashid2003mac, + Author = {Rashid, A. and Ara{\'u}jo, J.}, + Journal = {Proceedings of the 2nd international conference on Aspect-oriented software development}, + Pages = {11--20}, + Publisher = {ACM Press New York, NY, USA}, + Title = {{Modularisation and composition of aspectual requirements}}, + Year = {2003}} + +@book{utting2010practical, + title={Practical model-based testing: a tools approach}, + author={Utting, Mark and Legeard, Bruno}, + year={2010}, + publisher={Morgan Kaufmann} +} + +@article{demilli1991constraint, + title={Constraint-based automatic test data generation}, + author={DeMilli, RA and Offutt, A. Jefferson}, + journal={Software Engineering, IEEE Transactions on}, + volume={17}, + number={9}, + pages={900--910}, + year={1991}, + publisher={IEEE} +} + +@article{mcminn2004search, + title={Search-based software test data generation: a survey}, + author={McMinn, Phil}, + journal={Software Testing, Verification and Reliability}, + volume={14}, + number={2}, + pages={105--156}, + year={2004}, + publisher={Wiley Online Library} +} + +@article{yilmaz2006covering, + title={Covering arrays for efficient fault characterization in complex configuration spaces}, + author={Yilmaz, Cemal and Cohen, Myra B and Porter, Adam A}, + journal={Software Engineering, IEEE Transactions on}, + volume={32}, + number={1}, + pages={20--34}, + year={2006}, + publisher={IEEE} +} + +@article{memon2007event, + title={An event-flow model of GUI-based applications for testing}, + author={Memon, Atif M}, + journal={Software Testing, Verification and Reliability}, + volume={17}, + number={3}, + pages={137--157}, + year={2007}, + publisher={Wiley Online Library} +} + +@article{ober2006validating, + title={Validating timed UML models by simulation and verification}, + author={Ober, Iulian and Graf, Susanne and Ober, Ileana}, + journal={International Journal on Software Tools for Technology Transfer}, + volume={8}, + number={2}, + pages={128--145}, + year={2006}, + publisher={Springer} +} + +@article{apvrille2004turtle, + title={TURTLE: A real-time UML profile supported by a formal validation toolkit}, + author={Apvrille, Ludovic and Courtiat, J-P and Lohr, Christophe and de Saqui-Sannes, Pierre}, + journal={Software Engineering, IEEE Transactions on}, + volume={30}, + number={7}, + pages={473--487}, + year={2004}, + publisher={IEEE} +} + +@article{buck1994ptolemy, + title={Ptolemy: A framework for simulating and prototyping heterogeneous systems}, + author={Buck, Joseph T and Ha, Soonhoi and Lee, Edward A and Messerschmitt, David G}, + year={1994}, + publisher={Ablex Publishing Corporation}, + journal={Int. Journal of Computer Simulation} +} + +@incollection{hardebolle2008modhel, + title={ModHel'X: A component-oriented approach to multi-formalism modeling}, + author={Hardebolle, C{\'e}cile and Boulanger, Fr{\'e}d{\'e}ric}, + booktitle={Models in Software Engineering}, + pages={247--258}, + year={2008}, + publisher={Springer} +} + +@article{balarin2003metropolis, + title={Metropolis: An integrated electronic system design environment}, + author={Balarin, Felice and Watanabe, Yosinori and Hsieh, Harry and Lavagno, Luciano and Passerone, Claudio and Sangiovanni-Vincentelli, Alberto}, + journal={Computer}, + volume={36}, + number={4}, + pages={45--52}, + year={2003}, + publisher={IEEE} +} + +@article{runeson2009guidelines, + title={Guidelines for conducting and reporting case study research in software engineering}, + author={Runeson, Per and H{\"o}st, Martin}, + journal={Empirical Software Engineering}, + volume={14}, + number={2}, + pages={131--164}, + year={2009}, + publisher={Springer} +} + + +@article{briand1999empirical, + title={Empirical studies of object-oriented artifacts, methods, and processes: state of the art and future directions}, + author={Briand, Lionel Claude and Arisholm, Erik and Counsell, Steve and Houdek, Frank and Th{\'e}venod--Fosse, Pascale}, + journal={Empirical Software Engineering}, + volume={4}, + number={4}, + pages={387--404}, + year={1999}, + publisher={Springer} +} + +@book{shull2008guide, + title={Guide to advanced empirical software engineering}, + author={Shull, Forrest and Singer, Janice and Sjberg, Dag IK}, + year={2008}, + publisher={Springer} +} + + + + +@inproceedings{HemmatiBAA10, + author = {Hadi Hemmati and + Lionel C. Briand and + Andrea Arcuri and + Shaukat Ali}, + title = {An enhanced test case selection approach for model-based + testing: an industrial case study}, + booktitle = {SIGSOFT FSE}, + year = {2010}, + pages = {267-276}, +} + + +@inproceedings{ArcuriB11, + author = {Andrea Arcuri and + Lionel C. Briand}, + title = {A practical guide for using statistical tests to assess + randomized algorithms in software engineering}, + booktitle = {ICSE}, + year = {2011}, + pages = {1-10}, +} + +@book{szyperski2002component, + title={Component software: beyond object-oriented programming}, + author={Szyperski, Clemens and Gruntz, Dominik and Murer, Stephan}, + year={2002}, + publisher={Addison-Wesley} +} + +@inproceedings{bures2006sofa, + title={Sofa 2.0: Balancing advanced features in a hierarchical component model}, + author={Bures, Tomas and Hnetynka, Petr and Plasil, Frantisek}, + booktitle={Software Engineering Research, Management and Applications, 2006. Fourth International Conference on}, + pages={40--48}, + year={2006}, + organization={IEEE} +} + +@incollection{lau2005exogenous, + title={Exogenous connectors for software components}, + author={Lau, Kung-Kiu and Elizondo, Perla Velasco and Wang, Zheng}, + booktitle={Component-Based Software Engineering}, + pages={90--106}, + year={2005}, + publisher={Springer} +} + +@article{crnkovic2011classification, + title={A classification framework for software component models}, + author={Crnkovic, Ivica and Sentilles, S{\'e}verine and Vulgarakis, Aneta and Chaudron, Michel RV}, + journal={Software Engineering, IEEE Transactions on}, + volume={37}, + number={5}, + pages={593--615}, + year={2011}, + publisher={IEEE} +} + +@inproceedings{Melisson:2010it, +author = {M{\'e}lisson, R{\'e}mi and Merle, Philippe and Romero, Daniel and Rouvoy, Romain and Seinturier, Lionel}, +title = {{Reconfigurable run-time support for distributed service component architectures}}, +booktitle = {the IEEE/ACM international conference}, +year = {2010}, +pages = {171}, +publisher = {ACM Press}, +address = {New York, New York, USA} +} + +@article{Becker:2009cl, +author = {Becker, Steffen and Koziolek, Heiko and Reussner, Ralf}, +title = {{The Palladio component model for model-driven performance prediction}}, +journal = {Journal of Systems and Software}, +year = {2009}, +volume = {82}, +number = {1}, +pages = {3--22}, +month = jan +} + +@book{Cheng:2009hh, +author = {Cheng, Betty H. C. and Lemos, Rog{\'e}rio and Giese, Holger and Inverardi, Paola and Magee, Jeff and Andersson, Jesper and Becker, Basil and Bencomo, Nelly and Brun, Yuriy and Cukic, Bojan and Marzo Serugendo, Giovanna and Dustdar, Schahram and Finkelstein, Anthony and Gacek, Cristina and Geihs, Kurt and Grassi, Vincenzo and Karsai, Gabor and Kienle, Holger M and Kramer, Jeff and Litoiu, Marin and Malek, Sam and Mirandola, Raffaela and M{\"u}ller, Hausi A and Park, Sooyong and Shaw, Mary and Tichy, Matthias and Tivoli, Massimo and Weyns, Danny and Whittle, Jon}, +editor = {Hutchison, David and Kanade, Takeo and Kittler, Josef and Kleinberg, Jon M and Mattern, Friedemann and Mitchell, John C and Naor, Moni and Nierstrasz, Oscar and Pandu Rangan, C and Steffen, Bernhard and Sudan, Madhu and Terzopoulos, Demetri and Tygar, Doug and Vardi, Moshe Y and Weikum, Gerhard and Cheng, Betty H. C. and Lemos, Rog{\'e}rio and Giese, Holger and Inverardi, Paola and Magee, Jeff}, +title = {{Software Engineering for Self-Adaptive Systems: A Research Roadmap +}}, +publisher = {Springer Berlin Heidelberg}, +year = {2009}, +volume = {5525}, +series = {Betty H. C. Cheng, Rog{\'e}rio de Lemos, Holger Giese, Paola Inverardi, and Jeff Magee +}, +address = {Berlin, Heidelberg} +} + +@inproceedings{Bencomo:2009tm, +title = {{On the use of software models during software execution}}, +author={Bencomo, Nelly}, +booktitle = {MISE '09: Proceedings of the 2009 ICSE Workshop on Modeling in Software Engineering}, +year = {2009}, +publisher = { IEEE Computer Society}, +month = may +} + +@inproceedings{Kramer:2007kv, +author = {Kramer, Jeff and Magee, Jeff}, +title = {{Self-Managed Systems: an Architectural Challenge}}, +booktitle = {Future of Software Engineering}, +year = {2007}, +pages = {259--268}, +publisher = {IEEE} +} + +@inproceedings{Vromant:NPd9bKZ, +author = {Vromant, Pieter and Weyns, Danny and Malek, Sam and Andersson, Jesper}, +title = {{On interacting control loops in self-adaptive systems}}, +booktitle = {SEAMS 2011}, +year = {2011}, +pages = {202--207}, +publisher = {ACM} +} + +@inproceedings{beugnard2010contract, + author = {Antoine Beugnard and + Jean-Marc J{\'e}z{\'e}quel and + No{\"e}l Plouzeau}, + title = {Contract Aware Components, 10 years after}, + booktitle = {WCSI}, + year = {2010}, + pages = {1-11}, + ee = {http://dx.doi.org/10.4204/EPTCS.37.1}, + bibsource = {DBLP, http://dblp.uni-trier.de} +} + +@article{deb2002fast, + title={A fast and elitist multiobjective genetic algorithm: NSGA-II}, + author={Deb, Kalyanmoy and Pratap, Amrit and Agarwal, Sameer and Meyarivan, TAMT}, + journal={Evolutionary Computation, IEEE Transactions on}, + volume={6}, + number={2}, + pages={182--197}, + year={2002}, + publisher={IEEE} +} + +@inproceedings{frey2013search, + title={Search-based genetic optimization for deployment and reconfiguration of software in the cloud}, + author={Frey, S{\"o}ren and Fittkau, Florian and Hasselbring, Wilhelm}, + booktitle={Proceedings of the 2013 International Conference on Software Engineering}, + pages={512--521}, + year={2013}, + organization={IEEE Press} +} + +@INPROCEEDINGS{Rothenberg89thenature, + author = {Jeff Rothenberg and Lawrence E. Widman and Kenneth A. Loparo and Norman R. Nielsen}, + title = {The Nature of Modeling}, + booktitle = {in Artificial Intelligence, Simulation and Modeling}, + year = {1989}, + pages = {75--92}, + publisher = {John Wiley \& Sons} +} + +@inproceedings{morin:inria-00468516, + AUTHOR = {Morin, Brice and Barais, Olivier and Nain, Gr{\'e}gory and J{\'e}z{\'e}quel, Jean-Marc}, + TITLE = {{Taming Dynamically Adaptive Systems with Models and Aspects}}, + BOOKTITLE = {{31st International Conference on Software Engineering (ICSE'09)}}, + YEAR = {2009}, + ADDRESS = {Vancouver, Canada, Canada}, + X-INTERNATIONAL-AUDIENCE = {yes}, + X-PROCEEDINGS = {yes}, + URL = {http://hal.inria.fr/inria-00468516}, + X-ID-HAL = {inria-00468516}, +} + +@phdthesis{nain:tel-00646664, + AUTHOR = {Nain, Gr{\'e}gory}, + TITLE = {{EnTiMid : Un mod{\`e}le de composants pour int{\'e}grer des objets communicants dans des applications {\`a} base de services}}, + YEAR = {2011}, + MONTH = Dec, + SCHOOL = {Universit{\'e} Rennes 1}, + URL = {http://hal.inria.fr/tel-00646664}, + X-ID-HAL = {tel-00646664}, +} + +@misc{snp23ladisa, + doi = {10.48550/ARXIV.2204.04008}, + + url = {https://arxiv.org/abs/2204.04008}, + + author = {Ladisa, Piergiorgio and Plate, Henrik and Martinez, Matias and Barais, Olivier}, + + keywords = {Cryptography and Security (cs.CR), Software Engineering (cs.SE), FOS: Computer and information sciences, FOS: Computer and information sciences}, + + title = {Taxonomy of Attacks on Open-Source Software Supply Chains}, + + publisher = {arXiv}, + + year = {2022}, + + copyright = {Creative Commons Attribution Share Alike 4.0 International} +} diff --git a/DIVERSE-RA-2023.tex b/DIVERSE-RA-2023.tex new file mode 100644 index 0000000..7949c5c --- /dev/null +++ b/DIVERSE-RA-2023.tex @@ -0,0 +1,34 @@ +\documentclass{inria-ra} + +\input{MACROS.tex} +\RAteam{DIVERSE}{Diversity-centric Software Engineering} +\RArnsr{201422126U} +\RAtopic{Distributed programming and Software engineering} +\RAdomain{Networks, Systems and Services, Distributed Computing} +\RAteamUrl{http://diverse.irisa.fr/} +\RAPartnerships{Université Rennes~1, Institut national des sciences appliquées de Rennes, CNRS} +\RACollaborations{Institut de recherche en informatique et systèmes aléatoires (IRISA)} +\RAcri{Centre Inria de l'Université de Rennes} +\year{2023} +% + +\begin{document} +\maketitle + +\input{00-READONLY-team-data.tex} +\input{01-READONLY-team-members.tex} +\input{02-overall-objectives.tex} +\input{03-research-program.tex} +\input{04-application-domains.tex} +\input{05-social-environment-resp.tex} +\input{06-highlights-year.tex} +\input{07-softwares-platforms.tex} +\input{07_01-READONLY-softwares.tex} +\input{07_02-platforms.tex} +\input{08-new-results.tex} +\input{09-contracts-grants.tex} +\input{10-partnerships-cooperations.tex} +\input{11-dissemination.tex} +\input{12-READONLY-scientific-production.tex} + +\end{document} \ No newline at end of file diff --git a/IMG/MSR.jpg b/IMG/MSR.jpg new file mode 100644 index 0000000..93c29f6 Binary files /dev/null and b/IMG/MSR.jpg differ diff --git a/IMG/devsecops.pdf b/IMG/devsecops.pdf new file mode 100644 index 0000000..e074db4 Binary files /dev/null and b/IMG/devsecops.pdf differ diff --git a/IMG/multdim2.2.png b/IMG/multdim2.2.png new file mode 100644 index 0000000..1057f24 Binary files /dev/null and b/IMG/multdim2.2.png differ diff --git a/IMG/multidimentinal sofwtare co-evolution.png b/IMG/multidimentinal sofwtare co-evolution.png new file mode 100644 index 0000000..2515e9c Binary files /dev/null and b/IMG/multidimentinal sofwtare co-evolution.png differ diff --git a/IMG/perspectives.pdf b/IMG/perspectives.pdf new file mode 100644 index 0000000..a8ea1b6 Binary files /dev/null and b/IMG/perspectives.pdf differ diff --git a/IMG/research-axis.pdf b/IMG/research-axis.pdf new file mode 100644 index 0000000..9e5ae98 Binary files /dev/null and b/IMG/research-axis.pdf differ diff --git a/IMG/research-axis.png b/IMG/research-axis.png new file mode 100644 index 0000000..d7a1ea0 Binary files /dev/null and b/IMG/research-axis.png differ diff --git a/IMG/sle.pdf b/IMG/sle.pdf new file mode 100644 index 0000000..ee021c3 Binary files /dev/null and b/IMG/sle.pdf differ diff --git a/IMG/swot.pdf b/IMG/swot.pdf new file mode 100644 index 0000000..1b8ddde Binary files /dev/null and b/IMG/swot.pdf differ diff --git a/IMG/variability.pdf b/IMG/variability.pdf new file mode 100644 index 0000000..147cfe2 Binary files /dev/null and b/IMG/variability.pdf differ diff --git a/MACROS.tex b/MACROS.tex new file mode 100644 index 0000000..e88b78a --- /dev/null +++ b/MACROS.tex @@ -0,0 +1,3 @@ +\newcommand{\team}{DIVERSE} +\newcommand{\equipe}{DIVERSE} +\newcommand{\FIXME}[1]{\uppercase{\bf #1}} diff --git a/README.md b/README.md new file mode 100644 index 0000000..6352df0 --- /dev/null +++ b/README.md @@ -0,0 +1,97 @@ +# Inria Annual Report: How to compile the PDF? + +## What do you need to compile offline? + +You need a decently recent [TeX distribution](https://www.latex-project.org/get/) to compile the PDF. + +Some of the required or suitable packages are included in the distribution, but may not be installed by default: + +* The [Fourier package](https://ctan.org/pkg/fourier), to use the Utopia fonts +* [biber](https://ctan.org/pkg/biber) and [biblatex](https://ctan.org/pkg/biblatex), to process the report bibliographies +* (optionnal) [latexmk](https://ctan.org/pkg/latexmk) + +The required [biblatex-software](https://ctan.org/pkg/biblatex-software) package is probably too recent to be part of your distribution: it is provided within the exported content. + +To get help on installing these tools on your system, create a ticket on [HelpDesk](https://helpdesk.inria.fr/categories/102/submit) + +## Compile using latexmk + +This is the easiest way to compile: just run `latexmk` in the report directory. + +## Compile without latexmk + +Without `latexmk`, you will have to run the following commands (`` is your team acronym in uppercase) in this project directory: + +``` +pdflatex -RA-2020 +biber -RA-2020 +pdflatex -RA-2020 +pdflatex -RA-2020 +``` + +## Content of the exported sources + +### The main latex file + +> [TEAM]-RA-2020.tex + +This read-only file contains header data and `\input{}` commands to include the report content. + +### The other _read only_ section files +The content of these sections are build from the IS DATA, and/or can only be modified using the RADAR web application. Modifying these files will have no effect on the published report. + +File | +--------------------------------------------| +00-READONLY-general-description.tex | +00-READONLY-team-data.tex | +01-READONLY-team-members.tex | +07\_01-READONLY-softwares.tex | +12-READONLY-scientific-production.tex | +12\_01-BIB-READONLY-major-publications.bib | +12\_02-BIB-READONLY-year-publications.bib | +12\_03-BIB-READONLY-year-other.bib | + + + +### The `MACRO.tex` file +This file should contain all your LaTeX macros and styles. + +__TODO:__ list of acceptable styles (see what tralics can handle) + +### The writable sections + +The content of these sections must be typesetted in LaTeX. Your modification will be used for the published report. + +File | +--------------------------------------------| +02-overal-objectives.tex | +03-reseach-program.tex | +04-application-domains.tex | +05-social-environment-resp.tex | +06-highlights-year.tex | +07_02-platforms.tex | +07-softwares-platforms.tex | +08-new-results.tex | +09-contracts-grants.tex | +10-partnerships-cooperations.tex | +11-dissemination.tex | + + + +### The config and style files + +File | Description +---------------------|------------------------------- +inria-ra.cls | LaTeX Class +inria-ra.bbx | biber bibliographic style +inria-ra.dbx | biber datamodel extension +biber.conf | biber configuration file +software.bbx | biblatex 'software' bibliographic style +software.dbx | biblatex 'software' datamodel extension +english-software.lbx | biblatex language file for 'software' bib style +french-software.lbx | biblatex language file for 'software' bib style +xurl.sty | package for extended URL breaks, use by biblatex software +latexmkrc | latexmk configuration file +inr_logo_rouge_rvb.pdf| Inria logo + + diff --git a/english-software.lbx b/english-software.lbx new file mode 100644 index 0000000..3d3220e --- /dev/null +++ b/english-software.lbx @@ -0,0 +1,15 @@ + \ProvidesFile{english-software.lbx}[2020/04/02 english with additions for software] + \InheritBibliographyExtras{english} + \InheritBibliographyStrings{english} + \NewBibliographyString{software,edited,swmodule,swpartof,swversion,swexcerpt,swexc,refart,manual} + \DeclareBibliographyStrings{% + software = {{\sc [Software]}{\sc [SW]}}, + swmodule = {{\sc [Software Module]}{\sc [SW Mod\adddot]}}, + swpartof = {{part of}}{{part of}}, + swversion = {{\sc [Software Release]}{\sc [SW Rel\adddot]}}, + swexcerpt = {{\sc [Software excerpt]}{\sc [SW exc\adddot]}}, + swexc = {{from}}{{from}}, + edited = {{Coordinated by}{Coord\adddot by}}, + refart = {{Described in}{Descr\adddot in}}, + manual = {{Manual: }{Manual:}} + } diff --git a/french-software.lbx b/french-software.lbx new file mode 100644 index 0000000..5a77fd3 --- /dev/null +++ b/french-software.lbx @@ -0,0 +1,15 @@ + \ProvidesFile{french-software.lbx}[2020/04/02 french with additions for software] + \InheritBibliographyExtras{french} + \InheritBibliographyStrings{french} + \NewBibliographyString{software,edited,swmodule,swpartof,swversion,swexcerpt,swexc,refart,manual} + \DeclareBibliographyStrings{% + software = {{[Logiciel]}{[Log\adddot]}}, + swmodule = {{[Module logiciel]}{[Mod\adddot log\adddot]}}, + swpartof = {{partie de}}{{partie de}}, + swversion = {{[Version de logiciel]}{[Ver\adddot log\adddot]}}, + swexcerpt = {{[Fragment logiciel]}{[Frag\adddot log\adddot]}}, + swexc = {{dans}}{{dans}}, + edited = {{Coordonn\'e par}{Coord\adddot par}}, + refart = {{D\'ecrit en}{D\'ecrit en}}, + manual = {{Manuel: }{Manuel: }} + } diff --git a/inr_logo_rouge_rvb.pdf b/inr_logo_rouge_rvb.pdf new file mode 100644 index 0000000..9b69fd7 Binary files /dev/null and b/inr_logo_rouge_rvb.pdf differ diff --git a/inria-ra.bbx b/inria-ra.bbx new file mode 100644 index 0000000..e9d8b6c --- /dev/null +++ b/inria-ra.bbx @@ -0,0 +1,3 @@ +\ProvidesFile{inria-ra.bbx}[2020/06/08 v1.0 biblatex Inria Activity report bibliography style] +\RequireBibliographyStyle{numeric} +\RequireBibliographyStyle{software} \ No newline at end of file diff --git a/inria-ra.cls b/inria-ra.cls new file mode 100644 index 0000000..ccc2c83 --- /dev/null +++ b/inria-ra.cls @@ -0,0 +1,377 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{inria-ra}[2020/11/27 Inria class for activity reports v0.8] +\LoadClass[a4paper,onecolumn,titlepage,twoside]{article} + +\DeclareOption{twocolumn}{\OptionNotUsed} +\DeclareOption{notitlepage}{\OptionNotUsed} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}} +\ProcessOptions\relax +\RequirePackage[T1]{fontenc} +\RequirePackage[utf8]{inputenc} +\RequirePackage{xcolor} +\RequirePackage{graphicx} +\RequirePackage{fancyhdr} +\RequirePackage{geometry} +\RequirePackage{xstring} +\RequirePackage[xcolor, tikz]{mdframed} +\RequirePackage{tikz} +\RequirePackage{moresize} +\RequirePackage[british]{babel} +\RequirePackage{csquotes} +\RequirePackage[hidelinks]{hyperref} +\RequirePackage{xparse} +\RequirePackage{xspace} +\RequirePackage{array} +\RequirePackage{fourier} +\RequirePackage{microtype} +\RequirePackage[backend=biber, +bibstyle=inria-ra, +defernumbers=true, +sorting=nty, +giveninits=true, +maxbibnames=50, +minbibnames=10, +isbn=false, +hyperref]{biblatex} +%%%%%%%%%% geometry layout +\geometry{ + a4paper, + left=30mm, + right=30mm, + top=25mm, + bottom=40mm +} +%% Inria color palette +\definecolor{inria-red}{HTML}{E63312} +\definecolor{inria-blue}{HTML}{384257} +\definecolor{inria-yellow}{HTML}{FFCD1C} +\definecolor{inria-orange}{HTML}{F07E26} +\definecolor{inria-lightGreen}{HTML}{C7D64F} +\definecolor{inria-darkGreen}{HTML}{95C11F} +\definecolor{inria-lightBlue}{HTML}{89CCCA} +\definecolor{inria-darkBlue}{HTML}{1488CA} +\definecolor{inria-violet}{HTML}{6561A9} +\definecolor{inria-lilas}{HTML}{9B004F} +\def\@notfinishedmsg{Preliminary layout!} +%%%%%%%%%% hyperref configuration +\hypersetup{ + colorlinks, + citecolor=inria-red, + linkcolor=inria-red, + urlcolor=inria-lilas +} +%%%%%%%%%%%% Document Header commands +\global\let\ra@year\@empty +\global\let\ra@teamacronym\@empty +\global\let\ra@rnsr\@empty +\global\let\ra@statusteam\@empty +\global\let\ra@teamtitle\@empty +\global\let\ra@teamUrl\@empty +\global\let\ra@cri\@empty +\global\let\ra@crisec\@empty +\global\let\ra@trigramme\@empty +\global\let\ra@nameMainCenter\@empty +\global\let\ra@nameSecondaryCenter\@empty +\global\let\ra@topic\@empty +\global\let\ra@domain\@empty +\global\let\ra@partnerships\@empty +\global\let\ra@collaborations\@empty +\newcommand\@teamStatusText{Inria teams are typically groups of researchers working on the definition of a common project, and objectives, with the goal to arrive at the creation of a project-team. Such project-teams may include other partners (universities or research institutions)} +\renewcommand\year[1]{\renewcommand{\ra@year}{#1}} +\newcommand\RAteam[2]{\renewcommand{\ra@teamacronym}{#1}\renewcommand{\ra@teamtitle}{#2}} +\newcommand\RAstatusTeam{\renewcommand{\ra@statusteam}{true}} +\newcommand\RAteamUrl[1]{\renewcommand{\ra@teamUrl}{#1}} +\newcommand\RArnsr[1]{\renewcommand{\ra@rnsr}{#1}} +\newcommand{\RAcri}[1]{\ClassWarning{inria-ra}{\noexpand\RAcri is obsolete, use \noexpand\RAmaincenter instead}\renewcommand{\ra@cri}{#1}} +\newcommand{\RAcrisec}[1]{\ClassWarning{inria-ra}{\noexpand\RAcrisec is obsolete, use \noexpand\RAsencondarycenter instead.}\renewcommand{\ra@crisec}{#1}}%secondary center +% new 2023 +\newcommand\RAmaincenter[2]{\renewcommand{\ra@trigramme}{#1}\renewcommand{\ra@nameMainCenter}{#2}} +\newcommand\RAsecondarycenter[2]{\renewcommand{\ra@trigramme}{#1}\renewcommand{\ra@nameSecondaryCenter}{#2}} +\newcommand{\RAtopic}[1]{\renewcommand{\ra@topic}{#1}} +\newcommand{\RAdomain}[1]{\renewcommand{\ra@domain}{#1}} +\newcommand{\RAPartnerships}[1]{\renewcommand{\ra@partnerships}{#1}} +\newcommand{\RACollaborations}[1]{\renewcommand{\ra@collaborations}{#1}} +%%%%%%%%%%%%% MEMBERS CMD %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\raMemberFirstname}[1]{#1} +\newcommand{\raMemberLastname}[1]{#1} +\newcommand{\raMemberTeamLeader}{Team leader} +\newcommand{\raMemberEmployer}[1]{#1} +\newcommand{\raMemberFunctionPro}[1]{#1} +\newcommand{\raMemberPeriod}[1]{#1} +\newcommand{\raMemberInfo}[1]{#1} +\newcommand{\raMemberHDR}{HDR} +%%%%%%%%%%%%%% COVER PAGE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\coverpage}{ + \newgeometry{ + left=00mm, + right=00mm, + top=0mm, + bottom=00mm, + bindingoffset=-6mm, +} +\newenvironment{boxintitle}% +{\begin{flushleft}\color{white}\bf}{\end{flushleft}\normalcolor} +\begin{tikzpicture} + \draw[help lines] (0,0) grid (21,29); + \filldraw [color=white] (0,0) -- (21,0) -- (21, 29.67) -- (0, 29.67) -- cycle; + \filldraw [color=inria-blue] (1.68,4.62) -- (19.32, 4.62) -- (19.32,28.02) -- (1.68,28.02) -- cycle; + \filldraw [color=inria-red] (10.5, 19.2) -- (21.3,19.2) -- (21.3, 29.67) -- (10.5, 29.67) -- cycle; + %\draw (13.86,1.68) circle [color=inria-red, radius=1]; + \node[right] at (13.86, 2.2) {\includegraphics[width=5.46cm]{inr_logo_rouge_rvb.pdf}}; + \node[right] at (11.00, 23.00) {\parbox{75mm}{\color{white}\begin{flushright} + \Huge \ra@year \\ ACTIVITY REPORT \\[15mm] \ifx\ra@statusteam\@empty{Project-Team}\else{Team}\fi\\[2mm] \HUGE \ra@teamacronym + \end{flushright}}}; +\ifx\ra@cri\@empty{}\else\node[right] at (2.5, 25.00) {\parbox{70mm}{\Large\color{white}\textnormal{RESEARCH CENTRE\ifx\ra@crisec\@empty{}\else{S}\fi} + \begin{flushleft}\textbf{\ra@cri\ifx\ra@crisec\@empty{}\else{\\[.5\baselineskip]\ra@crisec}\fi}\end{flushleft}}}\fi; +\ifx\ra@nameMainCenter\@empty{}\else\node[right] at (2.5, 25.00) {\parbox{70mm}{\Large\color{white}\textnormal{RESEARCH CENTRE\ifx\ra@nameSecondaryCenter\@empty{}\else{S}\fi} + \begin{flushleft}\textbf{\ra@nameMainCenter\ifx\ra@nameSecondaryCenter\@empty{}\else{\\[.5\baselineskip]\ra@nameSecondaryCenter}\fi}\end{flushleft}}}\fi; +\ifx\ra@partnerships\@empty{}\else\node[right] at (2.5, 22.00) {\parbox{75mm}{\large\begin{boxintitle}IN PARTNERSHIP WITH:\\[2mm] \textbf{\large\ra@partnerships}\end{boxintitle}}};\fi +% team title + (status text if 'Team') +\node[right] at (5.00, 16.00) {\parbox{110mm}{ \begin{boxintitle}{\setlength{\baselineskip}{2\baselineskip}\LARGE\ra@teamtitle\par}\end{boxintitle}% + \ifx\ra@statusteam\@empty{}\else{\small\color{white}\@teamStatusText\normalcolor}\fi + \normalcolor \par + \ifx\ra@collaborations\@empty{}\else\parbox{110mm}{\begin{boxintitle}IN COLLABORATION WITH: \ra@collaborations\end{boxintitle}}\fi + }}; + + %\draw[help lines] (0,0) grid (21,29); +\node[right] at (3.00, 10.00) {\parbox{90mm}{\Large\begin{boxintitle}\textnormal{}{DOMAIN}\\[2mm] \ra@domain\end{boxintitle}}}; +\node[right] at (3.00, 7.00) {\parbox{90mm}{\Large\begin{boxintitle}\textnormal{}{THEME}\\[2mm]\ra@topic\end{boxintitle}}}; + %\filldraw [color=inria-blue] (2.4, 2.4) -- (18.6, 2.4) -- (18.6, 27.3) -- (2.4, 27.3) -- cycle; +\end{tikzpicture} +} +\renewcommand\maketitle{% + \pagenumbering{roman} +\begin{titlepage} + \hyphenpenalty=100000% prevent hyphenation in title page + \coverpage + \end{titlepage}% + \newpage + \pagecolor{white} + \pagestyle{empty} + \restoregeometry +\tableofcontents\clearpage\pagestyle{fancy} + \pagenumbering{arabic}\setcounter{page}{1} + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +%%%%%%%%% page header %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagestyle{fancy} +\fancyhf{} +\fancyhead[LO]{Project \ra@teamacronym} +\fancyhead[LE, RO]{\thepage} +\fancyhead[RE]{Inria Annual Report \ra@year} +%%%%%%%%% bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \bestcite{} +% Redefine entry macro so that the "Best paper" heading is printed in the bibliography +\renewbibmacro{begentry}{\ifcategory{bestcite}{{\color{inria-darkBlue}\bf{\textbf{\textit{Best Paper}}}}\\}{}} +\DeclareBibliographyCategory{bestcite} +\newcommand{\bestcite}[2][]{ + \addtocategory{bestcite}{#2} + \cite[#1]{#2} +} +\DeclareBibliographyCategory{citedpub} +\renewcommand{\footcite}[2][]{% +\addtocategory{citedpub}{#2}% +\cite[#1]{#2}% +} +\let\refercite\cite% !! NEED TO BE TRANSLATE IN THE DOCUMENT !! +\let\bestrefercite\bestcite% !! NEED TO BE TRANSLATE IN THE DOCUMENT !!, +% .bib filenames, as defined in RADAR models +\def\@bib@major{12_01-BIB-READONLY-major-publications.bib} +\def\@bib@yearpub{12_02-BIB-READONLY-year-publications.bib} +\def\rabibyearprod{12_03-BIB-READONLY-year-other.bib} +\def\@bib@cited{12_04-BIB-cited-publications.bib} + +\IfFileExists{\@bib@major}{% +\addbibresource[label=major-publications]{\@bib@major}}{} +\IfFileExists{\@bib@yearpub}{% +\addbibresource[label=year-publications]{\@bib@yearpub}}{} +\IfFileExists{\rabibyearprod}{% +\addbibresource[label=year-productions]{\rabibyearprod}}{} +\IfFileExists{\@bib@cited}{% +\addbibresource[label=cited-publications]{\@bib@cited}}{} +%%% Add keyword per bibtex file, for filtering by section +\DeclareSourcemap{ + \maps[datatype=bibtex]{ + \map[overwrite]{ + \perdatasource{\@bib@major} + \step[fieldset=keywords, fieldvalue=majorpublication] + \step[fieldsource=visible, fieldset=keywords, origfieldval=true, append] + } + \map[overwrite]{ + \perdatasource{\@bib@yearpub} + \step[fieldset=keywords, fieldvalue=yearpublication] + \step[fieldsource=type_number, fieldset=keywords, origfieldval=true, append] + \step[fieldsource=visible, fieldset=keywords, origfieldval=true, append] + } + \map[overwrite]{ + \perdatasource{\rabibyearprod} + \step[fieldset=keywords, fieldvalue=yearproduction] + \step[fieldsource=type_number, fieldset=keywords, origfieldval=true, append] + \step[fieldsource=visible, fieldset=keywords, origfieldval=true, append] + } + \map[overwrite]{ + \perdatasource{\@bib@cited} + \step[fieldset=keywords, fieldvalue=citedpublication] + } + } +} +\defbibheading{subbibra}[\bibname]{ + \subsection{#1}% +} +\defbibheading{subsubbibra}[\bibname]{ + \subsubsection*{#1}% +} +% -------------------------------------- +% RA specific commands and environments +% -------------------------------------- +% Team History +\newcommand{\raTeamHistory}[1]{\par\noindent\textit{#1}\\[6mm]} +% Computer sciences keywords +\newcommand{\raKW}[2]{\item #1 -- #2} +\newenvironment{raKWCompList}{% https://radar.inria.fr/keywords/2022/computing +\textbf{\href{https://radar.inria.fr/keywords/\ra@year/computing}{Computer sciences and digital sciences}} +\begin{list}{}{\setlength\itemsep{.1em}} +}{\end{list}\raggedbottom} +% Other fields keywords +\newenvironment{raKWAppList}{% +\needspace{4\baselineskip}%prevent disgracious page break +\textbf{\href{https://radar.inria.fr/keywords/\ra@year/other}{Other research topics and application domains}} +\begin{list}{}{\setlength\itemsep{.1em}} +}{\end{list}\newpage} +\newcommand{\emptysection}[1]{} +\newcommand{\emptysubsection}[1]{} +% Cmd to add alt text for image +% Right now this command in only used to generated img/@alt attribute value in the html version (using tralics) +% May be used later for PDF (see e.g. accsup packgage) +\newcommand{\altdesc}[1]{} +% -------------------------------------------------- +% --- Members section ------------------------------ +% -------------------------------------------------- +\newenvironment{raMemberList}[1] +{\subsection*{#1} +\begin{itemize}} +{\end{itemize}} +\newcommand{\raMemberLine}[1]{\item #1} +% -------------------------------------------------- +% ---- \pers cmd, participants env ----------------- +% -------------------------------------------------- +\gdef\@inparticipant{0} +\newcounter{part@counter} +\DeclareDocumentCommand{\pers}{ m o m o }{% + \IfNoValueTF{#1}{\ClassError{inria-ra}{Mandatory argument is probably missing in \noexpand\pers BEFORE this line}{The minimun form of the \noexpand\pers command is \string\pers{firstname}{lastname}. You can use \noexpand\pers{}{lastname}}} + \IfNoValueTF{#3}{\ClassError{inria-ra}{Mandatory argument is probably missing in \noexpand\pers BEFORE this line}{The minimun form of the \noexpand\pers command is \string\pers{firstname}{lastname}. You can use \string\pers{}{lastname}}} +\ifnum\@inparticipant=1% +\ifnum\thepart@counter=0\else, \fi#1\IfNoValueTF{#2}{~#3}{#2~#3}% +\IfNoValueTF{#4}{}{~\textit{(#4)}}% +\stepcounter{part@counter}\ignorespaces% +\else% inline \pers{} ie not in participant environment +#1\IfNoValueTF{#2}{~#3}{#2~#3}% +\IfNoValueTF{#4}{}{~\textit{(#4)}}% +\fi% +} +\NewDocumentEnvironment{participants}{ O{Participants} }% +{\gdef\@inparticipant{1}\setcounter{part@counter}{0}\hfill\\[.3em]\noindent{}\begin{tabular}{lp{.7\textwidth}}\textbf{#1:} & } +{.\\\end{tabular}\\[.3em]\gdef\@inparticipant{0}} +\NewDocumentEnvironment{participant}{} +{\begin{participants}[Participant]} +{\end{participants}} +\surroundwithmdframed[backgroundcolor=inria-blue!5, linewidth=0pt, nobreak=true]{participants} +% ---------glossary (formerly glossaire) -------------------------- +\newcommand\glo[2]{\item[{#1}] #2} +\renewenvironment{glossary} +{\subsection*{Glossary}\begin{description}} + {\end{description}} +\surroundwithmdframed[backgroundcolor=inria-red!5,linewidth=0pt]{glossary} +% ----------------------------------- other commands ------------------------------ +\newcommand\ra@finpart{\unskip.\par\vspace{3mm}} +\newenvironment{moreinfo}% +{\par\noindent\it} +{\normalfont\\[1em]} +% Other stuff +\def\XMLaddatt*#1#2{\relax} +% ----------------------------------- Commands for partial compilation (single (sub-)section) ----------------------- +\newcommand\setFirstSection[1]{\setcounter{section}{#1}} +\newcommand\setFirstSubsection[1]{\setcounter{subsection}{#1}} +% ----------------------------------- Command to be used in sections ----------------------------------- +\newenvironment{keywords}{\par {\bf Keywords:~}\nopagebreak}{\ra@finpart}% formerly 'motscles' environment +% ----------------------------------- Former raweb Commands (no more used) ------------------------------ +\newenvironment{motscle} % note: traitement « en dur » dans tralics pour cet environement --> keywords environment +{\par{\bf Keywords}}{\ra@finpart} +\newcommand\moduleref[3]{\ref{#3}}% !! NEED TO BE TRANSLATE IN THE DOCUMENT !! +% ---------------------------------------------------------------------------- +% Declare unicode greek characters, often meet in the exported HAL bib entries +% ---------------------------------------------------------------------------- +% Uppercase +\DeclareUnicodeCharacter{02F8}{:} +\DeclareUnicodeCharacter{0391}{\ensuremath{A}} +\DeclareUnicodeCharacter{0392}{\ensuremath{B}} +\DeclareUnicodeCharacter{0393}{\ensuremath{\Gamma}} +\DeclareUnicodeCharacter{0394}{\ensuremath{\Delta}} +\DeclareUnicodeCharacter{0395}{\ensuremath{E}} +\DeclareUnicodeCharacter{0396}{\ensuremath{Z}} +\DeclareUnicodeCharacter{0397}{\ensuremath{H}} +\DeclareUnicodeCharacter{0398}{\ensuremath{\Theta}} +\DeclareUnicodeCharacter{0399}{\ensuremath{I}} +\DeclareUnicodeCharacter{039A}{\ensuremath{K}} +\DeclareUnicodeCharacter{039B}{\ensuremath{\Lambda}} +\DeclareUnicodeCharacter{039C}{\ensuremath{M}} +\DeclareUnicodeCharacter{039D}{\ensuremath{N}} +\DeclareUnicodeCharacter{039E}{\ensuremath{\Xi}} +\DeclareUnicodeCharacter{039F}{\ensuremath{O}} +\DeclareUnicodeCharacter{03A0}{\ensuremath{\Pi}} +\DeclareUnicodeCharacter{03A1}{\ensuremath{P}} +% NO 03A2 +\DeclareUnicodeCharacter{03A3}{\ensuremath{\Sigma}} +\DeclareUnicodeCharacter{03A4}{\ensuremath{T}} +\DeclareUnicodeCharacter{03A5}{\ensuremath{\Upsilon}} +\DeclareUnicodeCharacter{03A6}{\ensuremath{\Phi}} +\DeclareUnicodeCharacter{03A7}{\ensuremath{X}} +\DeclareUnicodeCharacter{03A8}{\ensuremath{\Psi}} +\DeclareUnicodeCharacter{03A9}{\ensuremath{\Omega}} +% lowercase +\DeclareUnicodeCharacter{03B1}{\ensuremath{\alpha}} +\DeclareUnicodeCharacter{03B2}{\ensuremath{\beta}} +\DeclareUnicodeCharacter{03B3}{\ensuremath{\gamma}} +\DeclareUnicodeCharacter{03B4}{\ensuremath{\delta}} +\DeclareUnicodeCharacter{03B5}{\ensuremath{\varepsilon}} +\DeclareUnicodeCharacter{03B6}{\ensuremath{\zeta}} +\DeclareUnicodeCharacter{03B7}{\ensuremath{\eta}} +\DeclareUnicodeCharacter{03B8}{\ensuremath{\theta}} +\DeclareUnicodeCharacter{03B9}{\ensuremath{\iota}} +\DeclareUnicodeCharacter{03BA}{\ensuremath{\kappa}} +\DeclareUnicodeCharacter{03BB}{\ensuremath{\lambda}} +\DeclareUnicodeCharacter{03BC}{\ensuremath{\mu}} +\DeclareUnicodeCharacter{03BD}{\ensuremath{\nu}} +\DeclareUnicodeCharacter{03BE}{\ensuremath{\xi}} +\DeclareUnicodeCharacter{03BF}{\ensuremath{o}} +\DeclareUnicodeCharacter{03C0}{\ensuremath{\pi}} +\DeclareUnicodeCharacter{03C1}{\ensuremath{\rho}} +% 03C2 final sigma: no tex equiv +\DeclareUnicodeCharacter{03C3}{\ensuremath{\sigma}} +\DeclareUnicodeCharacter{03C4}{\ensuremath{\tau}} +\DeclareUnicodeCharacter{03C5}{\ensuremath{\upsilon}} +\DeclareUnicodeCharacter{03C6}{\ensuremath{\phi}} +\DeclareUnicodeCharacter{03C7}{\ensuremath{\chi}} +\DeclareUnicodeCharacter{03C8}{\ensuremath{\psi}} +\DeclareUnicodeCharacter{03C9}{\ensuremath{\omega}} +%% Other (non greek) UNICODE char +\DeclareUnicodeCharacter{0301}{`} +\DeclareUnicodeCharacter{2009}{\,} +\DeclareUnicodeCharacter{2002}{ }%half space +\DeclareUnicodeCharacter{200B}{} +\DeclareUnicodeCharacter{200E}{} % ctrl LEFT-TO-RIGHT MARK +\DeclareUnicodeCharacter{202A}{} +\DeclareUnicodeCharacter{202F}{~} +\DeclareUnicodeCharacter{2082}{\ensuremath{_2}} +\DeclareUnicodeCharacter{221E}{\ensuremath{\infty}} +\DeclareUnicodeCharacter{22C6}{\ensuremath{\star}} diff --git a/inria-ra.dbx b/inria-ra.dbx new file mode 100644 index 0000000..cd16717 --- /dev/null +++ b/inria-ra.dbx @@ -0,0 +1,7 @@ +\ProvidesFile{inria-ra.dbx}[2020/11/16 datamodel extension for Inria annual report, Inria/DSI/SA] +% This datamodel includes the 'software' datamodel definition. +% See +\RequireBiber[3] +\input{software.dbx} +% inria-ra specific: add hal_id field in name list +\DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given,hal_id} \ No newline at end of file diff --git a/latexmkrc b/latexmkrc new file mode 100644 index 0000000..41d203a --- /dev/null +++ b/latexmkrc @@ -0,0 +1,10 @@ +# -*- perl -*- +# The Inria RADAR Project +# ---------------------------------------------- +# latexmk configuration for Inria annual report +# --------------------------------------------- +# See https://ctan.org/pkg/latexmk + +$pdf_mode = 1; # Use pdflatex +$biber='biber --output-safechars'; # better unicode handling +@default_files = ('DIVERSE-RA-2023.tex'); # Set the main filename; diff --git a/software.bbx b/software.bbx new file mode 100644 index 0000000..7ef6d84 --- /dev/null +++ b/software.bbx @@ -0,0 +1,338 @@ +% +% Reference implementation of a BibLaTeX style for the software family of bibliographic entries +% +% 2020/04/02 Roberto Di Cosmo +% +\RequireBiber[3] +\RequirePackage{xurl} +% +% Toggles for typesetting additional ids and printing labels +% +\newtoggle{bbx:halid} +\newtoggle{bbx:swhid} +\newtoggle{bbx:vcs} +\newtoggle{bbx:swlabels} +\newtoggle{bbx:license} + +\DeclareBibliographyOption[boolean]{halid}[true]{% + \settoggle{bbx:halid}{#1}} +\DeclareBibliographyOption[boolean]{swhid}[true]{% + \settoggle{bbx:swhid}{#1}} +\DeclareBibliographyOption[boolean]{swlabels}[true]{% + \settoggle{bbx:swlabels}{#1}} +\DeclareBibliographyOption[boolean]{vcs}[true]{% + \settoggle{bbx:vcs}{#1}} +\DeclareBibliographyOption[boolean]{license}[true]{% + \settoggle{bbx:license}{#1}} + +\ExecuteBibliographyOptions{halid,swhid,swlabels,vcs,license} + +% +% Declare inheritance rules (valid only in LaTeX preamble!) +% +\DeclareDataInheritance{software}{softwareversion,softwaremodule,codefragment}{\inherit{*}{*}} +\DeclareDataInheritance{softwareversion}{softwaremodule,codefragment}{\inherit{*}{*}} +\DeclareDataInheritance{softwaremodule}{codefragment}{\inherit{*}{*}} + +% +% Localization +% +\DeclareLanguageMapping{english}{english-software} +\DeclareLanguageMapping{french}{french-software} + +% +% Macros +% + +% +% Notice the use of \edef to force expansion of the macro parameters before calling \nolinkurl +% +\newbibmacro*{swurl+urldate}{% + \mkbibacro{URL}\addcolon\addspace% + \ifhyperref% + {\href{\strfield{url}}{\nolinkurl{\strfield{url}}}}% + {\edef\temp{\noexpand\nolinkurl{\strfield{url}}}\temp}% + \iffieldundef{urlyear}% + {}% + {\setunit*{\addspace}% + \usebibmacro{urldate}}} + +% +% Support multiline SWHIDs +% +\DeclareStyleSourcemap{ + \maps[datatype=bibtex,overwrite=true]{ + \map{ + \step[fieldsource=swhid, match=\regexp{\s}, replace={}] + } + } +} + +% +% Formatting fields for the software entries +% + +\DeclareFieldFormat[softwaremodule,codefragment]{subtitle}{\mkbibquote{#1\isdot}} +\DeclareFieldFormat[software,softwareversion,softwaremodule,codefragment]{url}{ + \iftoggle{bbx:url}% + {\usebibmacro{swurl+urldate}} + {}% +} +\DeclareFieldFormat[software,softwareversion,softwaremodule,codefragment]{hal_id}{ + \iftoggle{bbx:halid}% + {\mkbibacro{HAL}\addcolon\addspace% + \ifhyperref% + {\href{https://hal.archives-ouvertes.fr/#1\thefield{hal_version}}{\(\langle\)\nolinkurl{#1\thefield{hal_version}}\(\rangle\)}}% + {\(\langle\)\nolinkurl{#1}\thefield{hal_version}\(\rangle\)}% + }% + {}% +} +\DeclareFieldFormat[software,softwareversion,softwaremodule,codefragment]{swhid}{% + \iftoggle{bbx:swhid}% + {\mkbibacro{SWHID}\addcolon\addspace% + \ifhyperref% + {\href{http://archive.softwareheritage.org/#1}{\(\langle\)\nolinkurl{#1}\(\rangle\)}}% + {\(\langle\)\nolinkurl{#1}\(\rangle\)}% + }% + {}% +} +\DeclareFieldFormat[software,softwareversion,softwaremodule,codefragment]{repository}{% + \iftoggle{bbx:vcs}% + {\mkbibacro{VCS}\addcolon\addspace% + \ifhyperref% + {\href{#1}{\nolinkurl{#1}}}% + {\nolinkurl{#1}}% + }% + {}% +} +\DeclareListFormat[software,softwareversion,softwaremodule,codefragment]{license}{% + \usebibmacro{list:delim}{#1}% + #1\isdot + \usebibmacro{list:andothers}} + +% +% Add here special eprint formats +% + +% +% ASCL +% +\DeclareFieldFormat{eprint:ascl}{% + \mkbibacro{ASCL}\addcolon\addspace% + \ifhyperref + {\href{https://ascl.net/#1}{% + \(\langle\)ascl\addcolon\nolinkurl{#1}\(\rangle\)% + \iffieldundef{eprintclass} + {} + {\addspace\texttt{\mkbibbrackets{\thefield{eprintclass}}}}}} + {\(\langle\)ascl\addcolon\nolinkurl{#1}\(\rangle\)% + \iffieldundef{eprintclass} + {} + {\addspace\texttt{\mkbibbrackets{\thefield{eprintclass}}}}} +} + +% +% swMATH +% +\DeclareFieldFormat{eprint:swmath}{% + \mkbibacro{SWMATH}\addcolon\addspace% + \ifhyperref + {\href{https://www.swmath.org/software/#1}{% + \(\langle\)swmath\addcolon\nolinkurl{#1}\(\rangle\)% + \iffieldundef{eprintclass} + {} + {\addspace\texttt{\mkbibbrackets{\thefield{eprintclass}}}}}} + {\(\langle\)swmath\addcolon\nolinkurl{#1}\(\rangle\)% + \iffieldundef{eprintclass} + {} + {\addspace\texttt{\mkbibbrackets{\thefield{eprintclass}}}}} +} + +% +% Macros to format output +% +\newbibmacro*{swtitleauthoreditoryear}{% + \printnames{author}\addcomma% + \setunit{\addspace}% + \printfield{title}\addspace% + \printfield{version}\addspace% + \ifnameundef{editor}% + {}% + {\printtext[parens]{% + \bibstring{edited}\addspace% + \printnames{editor}}}% + \addcomma% + \addspace% + \printdate% +} + +% +\newbibmacro*{swsubtitleauthoreditoryear}{% + \printnames{author}\addcomma% + \setunit{\addspace}% + \iffieldundef{subtitle}% + {} + {\printfield{subtitle}\addcomma\addspace% + \bibstring{swpartof}\addspace + }% + \printfield{title}\addspace% + \printfield{version}\addspace% + \ifnameundef{editor}% + {} + {\printtext[parens]{% + \bibstring{edited}\addspace% + \printnames{editor}}}% + \addcomma% + \addspace% + \printdate% +} + +\newbibmacro*{codefragmenttitleauthoreditoryear}{% + \printnames{author}\addcomma% + \setunit{\addspace}% + \iffieldundef{subtitle}% + {} + {\printfield{subtitle}\addcomma\addspace% + \bibstring{swexc}\addspace + }% + \printfield{title}\addspace% + \printfield{version}\addspace% + \ifnameundef{editor}% + {} + {\printtext[parens]{% + \bibstring{edited}\addspace% + \printnames{editor}}}% + \setunit*{\addcomma\addspace}% + \printdate% +} + +\newbibmacro{licenses}{% + \iflistundef{license} + {} + {\iftoggle{bbx:license}% + {\newunitpunct + \mkbibacro{Lic}\addcolon + \printlist{license} + }% + {}% + } +} + +\newbibmacro*{swids}{% + \printfield{doi}% + \setunit*{\addcomma\addspace}% + \printfield{hal_id}% + \setunit*{\addcomma\addspace}% + \iftoggle{bbx:eprint} + {\usebibmacro{eprint}} + {}% + \setunit*{\addcomma\addspace}% + \printfield{url}% + \setunit*{\addcomma\addspace}% + \printfield{repository}% + \setunit*{\addcomma\addspace}% + \printfield{swhid}% + % + % If only the url is present, output it regardless of bbx:url directive + % + \ifboolexpr{% + not test {\iftoggle{bbx:url}}% + and + not test {\iffieldundef{url}}% + and + test {\iffieldundef{doi}}% + and + test {\iffieldundef{eprint}}% + and + test {\iffieldundef{hal_id}}% + and + test {\iffieldundef{swhid}}% + and + test {\iffieldundef{repository}}% + }% + {\usebibmacro{swurl+urldate}}% + {}% +} + +\newbibmacro*{swrelated}{% + \iffieldundef{related}% + {}% + {\iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related} + } + {}% + }% +} + +% +% Formatting the entries +% + +\DeclareBibliographyDriver{software}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \iftoggle{bbx:swlabels}{\bibstring{software}{\addspace}}{}% + \usebibmacro{swtitleauthoreditoryear}% + \newunit\newblock% + \printlist{institution} + \newunit\newblock% + \printlist{organization} + \newunit\newblock% + \usebibmacro{licenses}% + \newunit\newblock% + \usebibmacro{swids}% + \newunit\newblock% + \usebibmacro{swrelated}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{softwareversion}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \iftoggle{bbx:swlabels}{\bibstring{swversion}\addspace}{}% + \usebibmacro{swsubtitleauthoreditoryear}% + \newunit\newblock% + \printlist{institution} + \newunit\newblock% + \printlist{organization} + \newunit\newblock% + \usebibmacro{licenses}% + \newunit\newblock% + \usebibmacro{swids}% + \newunit\newblock% + \usebibmacro{swrelated}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{softwaremodule}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \iftoggle{bbx:swlabels}{\bibstring{swmodule}\addspace}{}% + \usebibmacro{swsubtitleauthoreditoryear}% + \newblock\newblock% + \printlist{institution} + \newunit\newblock% + \printlist{organization} + \newunit\newblock% + \usebibmacro{licenses}% + \newunit\newblock% + \usebibmacro{swids}% + \newunit\newblock% + \usebibmacro{swrelated}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{codefragment}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \iftoggle{bbx:swlabels}{\bibstring{swexcerpt}\addspace}{}% + \usebibmacro{codefragmenttitleauthoreditoryear}% + \newunit\newblock% + \printlist{institution} + \newunit\newblock% + \printlist{organization} + \newunit\newblock% + \usebibmacro{licenses}% + \newunit\newblock% + \usebibmacro{swids}% + \newunit\newblock% + \usebibmacro{swrelated}% + \usebibmacro{finentry}} diff --git a/software.dbx b/software.dbx new file mode 100644 index 0000000..4d45bc7 --- /dev/null +++ b/software.dbx @@ -0,0 +1,196 @@ +\ProvidesFile{software.dbx}[2020/04/02 datamodel extension for software entries, Roberto Di Cosmo] +\RequireBiber[3] +% +% the software entry type family, with their fields +% +\DeclareDatamodelEntrytypes{software,softwareversion,softwaremodule,codefragment} +\DeclareDatamodelFields[type=field,datatype=literal]{ + introducedin, +} +\DeclareDatamodelFields[type=list,datatype=literal]{ + license, +} +\DeclareDatamodelFields[type=field,datatype=uri]{ + repository, +} +\DeclareDatamodelFields[type=field, datatype=verbatim]{ + hal_id, + hal_version, + swhid, +} + +% +% Fields for software entry +% +\DeclareDatamodelEntryfields[software]{ + abstract, + author, + date, + doi, + editor, + eprint, + eprintclass, + eprinttype, + file, + hal_id, + hal_version, + institution, + license, + month, + note, + organization, + publisher, + related, + relatedstring, + repository, + swhid, + title, + url, + urldate, + version, + year, +} +\DeclareDatamodelConstraints[software]{ + \constraint[type=mandatory]{ + \constraintfieldsor{ + \constraintfield{author} + \constraintfield{editor} + } + \constraintfield{title} + \constraintfield{url} + \constraintfield{year} + } +} + +% +% Fields for softwareversion entry +% +\DeclareDatamodelEntryfields[softwareversion]{ + abstract, + author, + crossref, + date, + doi, + editor, + eprint, + eprintclass, + eprinttype, + file, + hal_id, + hal_version, + institution, + introducedin, + license, + month, + note, + organization, + publisher, + related, + relatedstring, + relatedtype, + repository, + subtitle, + swhid, + title, + url, + urldate, + version, + year, +} +\DeclareDatamodelConstraints[softwareversion]{ + \constraint[type=mandatory]{ + \constraintfieldsor{ + \constraintfield{author} + \constraintfield{editor} + } + \constraintfield{title} + \constraintfield{url} + \constraintfield{version} + \constraintfield{year} + } +} + +% +% Fields for softwaremodule entry +% +\DeclareDatamodelEntryfields[softwaremodule]{ + abstract, + author, + crossref, + date, + doi, + editor, + eprint, + eprintclass, + eprinttype, + file, + hal_id, + hal_version, + institution, + introducedin, + license, + month, + note, + organization, + publisher, + related, + relatedstring, + relatedtype, + repository, + subtitle, + swhid, + title, + url, + urldate, + version, + year, +} +\DeclareDatamodelConstraints[softwaremodule]{ + \constraint[type=mandatory]{ + \constraintfield{author} + \constraintfield{subtitle} + \constraintfield{url} + \constraintfield{year} + } +} + +% +% Fields for codefragment entry +% +\DeclareDatamodelEntryfields[codefragment]{ + abstract, + author, + crossref, + date, + doi, + eprint, + eprintclass, + eprinttype, + file, + hal_id, + hal_version, + institution, + introducedin, + license, + month, + note, + organization, + publisher, + related, + relatedstring, + relatedtype, + repository, + subtitle, + swhid, + title, + url, + urldate, + version, + year, +} +\DeclareDatamodelConstraints[codefragment]{ + \constraint[type=mandatory]{ + \constraintfield{url} + } +} + diff --git a/xurl.sty b/xurl.sty new file mode 100644 index 0000000..9f1f41b --- /dev/null +++ b/xurl.sty @@ -0,0 +1,151 @@ +%% $Id: xurl.sty 1137 2020-01-24 13:32:38Z herbert $ +%% +%% This is file `xurl.sty', +%% +%% IMPORTANT NOTICE: +%% +%% Package `xurl' +%% +%% Herbert Voss +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +%% +%% DESCRIPTION: +%% `xurl' is a package for extended URL breaks +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{xurl}[2020/01/24 v 0.09 modify URL breaks] + +\newif\if@no@biblatex \@no@biblatexfalse +\DeclareOption{nobiblatex}{\@no@biblatextrue} + +\DeclareOption*{\PassOptionsToPackage\CurrentOption{url}} +\ProcessOptions\relax +% +\RequirePackage{url} +% +\if@no@biblatex\else + \@ifpackageloaded{biblatex}{% + \typeout{xurl: Set penalties for biblatex}% + \setcounter{biburllcpenalty}{100}% + \setcounter{biburlucpenalty}{200}% + \global\setcounter{biburlnumpenalty}{100}% + }{} % biblatex has it's own url handling +\fi +% +%\mathchardef\UrlBigBreakPenalty=100 +%\mathchardef\UrlBreakPenalty=200 + +\def\UrlBreaks{% + \do\/% + \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j\do\k\do\l% + \do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t\do\u\do\v\do\w\do\x\do\y\do\z% + \do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J\do\K\do\L% + \do\M\do\N\do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V\do\W\do\X\do\Y\do\Z% + \do\*\do\-\do\~\do\'\do\"\do\-\do\\% + \do0\do1\do2\do3\do4\do5\do6\do7\do8\do9\do=\do/\do.\do:% +} +% +\def\UrlSpecials{% + \do\ {\Url@space}% + \do\%{\Url@percent}% + \do\^^M{\Url@space}% + \Url@force@Tilde +} + +\Urlmuskip=0mu plus 1mu +% +\def\useOriginalUrlSetting{% +\def\UrlBreaks{\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\;\do\>\do\]% + \do\)\do\,\do\?\do\&\do\'\do+\do\=\do\#}% +\def\UrlSpecials{\do\ {\Url@space}\do\%{\Url@percent}\do\^^M{\Url@space}% + \Url@force@Tilde}% package option may force faked text-ascii-tilde +} + +\endinput + +\def\UrlSpecials{% + \do\ {\Url@space}% + \do\%{\Url@percent}% + \do\^^M{\Url@space}% + \Url@force@Tilde + \do\/{/\penalty\UrlBreakPenalty}% + \do\a{a\penalty\UrlBreakPenalty}% + \do\b{b\penalty\UrlBreakPenalty}% + \do\c{c\penalty\UrlBreakPenalty}% + \do\d{d\penalty\UrlBreakPenalty}% + \do\e{e\penalty\UrlBreakPenalty}% + \do\f{f\penalty\UrlBreakPenalty}% + \do\g{g\penalty\UrlBreakPenalty}% + \do\h{h\penalty\UrlBreakPenalty}% + \do\i{i\penalty\UrlBreakPenalty}% + \do\j{j\penalty\UrlBreakPenalty}% + \do\k{k\penalty\UrlBreakPenalty}% + \do\l{l\penalty\UrlBreakPenalty}% + \do\m{m\penalty\UrlBreakPenalty}% + \do\n{n\penalty\UrlBreakPenalty}% + \do\o{o\penalty\UrlBreakPenalty}% + \do\p{p\penalty\UrlBreakPenalty}% + \do\q{q\penalty\UrlBreakPenalty}% + \do\r{r\penalty\UrlBreakPenalty}% + \do\s{s\penalty\UrlBreakPenalty}% + \do\t{t\penalty\UrlBreakPenalty}% + \do\u{u\penalty\UrlBreakPenalty}% + \do\v{v\penalty\UrlBreakPenalty}% + \do\w{w\penalty\UrlBreakPenalty}% + \do\x{x\penalty\UrlBreakPenalty}% + \do\y{y\penalty\UrlBreakPenalty}% + \do\z{z\penalty\UrlBreakPenalty}% + \do\A{A\penalty\UrlBreakPenalty}% + \do\B{B\penalty\UrlBreakPenalty}% + \do\C{C\penalty\UrlBreakPenalty}% + \do\D{D\penalty\UrlBreakPenalty}% + \do\E{E\penalty\UrlBreakPenalty}% + \do\F{F\penalty\UrlBreakPenalty}% + \do\G{G\penalty\UrlBreakPenalty}% + \do\H{H\penalty\UrlBreakPenalty}% + \do\I{I\penalty\UrlBreakPenalty}% + \do\J{J\penalty\UrlBreakPenalty}% + \do\K{K\penalty\UrlBreakPenalty}% + \do\L{L\penalty\UrlBreakPenalty}% + \do\M{M\penalty\UrlBreakPenalty}% + \do\N{N\penalty\UrlBreakPenalty}% + \do\O{O\penalty\UrlBreakPenalty}% + \do\P{P\penalty\UrlBreakPenalty}% + \do\Q{Q\penalty\UrlBreakPenalty}% + \do\R{R\penalty\UrlBreakPenalty}% + \do\S{S\penalty\UrlBreakPenalty}% + \do\T{T\penalty\UrlBreakPenalty}% + \do\U{U\penalty\UrlBreakPenalty}% + \do\V{V\penalty\UrlBreakPenalty}% + \do\W{W\penalty\UrlBreakPenalty}% + \do\X{X\penalty\UrlBreakPenalty}% + \do\Y{Y\penalty\UrlBreakPenalty}% + \do\Z{Z\penalty\UrlBreakPenalty}% +% \do0\do1\do2\do3\do4\do5\do6\do7\do8\do9\do=\do/\do.\do:% + \do\*{*\penalty\UrlBreakPenalty}% + \do\-{-\penalty\UrlBreakPenalty}% + \do\~{~\penalty\UrlBreakPenalty}% + \do\'{'\penalty\UrlBreakPenalty}% + \do\"{"\penalty\UrlBreakPenalty}% + \do\0{/\penalty\UrlBreakPenalty}% + \do\1{/\penalty\UrlBreakPenalty}% + \do\2{/\penalty\UrlBreakPenalty}% + \do\3{/\penalty\UrlBreakPenalty}% + \do\4{/\penalty\UrlBreakPenalty}% + \do\5{/\penalty\UrlBreakPenalty}% + \do\6{/\penalty\UrlBreakPenalty}% + \do\7{/\penalty\UrlBreakPenalty}% + \do\8{/\penalty\UrlBreakPenalty}% + \do\9{/\penalty\UrlBreakPenalty}% + \do\={/\penalty\UrlBreakPenalty}% + \do\/{/\penalty\UrlBreakPenalty}% + \do\.{/\penalty\UrlBreakPenalty}% + \do\:{/\penalty\UrlBreakPenalty}% +} +% + + +