papers: publish info about accepted MSR 2015 papers
[homepage.git] / research / publications.mdwn
index 453925b..43b4bee 100644 (file)
@@ -13,12 +13,18 @@ You might also be interested in my author profiles on
 
 # <span title="international, peer-reviewed journals">international, peer-reviewed journal articles</span>
 
+ 1. <a class="paper-download" href="ic-2014-aeolus.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="ic-2014-aeolus.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1016/j.ic.2014.11.002" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.dicosmo.org">Roberto Di Cosmo</a>, <a href="http://www.cs.unibo.it/~jmauro/">Jacopo Mauro</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>, <a href="http://www.cs.unibo.it/~zavattar/">Gianluigi Zavattaro</a>. **Aeolus: a Component Model for the Cloud**.  <em>In <a href="http://www.journals.elsevier.com/information-and-computation">Information
+      and Computation</a>, Volume 239, <a href="http://www.sciencedirect.com/science/article/pii/S0890540114001424">pp. 100-121</a>. 2014.
+      ISSN 0890-5401, Elsevier.</em>
+    [[!toggle id=id56 text="Abstract..."]] [[!toggleable id=id56 text="""
+    *Abstract:* We introduce the Aeolus component model, which is specifically designed to capture realistic scenarii arising when configuring and deploying distributed applications in the so-called cloud environments, where interconnected components can be deployed on clusters of heterogeneous virtual machines, which can be in turn created, destroyed, and connected on-the-fly. The full Aeolus model is able to describe several component characteristics such as dependencies, conflicts, non-functional requirements (replication requests and load limits), as well as the fact that component interfaces to the world might vary depending on the internal component state. When the number of components needed to build an application grows, it becomes important to be able to automate activities such as deployment and reconfiguration. This correspond, at the level of the model, to the ability to decide whether a desired target system configuration is reachable, which we call the achievability problem, and producing a path to reach it. In this work we show that the achievability problem is undecidable for the full Aeolus model, a strong limiting result for automated configuration in the cloud. We also show that the problem becomes decidable, but Ackermann-hard, as soon as one drops non-functional requirements. Finally, we provide a polynomial time algorithm for the further restriction of the model where support for inter-component conflicts is also removed.
+    """]]
  1. <a class="paper-download" href="scp2013-futures.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="scp2013-futures.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1016/j.scico.2013.06.007" title="Document Object Identifier">doi&gt;</a></span> Pietro Abate, <a href="http://www.dicosmo.org">Roberto Di Cosmo</a>, <a href="http://www.pps.univ-paris-diderot.fr/~treinen">Ralf Treinen</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Learning from the Future of Component Repositories**.  <em>In <a href="http://www.elsevier.com/locate/scico/">Science
       of Computer Programming</a>,
       Volume 90, Part B,
       <a href="http://www.sciencedirect.com/science/article/pii/S0167642313001561">pp. 93-115</a>.
       ISSN 0167-6423, Elsevier,
-      2013.</em>
+      2014.</em>
     [[!toggle id=id50 text="Abstract..."]] [[!toggleable id=id50 text="""
     *Abstract:* An important aspect of the quality assurance of large component repositories is to ensure the logical coherence of component metadata, and to this end one needs to identify incoherences as early as possible. Some relevant classes of problems can be formulated in term of properties of the future repositories into which the current repository may evolve. However, checking such properties on all possible future repositories requires a way to construct a finite representation of the infinite set of all potential futures. A class of properties for which this can be done is presented in this work. We illustrate the practical usefulness of the approach with two quality assurance applications: (i) establishing the amount of "forced upgrades" induced by introducing new versions of existing components in a repository, and (ii) identifying outdated components that are currently not installable and need to be upgraded in order to become installable again. For both applications we provide experience reports obtained on the Debian free software distribution.
     """]]
@@ -92,6 +98,10 @@ You might also be interested in my author profiles on
 
 # editorials
 
+ 1. <a class="paper-download" href="jwe-wt-2014-editorial.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="jwe-wt-2014-editorial.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <a href="http://diiorio.web.cs.unibo.it/">Angelo Di Iorio</a>, <a href="http://www.cs.unibo.it/~rossi/">Davide Rossi</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Editorial**.  <em>In <a href="http://www.rintonpress.com/journals/jwe/">Journal of Web
+      Engineering</a>, Volume 14, Number 1-2,
+      pp. 1-2.
+      ISSN 1540-9589, Rinton Press, 2014.</em>
  1. <a class="paper-download" href="scp-wt-2012-editorial.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="scp-wt-2012-editorial.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1016/j.scico.2014.03.001" title="Document Object Identifier">doi&gt;</a></span> <a href="http://diiorio.web.cs.unibo.it/">Angelo Di Iorio</a>, <a href="http://www.cs.unibo.it/~rossi/">Davide Rossi</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Web Technologies: Selected &amp; extended papers from WT ACM SAC 2012**.  <em>In <a href="http://www.journals.elsevier.com/science-of-computer-programming/">Science
       of Computer Programming</a>, Volume 94,
       Part 1,
@@ -120,18 +130,21 @@ You might also be interested in my author profiles on
 
 # <span title="international, peer-reviewed conferences">international, peer-reviewed conference proceedings</span>
 
- 1. <a class="paper-download" href="zephyrus-ase-2014.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="zephyrus-ase-2014.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <a href="http://www.dicosmo.org">Roberto Di Cosmo</a>, <a href="http://gzoumix.wikidot.com/">Michael Lienhardt</a>, <a href="http://www.pps.univ-paris-diderot.fr/~treinen">Ralf Treinen</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>, <a href="http://www.pps.univ-paris-diderot.fr/~qba/">Jakub Zwolakowski</a>, Antoine Eiche, Alexis Agahi. **Automated Synthesis and Deployment of Cloud Applications**.  <em>
-       To appear in proceedings of <a href="http://ase2014.org/">ASE 2014</a>: 29th IEEE/ACM International
-       Conference on Automated Software Engineering. September
-       15-19, 2014, Vasteras, Sweden.
+ 1. <a class="paper-download" href="zephyrus-ase-2014.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="zephyrus-ase-2014.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1145/2642937.2642980" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.dicosmo.org">Roberto Di Cosmo</a>, <a href="http://gzoumix.wikidot.com/">Michael Lienhardt</a>, <a href="http://www.pps.univ-paris-diderot.fr/~treinen">Ralf Treinen</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>, <a href="http://www.pps.univ-paris-diderot.fr/~qba/">Jakub Zwolakowski</a>, Antoine Eiche, Alexis Agahi. **Automated Synthesis and Deployment of Cloud Applications**.  <em>
+       In proceedings of <a href="http://ase2014.org/">ASE
+       2014</a>: 29th IEEE/ACM International Conference on Automated Software
+       Engineering, September 15-19, 2014, Vasteras, Sweden. ISBN
+       978-1-4503-3013-8, <a href="http://dl.acm.org/citation.cfm?doid=2642937.2642980">pp. 211-222</a>,
+       ACM 2014.
       </em>
     [[!toggle id=id54 text="Abstract..."]] [[!toggleable id=id54 text="""
     *Abstract:* Complex networked applications are assembled by connecting software components distributed across multiple machines. Building and deploying such systems is a challenging problem which requires a significant amount of expertise: the system architect must ensure that all component dependencies are satisfied, avoid conflicting components, and add the right amount of component replicas to account for quality of service and fault-tolerance. In a cloud environment, one also needs to minimize the virtual resources provisioned upfront, to reduce the cost of operation. Once the full architecture is designed, it is necessary to correctly orchestrate the deployment phase, to ensure all components are started and connected in the right order. We present a toolchain that automates the assembly and deployment of such complex distributed applications. Given as input a high-level specification of the desired system, the set of available components together with their requirements, and the maximal amount of virtual resources to be committed, it synthesizes the full architecture of the system, placing components in an optimal manner using the minimal number of available machines, and automatically deploys the complete system in a cloud environment.
     """]]
- 1. <a class="paper-download" href="debsources-esem-2014.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="debsources-esem-2014.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <a href="https://matthieu.io/">Matthieu Caneill</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Debsources: Live and Historical Views on Macro-Level Software Evolution**.  <em>
-       To appear in proceedings of <a href="http://softeng.polito.it/ESEIW2014/ESEM/">ESEM 2014</a>: 8th
+ 1. <a class="paper-download" href="debsources-esem-2014.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="debsources-esem-2014.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1145/2652524.2652528" title="Document Object Identifier">doi&gt;</a></span> <a href="https://matthieu.io/">Matthieu Caneill</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Debsources: Live and Historical Views on Macro-Level Software Evolution**.  <em>
+       In proceedings of <a href="http://softeng.polito.it/ESEIW2014/ESEM/">ESEM 2014</a>: 8th
        International Symposium on Empirical Software Engineering and
-       Measurement. September 18-19, 2014, Torino, Italy.
+       Measurement, September 18-19, 2014, Torino, Italy. ISBN <a href="http://dl.acm.org/citation.cfm?doid=2652524.2652528">
+       978-1-4503-2774-9</a>, ACM 2014.
       </em>
     [[!toggle id=id53 text="Abstract..."]] [[!toggleable id=id53 text="""
     *Abstract:* Context. Software evolution has been an active field of research in recent years, but studies on macro-level software evolution---i.e., on the evolution of large software collections over many years---are scarce, despite the increasing popularity of intermediate vendors as a way to deliver software to final users. Goal. We want to ease the study of both day-by-day and long-term Free and Open Source Software (FOSS) evolution trends at the macro-level, focusing on the Debian distribution as a proxy of relevant FOSS projects. Method. We have built Debsources, a software platform to gather, search, and publish on the Web all the source code of Debian and measures about it. We have set up a public Debsources instance at http://sources.debian.net, integrated it into the Debian infrastructure to receive live updates of new package releases, and written plugins to compute popular source code metrics. We have injected all current and historical Debian releases into it. Results. The obtained dataset and Web portal provide both long term-views over the past 20 years of FOSS evolution and live insights on what is happening at sub-day granularity. By writing simple plugins (~100 lines of Python each) and adding them to our Debsources instance we have been able to easily replicate and extend past empirical analyses on metrics as diverse as lines of code, number of packages, and rate of change---and make them perennial. We have obtained slightly different results than our reference study, but confirmed the general trends and updated them in light of 7 extra years of evolution history. Conclusions. Debsources is a flexible platform to monitor large FOSS collections over long periods of time. Its main instance and dataset are valuable resources for scholars interested in macro-level software evolution.
@@ -316,6 +329,26 @@ You might also be interested in my author profiles on
 
 # <span title="international, peer-reviewed workshops">international, peer-reviewed workshop proceedings</span>
 
+ 1. <a class="paper-download" href="debsources-msr-2015.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="debsources-msr-2015.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **The Debsources Dataset: Two Decades of Debian Source Code Metadata**.  <em>To appear in proceedings of <a href="http://2015.msrconf.org/">MSR 2015</a>: The 12th Working Conference
+      on Mining Software Repositories, May 16-17, 2015, Florence,
+      Italy. Co-located with
+      <a href="http://2015.icse-conferences.org/">ICSE 2015</a>. 2015.</em>
+    [[!toggle id=id59 text="Abstract..."]] [[!toggleable id=id59 text="""
+    *Abstract:* We present the Debsources Dataset: distribution metadata and source code metrics spanning two decades of Free and Open Source Software (FOSS) history, seen through the lens of the Debian distribution. Debsources is a software platform used to gather, search, and publish on the Web the full source code of the Debian operating system, as well as measures about it. A notable public instance of Debsources is available at http://sources.debian.net; it includes both current and historical releases of Debian. Plugins to compute popular source code metrics (lines of code, defined symbols, disk usage) and other derived data (e.g., checksums) have been written, integrated, and run on all the source code available on sources.debian.net. The Debsources Dataset is a PostgreSQL database dump of sources.debian.net metadata, as of February 10th, 2015. The dataset contains both Debian-specific metadata—e.g., which software packages are available in which release, which source code file belong to which package, release dates, etc.—and source code information gathered by running Debsources plugins. The Debsources Dataset offer a very long-term historical view of the macro-level evolution and constitution of FOSS through the lens of popular, representative FOSS projects of their times.
+    """]]
+ 1. <a class="paper-download" href="distcheck-msr-2015.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="distcheck-msr-2015.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> Pietro Abate, <a href="http://www.dicosmo.org">Roberto Di Cosmo</a>, Louis Gesbert, Fabrice Le Fessant, <a href="http://www.pps.univ-paris-diderot.fr/~treinen">Ralf Treinen</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Mining Component Repositories for Installability Issues**.  <em>To appear in proceedings of <a href="http://2015.msrconf.org/">MSR 2015</a>: The 12th Working Conference
+      on Mining Software Repositories, May 16-17, 2015, Florence,
+      Italy. Co-located with
+      <a href="http://2015.icse-conferences.org/">ICSE 2015</a>. 2015.</em>
+    [[!toggle id=id58 text="Abstract..."]] [[!toggleable id=id58 text="""
+    *Abstract:* Component repositories play an increasingly relevant role in software life-cycle management, from software distribution to end-user, to deployment and upgrade management. Software components shipped via such repositories are equipped with rich metadata that describe their relationship (e.g., dependencies and conflicts) with other components. In this practice paper we show how to use a tool, distcheck, that uses component metadata to identify all the components in a repository that cannot be installed (e.g., due to unsatisfiable dependencies), provides detailed information to help developers understanding the cause of the problem, and fix it in the repository. We report about detailed analyses of several repositories: the Debian distribution, the OPAM package collection, and Drupal modules. In each case, distcheck is able to efficiently identify not installable components and provide valuable explanations of the issues. Our experience provides solid ground for generalizing the use of distcheck to other component repositories.
+    """]]
+ 1. <a class="paper-download" href="cudf-ocaml-2014.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="cudf-ocaml-2014.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> Pietro Abate, <a href="http://www.dicosmo.org">Roberto Di Cosmo</a>, Louis Gesbert, Fabrice Le Fessant, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Using Preferences to Tame your Package Manager**.  <em>In proceedings of <a href="https://ocaml.org/meetings/ocaml/2014/">OCaml 2014</a>: The OCaml
+      Users and Developers Workshop, September 5, 2014, Gothenburg,
+      Sweden. Co-located with <a href="http://icfpconference.org/icfp2014/">ICFP 2014</a>. 2014.</em>
+    [[!toggle id=id57 text="Abstract..."]] [[!toggleable id=id57 text="""
+    *Abstract:* Determining whether some components can be installed on a system is a complex problem: not only it is NP-complete in the worst case, but there can also be exponentially many solutions to it. Ordinary package managers use ad-hoc heuristics to solve this installation problem and choose a particular solution, making extremely difficult to change or sidestep these heuristics when the result is not the one we expect. When software repositories become complex enough, one gets vastly superior results by delegating dependency handling to a specialised solver, and use optimisation functions (or preferences) to control the class of solutions that are found. The opam package manager relies on the CUDF pivot format, which allows OCaml users that have a CUDF-compliant solver on their machine to reap the benefits of preferences-based dependency resolution. Thanks to the solver farm provided by Irill, these benefits are now extended to the OCaml community at large. In this talk we will present the preferences language and explain how to use it.
+    """]]
  1. <a class="paper-download" href="msr2012-conflicts.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="msr2012-conflicts.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1109/MSR.2012.6224274" title="Document Object Identifier">doi&gt;</a></span> <a href="http://staff.aist.go.jp/c.artho/">Cyrille Valentin Artho</a>, Kuniyasu Suzaki, <a href="http://www.dicosmo.org">Roberto Di Cosmo</a>, <a href="http://www.pps.univ-paris-diderot.fr/~treinen">Ralf Treinen</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Why do software packages conflict?**.  <em>In proceedings of <a href="http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=6220358">MSR
       2012</a>: <a href="http://2012.msrconf.org/">9th IEEE Working Conference
       on Mining Software Repositories</a>, co-located with <a href="http://www.icse2012.org/">ICSE 2012</a>,