cproj: publish cours-8 master
authorStefano Zacchiroli <zack@upsilon.cc>
Fri, 3 Apr 2020 12:39:36 +0000 (14:39 +0200)
committerStefano Zacchiroli <zack@upsilon.cc>
Fri, 3 Apr 2020 12:39:36 +0000 (14:39 +0200)
38 files changed:
4900707DDC5C07F2DECB02839C31503C6D866396.asc [new file with mode: 0644]
6D866396.asc [deleted file]
index.mdwn
personal/movies.mdwn
research/publications.mdwn
research/publications/cise-2020-doi.bib
research/publications/msr-2020-challenge.bib
research/publications/msr-2020-forks.bib [new file with mode: 0644]
research/publications/msr-2020-topology.bib [new file with mode: 0644]
research/publications/nms-oss-won-lost.bib [new file with mode: 0644]
research/publications/nms-oss-won-lost.pdf [new file with mode: 0644]
research/publications/swh-provenance-emse.bib [new file with mode: 0644]
teaching/1920/cproj/cours-04-design.pdf [new file with mode: 0644]
teaching/1920/cproj/cours-05-c-build.pdf [new file with mode: 0644]
teaching/1920/cproj/cours-06-linking.pdf [new file with mode: 0644]
teaching/1920/cproj/cours-07-make.pdf [new file with mode: 0644]
teaching/1920/cproj/cours-08-testing.pdf [new file with mode: 0644]
teaching/1920/cproj/projet.pdf
teaching/1920/loglib/cours-04-licenses.pdf [new file with mode: 0644]
teaching/1920/loglib/cours-05-economics.pdf [new file with mode: 0644]
teaching/1920/loglib/td-03-licenses.pdf [new file with mode: 0644]
teaching/1920/loglib/td-04-licenses.pdf [new file with mode: 0644]
teaching/1920/loglib/td-05-economics.pdf [new file with mode: 0644]
teaching/internships.mdwn
teaching/internships/01-swh-distributed-object-storage.mdwn [deleted file]
teaching/internships/02-swh-web-ui.mdwn [deleted file]
teaching/internships/03-swh-forge-crawling.mdwn [deleted file]
teaching/internships/04-debian-checksums-service.mdwn [deleted file]
teaching/internships/05-tails-integrity-client.mdwn [deleted file]
teaching/internships/06-windows-of-vulnerability.mdwn [deleted file]
teaching/internships/07-tails-self-dpi.mdwn [deleted file]
teaching/internships/08-etherpad-encrypted.mdwn [deleted file]
teaching/internships/09-etherpad-in-a-box.mdwn [deleted file]
teaching/internships/10-rtce-characterization.mdwn [deleted file]
teaching/internships/11-functional-simulation.mdwn [deleted file]
teaching/internships/12-firmware-hw-integrity.mdwn [deleted file]
teaching/internships/13-anon-p2p-cloud.mdwn [deleted file]
teaching/internships/14-security-debian-derivatives.mdwn [deleted file]

diff --git a/4900707DDC5C07F2DECB02839C31503C6D866396.asc b/4900707DDC5C07F2DECB02839C31503C6D866396.asc
new file mode 100644 (file)
index 0000000..8953e5b
--- /dev/null
@@ -0,0 +1,192 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+voQWlzWgGRb7xzF5ejOLPwEHSCs+dJTXY74GmfSlU/9belAB75S4tLQ+U3RlZmFu
+byBaYWNjaGlyb2xpIChEZWJpYW4gUHJvamVjdCBMZWFkZXIpIDxsZWFkZXJAZGVi
+aWFuLm9yZz6JAlAEMAEIADoFAlFtqv0zHQBzdGFydGluZyBBcHJpbCAxN3RoLCAy
+MDEzIEkgd2lsbCBubyBsb25nZXIgYmUgRFBMAAoJEJwxUDxthmOWZIMP+wQE8LC4
+b4KcTml6u/YrzuAAucY7JoAdDKMAguOfiNRRy4BnmitQUkRf1iZYDW5qNNcIxTi3
+XBdZhN2nUYPDK1aUZUtEVr+UNVp0zY31SO1mL8VkCaT0kURbUk33AwQnIxYYE4y9
+qBf+ddoofJhyvbddRPtBzXYhCbGHJ61slMHnKz0368QG2aG+RbR31C8z1vmxMF54
+5PrYZ3P+nV24j3qXio2HTlAgB6FwtXUWgbYOuG1K35SS7Qz1V3PSXtH72XA5qHJI
+r6J4c9y9cXo+KAxO262/XY5Zo3eYUrwh3TOvamz/MPonws6WflmMDxS2XAPB4dE9
+igX+1eghMlpa1/LxSLYPB6DuxS8lJGgbZzGQpYkKYG6As7wTzCRB6rH1gTrEQWyH
+dmNQWYyJxaYpxHm0WRzg26cFggcUuUACHjOhGQdZ5Ru721+MFWtV2QmbxPdHSjXc
+S7Cd7qweWEPHdrTuyA9srshqDfANcajQCnwUbzXkAFR965uZzXWBTrcQL6opa3M7
+YToIez2od5laqoq3SygqJI4OfKbO4mrSareHHdgrTJkGepLmYC4p6pRRm7PSEx5Q
+AXH9dOkUikrGPocYfe0UVQ7fXdGR+HNpiLQX7+JXjhDf6WruoaVFO1DR/bJhNVTU
+ibQGaYvdN5XdBuYmfgpMp7mm+xfIMT9qmoEutDBTdGVmYW5vIFphY2NoaXJvbGkg
+PHN0ZWZhbm8uemFjY2hpcm9saUBpbnJpYS5mcj6JAlQEEwEIAD4CGwMFCwkIBwMF
+FQoJCAsFFgIDAQACHgECF4AWIQRJAHB93FwH8t7LAoOcMVA8bYZjlgUCXlJNuQUJ
+GTZIMQAKCRCcMVA8bYZjlg0KEACRzBWAOeelgx0DEET+HdvneI6neIYqj4gd/ZRT
+D7O19HPNpK2ddA4m1lLrjf1AE908KwVvhWjTezJ71Xk64B0yDxZypcGbnxS/xWNw
+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
+uIs6uPkgBzTaQguSvth6Mh+9SRgP
+=U1yp
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/6D866396.asc b/6D866396.asc
deleted file mode 100644 (file)
index 7c3a64a..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-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
-voQWlzWgGRb7xzF5ejOLPwEHSCs+dJTXY74GmfSlU/9belAB75S4tLQ+U3RlZmFu
-byBaYWNjaGlyb2xpIChEZWJpYW4gUHJvamVjdCBMZWFkZXIpIDxsZWFkZXJAZGVi
-aWFuLm9yZz6JAlAEMAEIADoFAlFtqv0zHQBzdGFydGluZyBBcHJpbCAxN3RoLCAy
-MDEzIEkgd2lsbCBubyBsb25nZXIgYmUgRFBMAAoJEJwxUDxthmOWZIMP+wQE8LC4
-b4KcTml6u/YrzuAAucY7JoAdDKMAguOfiNRRy4BnmitQUkRf1iZYDW5qNNcIxTi3
-XBdZhN2nUYPDK1aUZUtEVr+UNVp0zY31SO1mL8VkCaT0kURbUk33AwQnIxYYE4y9
-qBf+ddoofJhyvbddRPtBzXYhCbGHJ61slMHnKz0368QG2aG+RbR31C8z1vmxMF54
-5PrYZ3P+nV24j3qXio2HTlAgB6FwtXUWgbYOuG1K35SS7Qz1V3PSXtH72XA5qHJI
-r6J4c9y9cXo+KAxO262/XY5Zo3eYUrwh3TOvamz/MPonws6WflmMDxS2XAPB4dE9
-igX+1eghMlpa1/LxSLYPB6DuxS8lJGgbZzGQpYkKYG6As7wTzCRB6rH1gTrEQWyH
-dmNQWYyJxaYpxHm0WRzg26cFggcUuUACHjOhGQdZ5Ru721+MFWtV2QmbxPdHSjXc
-S7Cd7qweWEPHdrTuyA9srshqDfANcajQCnwUbzXkAFR965uZzXWBTrcQL6opa3M7
-YToIez2od5laqoq3SygqJI4OfKbO4mrSareHHdgrTJkGepLmYC4p6pRRm7PSEx5Q
-AXH9dOkUikrGPocYfe0UVQ7fXdGR+HNpiLQX7+JXjhDf6WruoaVFO1DR/bJhNVTU
-ibQGaYvdN5XdBuYmfgpMp7mm+xfIMT9qmoEutDBTdGVmYW5vIFphY2NoaXJvbGkg
-PHN0ZWZhbm8uemFjY2hpcm9saUBpbnJpYS5mcj6JAlQEEwEIAD4CGwMFCwkIBwMF
-FQoJCAsFFgIDAQACHgECF4AWIQRJAHB93FwH8t7LAoOcMVA8bYZjlgUCXlJNuQUJ
-GTZIMQAKCRCcMVA8bYZjlg0KEACRzBWAOeelgx0DEET+HdvneI6neIYqj4gd/ZRT
-D7O19HPNpK2ddA4m1lLrjf1AE908KwVvhWjTezJ71Xk64B0yDxZypcGbnxS/xWNw
-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
-cySunopEENjoOgwY/+R0gDtN0YGEsw+/RYLDTQ1LwLhNtjMZq7U/A0lLliRBVZTG
-J5gHHdxviCRp9kmy2fay7OpwtHgi3XYYNQveHRSycnsOCBtwkSg7fBWTib3kmTzh
-J5jPRHAgx9l1dHMCaY+xs1Vs5awPLnrzZ5bgv2jYa1IwBMfR4n6YfU57KAXtkRYN
-hdCcaytyQWNoV2lhENrl13afs0rSaPW59goa5fRXBJQ13UY2Aac841ZfAhcavGv0
-v7YLMuzkeFC9M7MkliSP8Aw0+Dg0I4mY/enCT+JqZPMvjVl/cooI/TzyOKjPt8nV
-cBVMQJTB+jJEMyld9WXwnnx24twR+bsoOmsRPbXV30wVK/m+/QPofPAFu5MNvMA8
-Wj6Y2Cmrt4L6cMsBgELYYlZYoTIWu25vTRO+6NNmA23uKn6p1jPKwZ3iWJNs/UE2
-fY5Djpwb44LIfbQCEGz4/3TNz4dZHjyaRLskKQLUy7s1EVGLHxN0wNcu9sHPhzeg
-JzPb44Uu8A17MvXYo/HRiwAg0iWAMYkCtwQgAQIAoQUCV7Km3ZodAlRoaXMga2V5
-IHdhcyBnZW5lcmF0ZWQgYXMgcGFydCBvZiB0aGUgRXZpbDMyIHByb2plY3QuCkl0
-IGlzIG5vdCBvd25lZCBieSB0aGUgdXNlciBkZXNjcmliZWQgaW4gdGhlIFVJRC4K
-U2VlIGh0dHBzOi8vZXZpbDMyLmNvbS9yZXZva2VkIGZvciBtb3JlIGRldGFpbHMu
-AAoJEELmnkZthmOWbB8P/1kRkRLG+mcnm9HdE/On+QirZ2jIu+i9jQWrR93+LBmj
-tF9Ye8s18tp5rqYjO4wkTvmJakMWrGzS32rWek3/EDWLQo/97jSiWZcNEILZd2kt
-vagWIPFY3tvEgTteu3K8QJxBoxx+WhiKmV6FJMPJz7AkIItJyvBtUio3tTRHJxGL
-gS0sDk1pFYWApK9R9wRKDLIAQGfVR/JBOCu7WjN0omgkbHfqzB4uYXjfm2QK9zgE
-p4WqnreSiQre03A1MynyZGQrskWxK5cu27gstNCQyETOXFReGnfmlYnc2NzybWq6
-ebbu/qLIbTwREzinWM2j8/PdbWFTkwkBq8wgdOVinAVEQG32MbjZVa/zqNAK4+rN
-O8+XR9HA8z7lT52ErXu5cXbIjSBrU0/H/4q2oK6/yoaDguv3MBAdJT/id83PRk+Z
-djCG6gfKVmeH3UhJ+5rWRE/F4ylBEE6/sRlaxVM+enPSRWnFZV0amUtp91CIa0Ru
-PWZLCM7nmfAaSQtzHhpgAsKVh6ebM5yZxil/g6YVwhmD0wLIi6GaQZib1DvCHNdl
-+bxGZOJSUznBwJmW4voGiF7Jmjuttcxt5VtWK+dgWI0jTwyIkRGY9IHxBZDzCmW3
-LGT88cbDx4XiiZLKg3wHz5GRX16/NVOMF6vDhtaZRUWTtAMg3Lhs0wi9BAfvTHA/
-tCRTdGVmYW5vIFphY2NoaXJvbGkgPHphY2tAdXBzaWxvbi5jYz6JAjgEEwECACIF
-AlPgM08CGy8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEELmnkZthmOWyrAQ
-AJ/w7nl3dzJ8lBnsJ3Y/ZQXxYDqBN0k7vMImTJKIE5lMxB8WnWfVz5fWanrXp5UX
-4cTtxSc5xbqL2cdFYXFVn556ODg3usAvrBLCCNKeCO9pK+r4x+v9ShMcsvkRmFFm
-V1I/NSYbSoN6fGocOIqeNmGLhbz19uwdw8yna7k7vpubdgqqbem+Bjj/hjHd76KA
-Wc2ktPf14zzgMqoyujsuBIGCgPbAHBgSmetLACcbq/LQLGLrTmis4gjzN944SI1f
-4FDlH5GemY3sQV44MnP1IaHcpYQRi3Q+uqND0E4QZDFtOiedQRP/hDTODGOCy4rz
-e5O8dQm6z/nHvAe6qs6nGQltf7LU4pnlkGMv/aR+NWTtYDmLwINpijBDdcIqacwO
-jB54VVN27bU94mayI0tFNHmFWeg3iQaep8CZ/uXw/of7FbM+Iyd5Sh9N6ikdy3cA
-lwWdNfBjS1yWdi0DqhrbEhRFwGFzrN3LGUn7iHJ1qJaDUjiBZzVRpeD7L5x+KCrM
-Gip5jXyyv4NsQ4lgGqUx5LV0eLvSjegzcUPhFEehSuOYKG9as2SyshafO+FSOBno
-IvuVi8WD+iEnrbuaKe3t7uPFqSWGqn1FBYGO5AiKHLJV+I2kugEWwbLhHk4i8iuZ
-fZ3Lq0ViQrefkA2p12ZfeaC9ptSSOdGYt+2YlRXjXTxP
-=MCVW
------END PGP PUBLIC KEY BLOCK-----
index 6767e52..89cb526 100644 (file)
@@ -81,8 +81,8 @@ Hi, I'm <em><span class="nickname">Zack</span></em> and this is
     <th><a href="http://www.gnupg.org/"><acronym title="GNU Privacy
     Guard">GPG</acronym></a></th>
     <td>
-    <a href="6D866396.asc">public key</a>
-      <small>(<a href="http://pgp.cs.uu.nl/stats/6D866396.html">stats</a>)</small>
+    <a href="4900707DDC5C07F2DECB02839C31503C6D866396.asc">public key</a>
+      <small>(<a href="https://pgp.cs.uu.nl/stats/9c31503c6d866396.html">stats</a>)</small>
     </td>
   </tr>
   <tr>
index 2f340db..abd423a 100644 (file)
@@ -4,6 +4,13 @@ Movies I've recently watched (most recent first):
 2020
 ----
 
+* [The Mule (2018)](https://www.imdb.com/title/tt7959026/)
+* [Frost/Nixon (2008)](https://www.imdb.com/title/tt0870111/)
+* [Ford v Ferrari (2019)](https://www.imdb.com/title/tt1950186/)
+* [The New Pope (2019)](https://www.imdb.com/title/tt7157248/)
+* [Invisibles: Les Travailleurs du Clic (2020)](https://www.france.tv/slash/invisibles/)
+* [The Cat Returns (2002)](https://www.imdb.com/title/tt0347618/)
+* [The Handmaid's Tale (TV Series 2017–), Season 3](https://www.imdb.com/title/tt5834204/episodes?season=3)
 * [Booksmart (2019)](https://www.imdb.com/title/tt1489887/)
 * [Ad Astra (2019)](https://www.imdb.com/title/tt2935510/)
 * [Star Trek (2009)](https://www.imdb.com/title/tt0796366/)
index b3a6b76..2fddc26 100644 (file)
@@ -13,10 +13,27 @@ 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="bibtex-download" href="swh-provenance-emse.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> Guillaume Rousseau, <a href="http://www.dicosmo.org">Roberto Di Cosmo</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Software Provenance Tracking at the Scale of Public Source Code**.  <em>
+       To appear in <a href="http://link.springer.com/journal/10664">Empirical Software
+       Engineering</a> 2020.
+       ISSN 1382-3256, Springer.
+      </em>
+    [[!toggle id=id82 text="Abstract..."]] [[!toggleable id=id82 text="""
+    *Abstract:* We study the possibilities to track provenance of software source code artifacts within the largest publicly accessible corpus of publicly available source code, the Software Heritage archive, with over 4 billions unique source code files and 1 billion commits capturing their development histories across 50 million software projects. We perform a systematic and generic estimate of the replication factor across the different layers of this corpus, analysing how much the same artifacts (e.g., SLOC, files or commits) appear in different contexts (e.g., files, commits or source code repositories). We observe a combinatorial explosion in the number of identical source code files across different commits. To discuss the implication of these findings, we benchmark different data models for capturing software provenance information at this scale, and we identify a viable solution, based on the properties of isochrone subgraphs, that is deployable on commodity hardware, is incremental and appears to be maintainable for the foreseeable future. Using these properties, we quantify, at a scale never achieved previously, the growth rate of original, i.e. never-seen-before, source code files and commits, and find it to be exponential over a period of more than 40 years.
+    """]]
+ 1. <a class="paper-download" href="nms-oss-won-lost.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="nms-oss-won-lost.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1177/1461444820907022" title="Document Object Identifier">doi&gt;</a></span> <a href="https://www.canberra.edu.au/about-uc/faculties/arts-design/courses/communications-staff/oneil-mathieu">Mathieu O'Neil</a>, <a href="http://ses.telecom-paristech.fr/en/membres/laure-muselli/">Laure Muselli</a>, <a href="https://demography.cass.anu.edu.au/people/mahin-raissi">Mahin Raissi</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **"Open source has won and lost the war": Legitimising commercial-communal hybridisation in a FOSS project**.  <em>To appear in <a href="https://journals.sagepub.com/home/nms">New Media and
+      Society</a>.  ISSN 1461-4448,
+      2020.</em>
+    [[!toggle id=id81 text="Abstract..."]] [[!toggleable id=id81 text="""
+    *Abstract:* Information technology (IT) firms are paying developers in Free and Open Source Software (FOSS) projects, leading to the emergence of hybrid forms of work. In order to understand how the firm-project hybridisation process occurs, we present the results of an online survey of participants in the Debian project, as well as interviews with Debian Developers. We find that the intermingling of the commercial logic of the firm and the communal logic of the project requires rhetorical legitimation. We analyse the discourses used to legitimise firm-project cooperation as well as the organisational mechanisms which facilitate this cooperation. A first phase of legitimation, based on firm adoption of open licenses and developer self-fulfilment, aims to erase the commercial/communal divide. A second more recent phase seeks to professionalise work relations inside the project and, in doing so, challenges the social order which restricts participation in FOSS. Ultimately, hybridisation raises the question of the fair distribution of the profits firms derive from FOSS.
+    """]]
  1. <a class="paper-download" href="cise-2020-doi.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="cise-2020-doi.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1109/MCSE.2019.2963148" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.dicosmo.org">Roberto Di Cosmo</a>, <a href="https://moranegg.github.io/">Morane Gruenpeter</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Referencing Source Code Artifacts: a Separate Concern in Software Citation**.  <em>
-       To appear in <a href="https://www.computer.org/csdl/magazines/cs">Computing in Science
-       &amp; Engineering</a>.
-       ISSN 1521-9615, IEEE. 2020.
+       In <a href="https://www.computer.org/csdl/magazines/cs">Computing in Science
+       and Engineering</a>, volume 22,
+       issue 2,
+       <a href="https://ieeexplore.ieee.org/document/8946737">pp. 33-43</a>.
+       ISSN 1521-9615, IEEE.
+       March 2020.
       </em>
     [[!toggle id=id78 text="Abstract..."]] [[!toggleable id=id78 text="""
     *Abstract:* Among the entities involved in software citation, software source code requires special attention, due to the role it plays in ensuring scientific reproducibility. To reference source code we need identifiers that are not only unique and persistent, but also support integrity checking intrinsically. Suitable iden- tifiers must guarantee that denoted objects will always stay the same, without relying on external third parties and administrative processes. We analyze the role of identifiers for digital objects (IDOs), whose properties are different from, and complementary to, those of the various digital identifiers of objects (DIOs) that are today popular building blocks of software and data citation toolchains. We argue that both kinds of identifiers are needed and detail the syntax, semantics, and practical implementation of the persistent identifiers (PIDs) adopted by the Software Heritage project to reference billions of software source code artifacts such as source code files, directories, and commits.
@@ -24,7 +41,7 @@ You might also be interested in my author profiles on
  1. <a class="paper-download" href="cscw-2018-rtce.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="cscw-2018-rtce.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1145/3274310" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.cs.unibo.it/~gdangelo/">Gabriele D'Angelo</a>, <a href="http://diiorio.web.cs.unibo.it/">Angelo Di Iorio</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Spacetime Characterization of Real-Time Collaborative Editing**.  <em>
        In <a href="https://pacmhci.acm.org/">Proceedings of
        the ACM on Human-Computer Interaction</a>,
-       Volume 2, Issue CSCW,
+       volume 2, issue CSCW,
        Article No. <a href="https://dl.acm.org/citation.cfm?id=3274310">41</a>.
        ISSN 2573-0142, ACM,
        November 2018.
@@ -35,18 +52,17 @@ You might also be interested in my author profiles on
  1. <a class="paper-download" href="cacm-2018-software-heritage.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="cacm-2018-software-heritage.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1145/3183558" title="Document Object Identifier">doi&gt;</a></span> <a href="https://www.w3.org/People/Abramatic">Jean-François Abramatic</a>, <a href="http://www.dicosmo.org">Roberto Di Cosmo</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Building the Universal Archive of Source Code**.  <em>
        In <a href="https://cacm.acm.org/">Communications of the
        ACM</a>, October 2018,
-       Volume 61, Number 10,
+       volume 61, number 10,
        pp. <a href="https://cacm.acm.org/magazines/2018/10/231366-building-the-universal-archive-of-source-code/fulltext">29-31</a>.
        ISSN 0001-0782, ACM.
       </em>
- 1. <a class="paper-download" href="jopp-10-debian-survey.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="jopp-10-debian-survey.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <a href="https://www.canberra.edu.au/about-uc/faculties/arts-design/courses/communications-staff/oneil-mathieu">Mathieu O'Neil</a>, Mahin Raissi, Molly de Blanc, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Preliminary Report on the Influence of Capital in an Ethical-Modular Project: Quantitative data from the 2016 Debian Survey**.  <em>In <a href="http://peerproduction.net/">Journal of Peer
+ 1. <a class="paper-download" href="jopp-10-debian-survey.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="jopp-10-debian-survey.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <a href="https://www.canberra.edu.au/about-uc/faculties/arts-design/courses/communications-staff/oneil-mathieu">Mathieu O'Neil</a>, <a href="https://demography.cass.anu.edu.au/people/mahin-raissi">Mahin Raissi</a>, Molly de Blanc, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Preliminary Report on the Influence of Capital in an Ethical-Modular Project: Quantitative data from the 2016 Debian Survey**.  <em>In <a href="http://peerproduction.net/">Journal of Peer
       Production</a>,
-      <a href="http://peerproduction.net/issues/issue-10-peer-production-and-work/">Issue 10</a>.
+      <a href="http://peerproduction.net/issues/issue-10-peer-production-and-work/">issue 10</a>.
       ISSN 2213-5316, 2017.</em>
  1. <a class="paper-download" href="debsources-ese-2016.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="debsources-ese-2016.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1007/s10664-016-9461-5" title="Document Object Identifier">doi&gt;</a></span> <a href="https://matthieu.io/">Matthieu Caneill</a>, <a href="http://turingmachine.org/">Daniel M. Germán</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **The Debsources Dataset: Two Decades of Free and Open Source Software**.  <em>
        In <a href="http://link.springer.com/journal/10664">Empirical Software
-       Engineering</a>,
-       Volume 22,
+       Engineering</a>, volume 22,
        <a href="https://link.springer.com/article/10.1007%2Fs10664-016-9461-5">pp. 1405-1437</a>,
        June, 2017.
        ISSN 1382-3256, Springer.
@@ -55,14 +71,14 @@ You might also be interested in my author profiles on
     *Abstract:* We present the Debsources Dataset: source code and related metadata spanning two decades of Free and Open Source Software (FOSS) history, seen through the lens of the Debian distribution. The dataset spans more than 3 billion lines of source code as well as metadata about them such as: size metrics (lines of code, disk usage), developer-defined symbols (ctags), file-level checksums (SHA1, SHA256, TLSH), file media types (MIME), release information (which version of which package containing which source code files has been released when), and license information (GPL, BSD, etc). The Debsources Dataset comes as a set of tarballs containing deduplicated unique source code files organized by their SHA1 checksums (the source code), plus a portable PostgreSQL database dump (the metadata). A case study is run to show how the Debsources Dataset can be used to easily and efficiently instrument very long-term analyses of the evolution of Debian from various angles (size, granularity, licensing, etc.), getting a grasp of major FOSS trends of the past two decades. The Debsources Dataset is Open Data, released under the terms of the CC BY-SA 4.0 license, and available for download from Zenodo with DOI reference 10.5281/zenodo.61089.
     """]]
  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.
+      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> <a href="http://mancoosi.org/~abate/about-me">Pietro Abate</a>, <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,
+      volume 90, part B,
       <a href="http://www.sciencedirect.com/science/article/pii/S0167642313001561">pp. 93-115</a>.
       ISSN 0167-6423, Elsevier,
       2014.</em>
@@ -71,7 +87,7 @@ You might also be interested in my author profiles on
     """]]
  1. <a class="paper-download" href="infsof2012-mpm.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="infsof2012-mpm.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1016/j.infsof.2012.09.002" title="Document Object Identifier">doi&gt;</a></span> <a href="http://mancoosi.org/~abate/about-me">Pietro Abate</a>, <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>. **A Modular Package Manager Architecture**.  <em>In <a href="http://www.journals.elsevier.com/information-and-software-technology/">Information
       and Software Technology</a>,
-      Volume 55, Issue 2,
+      volume 55, issue 2,
       <a href="http://www.sciencedirect.com/science/article/pii/S0950584912001851">pp. 459-474</a>.
       ISSN 0950-5849, Elsevier,
       February 2013.</em>
@@ -80,7 +96,7 @@ You might also be interested in my author profiles on
     """]]
  1. <a class="paper-download" href="jss2012-concern.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="jss2012-concern.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1016/j.jss.2012.02.018" title="Document Object Identifier">doi&gt;</a></span> <a href="http://mancoosi.org/~abate/about-me">Pietro Abate</a>, <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>. **Dependency Solving: a Separate Concern in Component Evolution Management**.  <em>In <a href="http://www.journals.elsevier.com/journal-of-systems-and-software/">Journal
       of Systems and Software</a>,
-      Volume 85, Issue 10,
+      volume 85, issue 10,
       <a href="http://www.sciencedirect.com/science/article/pii/S0164121212000477">pp. 2228-2240</a>.
       ISSN 0164-1212, Elsevier,
       October 2012.</em>
@@ -88,15 +104,15 @@ You might also be interested in my author profiles on
     *Abstract:* Maintenance of component-based software platforms often has to face rapid evolution of software components. Component dependencies, conflicts, and package managers with dependency solving capabilities are the key ingredients of prevalent software maintenance technologies that have been proposed to keep software installations synchronized with evolving component repositories. We review state-of-the-art package managers and their ability to keep up with evolution at the current growth rate of popular component-based platforms, and conclude that their dependency solving abilities are not up to the task. We show that the complexity of the underlying upgrade planning problem is NP-complete even for seemingly simple component models, and argue that the principal source of complexity lies in multiple available versions of components. We then discuss the need of expressive languages for user preferences, which makes the problem even more challenging. We propose to establish dependency solving as a separate concern from other upgrade aspects, and present CUDF as a formalism to describe upgrade scenarios. By analyzing the result of an international dependency solving competition, we provide evidence that the proposed approach is viable.
     """]]
  1. <a class="paper-download" href="ahci2012-wiki.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="ahci2012-wiki.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1155/2012/893575" title="Document Object Identifier">doi&gt;</a></span> <a href="http://diiorio.web.cs.unibo.it/">Angelo Di Iorio</a>, Francesco Draicchio, <a href="http://vitali.web.cs.unibo.it">Fabio Vitali</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Constrained Wiki: The WikiWay to Validating Content**.  <em>In <a href="http://www.hindawi.com/journals/ahci/">Advances in Human-Computer
-      Interaction</a>, Volume 2012, Article ID
-      893575, <a href="http://www.hindawi.com/journals/ahci/2012/893575/">pp. 1-19</a>.
+      Interaction</a>, volume 2012,
+      article ID 893575, <a href="http://www.hindawi.com/journals/ahci/2012/893575/">pp. 1-19</a>.
       ISSN 1687-5893, Hindawi, 2012</em>
     [[!toggle id=id39 text="Abstract..."]] [[!toggleable id=id39 text="""
     *Abstract:* The "WikiWay" is the open editing philosophy of wikis meant to foster open collaboration and continuous improvement of their content. Just like other online communities, wikis often introduce and enforce conventions, constraints, and rules for their content, but do so in a considerably softer way, expecting authors to deliver content that satisfies the conventions and the constraints, or, failing that, having volunteers of the community, the WikiGnomes, fix others' content accordingly. Constrained wikis is our generic framework for wikis to implement validators of community-specific constraints and conventions that preserve the WikiWay and their open collaboration features. To this end, specific requirements need to be observed by validators and a specific software architecture can be used for their implementation, that is, as independent functions (implemented as internal modules or external services) used in a nonintrusive way. Two separate proof-of-concept validators have been implemented for MediaWiki and MoinMoin, respectively, providing an annotated view functions, that is, presenting content authors with violation warnings, rather than preventing them from saving a noncompliant text.
     """]]
  1. <a class="paper-download" href="scp2010-evolution.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="scp2010-evolution.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1016/j.scico.2010.11.001" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.dicosmo.org">Roberto Di Cosmo</a>, <a href="http://www.di.univaq.it/diruscio/">Davide Di Ruscio</a>, <a href="http://www.di.univaq.it/pellicci/">Patrizio Pelliccione</a>, <a href="http://www.di.univaq.it/alfonso/">Alfonso Pierantonio</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Supporting Software Evolution in Component-Based FOSS Systems**.  <em>In <a href="http://www.elsevier.com/locate/scico/">Science
-      of Computer Programming</a>, Volume 76, Issue
-      12,
+      of Computer Programming</a>, volume 76,
+      issue 12,
       <a href="http://www.sciencedirect.com/science/article/pii/S0167642310002005">pp. 1144-1160</a>.
       ISSN 0167-6423,
       Elsevier, 2011.</em>
@@ -105,20 +121,22 @@ You might also be interested in my author profiles on
     """]]
  1. <a class="paper-download" href="nrhm-overlapping-conversions.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="nrhm-overlapping-conversions.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1080/13614560802316145" title="Document Object Identifier">doi&gt;</a></span> <a href="http://vitali.web.cs.unibo.it/Main/PaoloMarinelli">Paolo Marinelli</a>, <a href="http://vitali.web.cs.unibo.it">Fabio Vitali</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Towards the unification of formats for overlapping markup**.  <em>
         In <a href="http://www.tandf.co.uk/journals/titles/13614568.asp">New Review
-        of Hypermedia and Multimedia</a>, <a href="http://www.informaworld.com/smpp/title~content=t713599880~db=all~tab=issueslist~branches=14#v14">Volume
-        14</a>, <a href="http://www.informaworld.com/smpp/title~content=g903097087~db=all">Issue
-        1</a>, January 2008, <a href="http://www.informaworld.com/smpp/content~db=all?content=10.1080/13614560802316145">pp. 57-94</a>.
+        of Hypermedia and Multimedia</a>,
+       <a href="http://www.informaworld.com/smpp/title~content=t713599880~db=all~tab=issueslist~branches=14#v14">volume 14</a>,
+       <a href="http://www.informaworld.com/smpp/title~content=g903097087~db=all">issue 1</a>,
+       January 2008,
+       <a href="http://www.informaworld.com/smpp/content~db=all?content=10.1080/13614560802316145">pp. 57-94</a>.
         <a href="http://www.tandf.co.uk/">Taylor and Francis</a>,
-        <a href="http://www.informaworld.com/smpp/title~content=t713599880~link=cover">ISSN
-        1361-4568</a>.
+        <a href="http://www.informaworld.com/smpp/title~content=t713599880~link=cover">ISSN 1361-4568</a>.
       </em>
     [[!toggle id=id20 text="Abstract..."]] [[!toggleable id=id20 text="""
     *Abstract:* Overlapping markup refers to the issue of how to represent data structures more expressive than trees, for example direct acyclic graphs, using markup (meta-)languages which have been designed with trees in mind, for example XML. In this paper we observe that the state of the art in overlapping markup is far from being the widespread and consistent stack of standards and technologies readily available for XML and develop a roadmap for closing the gap. In particular we present in the paper the design and implementation of what we believe to be the first needed step, namely: a syntactic conversion framework among the plethora of overlapping markup serialization formats. The algorithms needed to perform the various conversions are presented in pseudo-code, they are meant to be used as blueprints for researchers and practitioners which need to write batch translation programs from one format to the other.
     """]]
  1. <a class="paper-download" href="mcs-disambiguation-errors.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="mcs-disambiguation-errors.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1007/s11786-008-0058-2" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.cs.unibo.it/~sacerdot">Claudio Sacerdoti Coen</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Spurious Disambiguation Errors and How to Get Rid of Them**.  <em>
         In <a href="http://www.springerlink.com/content/1661-8270">Mathematics in
-        Computer Science</a>, Volume 2, Number
-        2, <a href="http://www.springerlink.com/content/1p816h3610g8k854/">pp. 355-378</a>,
+        Computer Science</a>, volume 2,
+       number 2,
+       <a href="http://www.springerlink.com/content/1p816h3610g8k854/">pp. 355-378</a>,
         December 2008. Springer Birkhäuser,
         <a href="http://www.springerlink.com/content/1661-8270">ISSN 1661-8270</a>.
       </em>
@@ -127,8 +145,9 @@ You might also be interested in my author profiles on
     """]]
  1. <a class="paper-download" href="matita.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="matita.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1007/s10817-007-9070-5" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.cs.unibo.it/~asperti">Andrea Asperti</a>, <a href="http://www.cs.unibo.it/~sacerdot">Claudio Sacerdoti Coen</a>, <a href="http://www.cs.unibo.it/~tassi">Enrico Tassi</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **User Interaction with the Matita Proof Assistant**.  <em>
         In <a href="http://www-unix.mcs.anl.gov/JAR/">Journal of
-        Automated Reasoning</a>, <a href="http://springerlink.metapress.com/content/h81468706x24/">Volume
-        39, Number 2</a>. Springer
+        Automated Reasoning</a>,
+       <a href="http://springerlink.metapress.com/content/h81468706x24/">volume 39,
+       number 2</a>. Springer
         Netherlands, <a href="http://www.springerlink.com/content/0168-7433">ISSN
         0168-7433</a>, <a href="http://springerlink.metapress.com/content/y4wt440q28136q47">pp.
         109-139</a>, 2007.
@@ -148,20 +167,20 @@ You might also be interested in my author profiles on
       </em>
  1. <a class="paper-download" href="jopp-10-editorial.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="jopp-10-editorial.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <a href="https://www.canberra.edu.au/about-uc/faculties/arts-design/courses/communications-staff/oneil-mathieu">Mathieu O'Neil</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Making Lovework: Editorial Notes for the JoPP issue on Peer Production and Work**.  <em>In <a href="http://peerproduction.net/">Journal of Peer
       Production</a>,
-      <a href="http://peerproduction.net/issues/issue-10-peer-production-and-work/">Issue 10</a>.
+      <a href="http://peerproduction.net/issues/issue-10-peer-production-and-work/">issue 10</a>.
       ISSN 2213-5316, 2017.</em>
  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.
+      Engineering</a>, volume 14,
+      number 1-2, pp. 1-2.
       ISSN 1540-9589, Rinton Press,
       March 2015.</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 and 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,
+      of Computer Programming</a>, volume 94,
+      part 1,
       <a href="http://www.sciencedirect.com/science/article/pii/S0167642314001051">pp. 1-2</a>.
       ISSN 0167-6423, Elsevier, 2014.</em>
  1. <a class="paper-download" href="spe-wt-2011-editorial.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="spe-wt-2011-editorial.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1002/spe.2169" 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>. **Editorial**.  <em>In <a href="http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X">Software:
-      Practice and Experience</a>, Volume 43, Issue
+      Practice and Experience</a>, volume 43, issue
       12,
       <a href="http://onlinelibrary.wiley.com/doi/10.1002/spe.2169/abstract">pp. 1393-1394</a>.
       ISSN 1097-024X, Wiley, 2013.</em>
@@ -183,8 +202,26 @@ 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="bibtex-download" href="msr-2020-topology.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1145/3379597.3387506" title="Document Object Identifier">doi&gt;</a></span> <a href="https://koin.fr/">Antoine Pietri</a>, Guillaume Rousseau, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Determining the Intrinsic Structure of Public Software Development History**.  <em>
+       To appear in proceedings of <a href="http://2020.msrconf.org/">MSR 2020</a>: The 17th International
+       Conference on Mining Software Repositories, May 2020,
+       Seoul, South Korea. Co-located with <a href="https://conf.researchr.org/home/icse-2020">ICSE 2020</a>.
+       IEEE 2020.
+      </em>
+    [[!toggle id=id80 text="Abstract..."]] [[!toggleable id=id80 text="""
+    *Abstract:* Background: Collaborative software development has produced a wealth of version control system (VCS) data that can now be analyzed in full. Little is known about the intrinsic structure of the entire corpus of publicly available VCS as an interconnected graph. Understanding its structure is needed to determine the best approach to analyze it in full and to avoid methodological pitfalls when doing so. Objective: We intend to determine the most salient network topology properties of public software development history as captured by VCS. We will explore: degree distributions, determining whether they are scale-free or not; distribution of connect component sizes; distribution of shortest path lengths. Method: We will use Software Heritage---which is the largest corpus of public VCS data---compress it using webgraph compression techniques, and analyze it in-memory using classic graph algorithms. Analyses will be performed both on the full graph and on relevant subgraphs. Limitations: The study is exploratory in nature; as such no hypotheses on the findings is stated at this time. Chosen graph algorithms are expected to scale to the corpus size, but it will need to be confirmed experimentally. External validity will depend on how representative Software Heritage is of the software commons.
+    """]]
+ 1. <a class="bibtex-download" href="msr-2020-forks.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1145/3379597.3387450" title="Document Object Identifier">doi&gt;</a></span> <a href="https://koin.fr/">Antoine Pietri</a>, Guillaume Rousseau, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Forking Without Clicking: on How to Identify Software Repository Forks**.  <em>
+       To appear in proceedings of <a href="http://2020.msrconf.org/">MSR 2020</a>: The 17th International
+       Conference on Mining Software Repositories, May 2020,
+       Seoul, South Korea. Co-located with <a href="https://conf.researchr.org/home/icse-2020">ICSE 2020</a>.
+       IEEE 2020.
+      </em>
+    [[!toggle id=id79 text="Abstract..."]] [[!toggleable id=id79 text="""
+    *Abstract:* The notion of software "fork" has been shifting over time from the (negative) phenomenon of community disagreements that result in the creation of separate development lines and ultimately software products, to the (positive) practice of using distributed version control system (VCS) repositories to collaboratively improve a single product without stepping on each others toes. In both cases the VCS repositories participating in a fork share parts of a common development history. Studies of software forks generally rely on hosting platform metadata, such as GitHub, as the source of truth for what constitutes a fork. These “forge forks” however can only identify as forks repositories that have been created on the platform, e.g., by clicking a "fork" button on the platform user interface. The increased diversity in code hosting platforms (e.g., GitLab) and the habits of significant development communities (e.g., the Linux kernel, which is not primarily hosted on any single platform) call into question the reliability of trusting code hosting platforms to identify forks. Doing so might introduce selection and methodological biases in empirical studies. In this article we explore various definitions of "software forks", trying to capture forking workflows that exist in the real world. We quantify the differences in how many repositories would be identified as forks on GitHub according to the various definitions, confirming that a significant number could be overlooked by only considering forge forks. We study the structure and size of fork networks, observing how they are affected by the proposed definitions and discuss the potential impact on empirical research.
+    """]]
  1. <a class="paper-download" href="saner-2020-swh-graph.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="saner-2020-swh-graph.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <a href="http://boldi.di.unimi.it/">Paolo Boldi</a>, <a href="https://koin.fr/">Antoine Pietri</a>, <a href="http://vigna.di.unimi.it/">Sebastiano Vigna</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Ultra-Large-Scale Repository Analysis via Graph Compression**.  <em>
-       To appear in proceedings of <a href="https://saner2020.csd.uwo.ca/">SANER 2020</a>: The 27th IEEE
+       In proceedings of <a href="https://saner2020.csd.uwo.ca/">SANER 2020</a>: The 27th IEEE
        International Conference on Software Analysis, Evolution and
        Reengineering, February 18-21, 2020, London, Ontario,
        Canada. IEEE 2020.
@@ -193,7 +230,7 @@ You might also be interested in my author profiles on
     *Abstract:* We consider the problem of mining the development history—as captured by modern version control systems—of ultra-large-scale software archives (e.g., tens of millions software repositories corresponding). We show that graph compression techniques can be applied to the problem, dramatically reducing the hardware resources needed to mine similarly-sized corpus. As a concrete use case we compress the full Software Heritage archive, consisting of 5 billion unique source code files and 1 billion unique commits, harvested from more than 80 million software projects—encompassing a full mirror of GitHub. The resulting compressed graph fits in less than 100 GB of RAM, corresponding to a hardware cost of less than 300 U.S. dollars. We show that the compressed in-memory representation of the full corpus can be accessed with excellent performances, with edge lookup times close to memory random access. As a sample exploitation experiment we show that the compressed graph can be used to conduct clone detection at this scale, benefiting from main memory access speed.
     """]]
  1. <a class="paper-download" href="saner-2020-deps.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="saner-2020-deps.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <a href="http://mancoosi.org/~abate/about-me">Pietro Abate</a>, <a href="http://www.dicosmo.org">Roberto Di Cosmo</a>, <a href="http://www.gousios.gr/">Georgios Gousios</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Dependency Solving Is Still Hard, but We Are Getting Better at It**.  <em>
-       To appear in proceedings of <a href="https://saner2020.csd.uwo.ca/">SANER 2020</a>: The 27th IEEE
+       In proceedings of <a href="https://saner2020.csd.uwo.ca/">SANER 2020</a>: The 27th IEEE
        International Conference on Software Analysis, Evolution and
        Reengineering, February 18-21, 2020, London, Ontario,
        Canada. IEEE 2020.
@@ -201,7 +238,7 @@ You might also be interested in my author profiles on
     [[!toggle id=id76 text="Abstract..."]] [[!toggleable id=id76 text="""
     *Abstract:* Dependency solving is a hard (NP-complete) problem in all non-trivial component models due to either mutually incompatible versions of the same packages or explicitly declared package conflicts. As such, software upgrade planning needs to rely on highly specialized dependency solvers, lest falling into pitfalls such as incompleteness—a combination of package versions that satisfy dependency constraints does exist, but the package manager is unable to find it. In this paper we look back at proposals from dependency solving research dating back a few years. Specifically, we review the idea of treating dependency solving as a separate concern in package manager implementations, relying on generic dependency solvers based on tried and tested techniques such as SAT solving, PBO, MILP, etc. By conducting a census of dependency solving capabilities in state-of-the-art package managers we conclude that some proposals are starting to take off (e.g., SAT-based dependency solving) while—with few exceptions—others have not (e.g., outsourcing dependency solving to reusable components). We reflect on why that has been the case and look at novel challenges for dependency solving that have emerged since.
     """]]
- 1. <a class="paper-download" href="msr-2020-challenge.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="msr-2020-challenge.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <a href="https://koin.fr/">Antoine Pietri</a>, <a href="https://www.spinellis.gr">Diomidis Spinellis</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **The Software Heritage Graph Dataset: Large-scale Analysis of Public Software Development History**.  <em>
+ 1. <a class="paper-download" href="msr-2020-challenge.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="msr-2020-challenge.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1145/3379597.3387510" title="Document Object Identifier">doi&gt;</a></span> <a href="https://koin.fr/">Antoine Pietri</a>, <a href="https://www.spinellis.gr">Diomidis Spinellis</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **The Software Heritage Graph Dataset: Large-scale Analysis of Public Software Development History**.  <em>
        To appear in proceedings of <a href="http://2020.msrconf.org/">MSR 2020</a>: The 17th International
        Conference on Mining Software Repositories, May 2020,
        Seoul, South Korea. Co-located with <a href="https://conf.researchr.org/home/icse-2020">ICSE 2020</a>.
@@ -403,7 +440,7 @@ You might also be interested in my author profiles on
       2009</a>: 4th international conference on Evaluation of Novel Aspects to
       Software Engineering; held in conjunction with <a href="http://www.iceis.org/">ICEIS 2009</a>. 6-10 May 2009, Milan, Italy.
       <a href="http://www.springerlink.com/content/978-3-642-14818-7/contents/">CCIS
-      Volume 69</a>, ISBN 978-3-642-14818-7,
+      volume 69</a>, ISBN 978-3-642-14818-7,
       <a href="http://www.springerlink.com/content/g73241150p518215/">pp.
       262-276</a>, Springer-Verlag,
       2010.</em>
@@ -562,9 +599,10 @@ You might also be interested in my author profiles on
         In Proceedings of <a href="http://www.ags.uni-sb.de/~omega/workshops/UITP06/">UITP 2006</a>:
         User Interfaces for Theorem Provers. Seattle, WA -- August
         21, 2006. <a href="http://www.elsevier.com/locate/issn/15710661">ENTCS
-        (Elsevier, ISSN 1571-0661)</a>, <a href="http://www.sciencedirect.com/science/journal/15710661">Volume
-        174, Issue 2,
-        pp. 125-142. May 2007</a>.
+        (Elsevier, ISSN 1571-0661)</a>,
+       <a href="http://www.sciencedirect.com/science/journal/15710661">volume 174,
+       issue 2, pp. 125-142.
+       May 2007</a>.
       </em>
     [[!toggle id=id8 text="Abstract..."]] [[!toggleable id=id8 text="""
     *Abstract:* Most of the state-of-the-art proof assistants are based on procedural proof languages, scripts, and rely on LCF tacticals as the primary tool for tactics composition. In this paper we discuss how these ingredients do not interact well with user interfaces based on the same interaction paradigm of Proof General (the de facto standard in this field), identifying in the coarse-grainedness of tactical evaluation the key problem. We propose Tinycals as an alternative to a subset of LCF tacticals, showing that the user does not experience the same problem if tacticals are evaluated in a more fine-grained manner. We present the formal operational semantics of tinycals as well as their implementation in the Matita proof assistant.
@@ -602,8 +640,8 @@ You might also be interested in my author profiles on
 # <span title="national, peer-reviewed journals">national, peer-reviewed journal articles</span>
 
  1. <a class="paper-download" href="studia11-dh-ocaml.pdf" title="download paper in PDF format">[.pdf]</a> <a class="bibtex-download" href="studia11-dh-ocaml.bib" title="download bibliographic entry in BibTeX format">[.bib]</a> <a href="http://www.pps.univ-paris-diderot.fr/~dogguy/">Mehdi Dogguy</a>, <a href="http://stephane.glondu.net/">Stéphane Glondu</a>, <a href="http://sylvain.le-gall.net/">Sylvain Le Gall</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Enforcing Type-Safe Linking using Inter-Package Relationships**.  <em>In <a href="http://studia.complexica.net/">Studia
-      Informatica Universalis</a>, Volume 9, Issue
-      1, pp. 129-157.
+      Informatica Universalis</a>, volume 9,
+      issue 1, pp. 129-157.
       ISSN 1625-7545, Hermann 2011.</em>
     [[!toggle id=id37 text="Abstract..."]] [[!toggleable id=id37 text="""
     *Abstract:* Strongly-typed languages rely on link-time checks to ensure that type safety is not violated at the borders of compilation units. Such checks entail very fine-grained dependencies among compilation units, which are at odds with the implicit assumption of backward compatibility that is relied upon by common library packaging techniques adopted by FOSS (Free and Open Source Software) package-based distributions. As a consequence, package managers are often unable to prevent users to install a set of libraries which cannot be linked together. We discuss how to guarantee link-time compatibility using inter-package relationships; in doing so, we take into account real-life maintainability problems such as support for automatic package rebuild and manageability of ABI (Application Binary Interface) strings by humans. We present the dh_ocaml implementation of the proposed solution, which is currently in use in the Debian distribution to safely deploy more than 300 OCaml-related packages.
index 0fa4200..1194ee3 100644 (file)
@@ -3,8 +3,12 @@
   title = {Referencing Source Code Artifacts: a Separate Concern in Software Citation},
   abstract = {Among the entities involved in software citation, software source code requires special attention, due to the role it plays in ensuring scientific reproducibility. To reference source code we need identifiers that are not only unique and persistent, but also support integrity checking intrinsically. Suitable iden- tifiers must guarantee that denoted objects will always stay the same, without relying on external third parties and administrative processes. We analyze the role of identifiers for digital objects (IDOs), whose properties are different from, and complementary to, those of the various digital identifiers of objects (DIOs) that are today popular building blocks of software and data citation toolchains. We argue that both kinds of identifiers are needed and detail the syntax, semantics, and practical implementation of the persistent identifiers (PIDs) adopted by the Software Heritage project to reference billions of software source code artifacts such as source code files, directories, and commits.},
   publisher = {IEEE},
+  month = {March},
   year = {2020},
   issn = {1521-9615},
   doi = {10.1109/MCSE.2019.2963148},
-  journal = {Computing in Science &amp; Engineering},
+  pages = {33-43},
+  volume = {22},
+  number = {2},
+  journal = {Computing in Science and Engineering},
 }
index 7a29b3c..1ae84b2 100644 (file)
@@ -4,5 +4,6 @@
   abstract = {Software Heritage is the largest existing public archive of software source code and accompanying development history. It spans more than five billion unique source code files and one billion unique commits, coming from more than 80 million software projects. These software artifacts were retrieved from major collaborative development platforms (e.g., GitHub, GitLab) and package repositories (e.g., PyPI, Debian, NPM), and stored in a uniform representation linking together source code files, directories, commits, and full snapshots of version control systems (VCS) repositories as observed by Software Heritage during periodic crawls. This dataset is unique in terms of accessibility and scale, and allows to explore a number of research questions on the long tail of public software development, instead of solely focusing on "most starred" repositories as it often happens.},
   publisher = {IEEE},
   year = {2020},
+  doi = {10.1145/3379597.3387510},
   booktitle = {MSR 2020: The 17th International Conference on Mining Software Repositories},
 }
diff --git a/research/publications/msr-2020-forks.bib b/research/publications/msr-2020-forks.bib
new file mode 100644 (file)
index 0000000..6848f51
--- /dev/null
@@ -0,0 +1,9 @@
+@inproceedings{msr-2020-forks,
+  author = {Antoine Pietri and Guillaume Rousseau and Stefano Zacchiroli},
+  title = {Forking Without Clicking: on How to Identify Software Repository Forks},
+  abstract = {The notion of software "fork" has been shifting over time from the (negative) phenomenon of community disagreements that result in the creation of separate development lines and ultimately software products, to the (positive) practice of using distributed version control system (VCS) repositories to collaboratively improve a single product without stepping on each others toes. In both cases the VCS repositories participating in a fork share parts of a common development history. Studies of software forks generally rely on hosting platform metadata, such as GitHub, as the source of truth for what constitutes a fork. These “forge forks” however can only identify as forks repositories that have been created on the platform, e.g., by clicking a "fork" button on the platform user interface. The increased diversity in code hosting platforms (e.g., GitLab) and the habits of significant development communities (e.g., the Linux kernel, which is not primarily hosted on any single platform) call into question the reliability of trusting code hosting platforms to identify forks. Doing so might introduce selection and methodological biases in empirical studies. In this article we explore various definitions of "software forks", trying to capture forking workflows that exist in the real world. We quantify the differences in how many repositories would be identified as forks on GitHub according to the various definitions, confirming that a significant number could be overlooked by only considering forge forks. We study the structure and size of fork networks, observing how they are affected by the proposed definitions and discuss the potential impact on empirical research.},
+  publisher = {IEEE},
+  year = {2020},
+  doi = {10.1145/3379597.3387450},
+  booktitle = {MSR 2020: The 17th International Conference on Mining Software Repositories},
+}
diff --git a/research/publications/msr-2020-topology.bib b/research/publications/msr-2020-topology.bib
new file mode 100644 (file)
index 0000000..02e572b
--- /dev/null
@@ -0,0 +1,9 @@
+@inproceedings{msr-2020-topology,
+  author = {Antoine Pietri and Guillaume Rousseau and Stefano Zacchiroli},
+  title = {Determining the Intrinsic Structure of Public Software Development History},
+  abstract = {Background: Collaborative software development has produced a wealth of version control system (VCS) data that can now be analyzed in full. Little is known about the intrinsic structure of the entire corpus of publicly available VCS as an interconnected graph. Understanding its structure is needed to determine the best approach to analyze it in full and to avoid methodological pitfalls when doing so. Objective: We intend to determine the most salient network topology properties of public software development history as captured by VCS. We will explore: degree distributions, determining whether they are scale-free or not; distribution of connect component sizes; distribution of shortest path lengths. Method: We will use Software Heritage---which is the largest corpus of public VCS data---compress it using webgraph compression techniques, and analyze it in-memory using classic graph algorithms. Analyses will be performed both on the full graph and on relevant subgraphs. Limitations: The study is exploratory in nature; as such no hypotheses on the findings is stated at this time. Chosen graph algorithms are expected to scale to the corpus size, but it will need to be confirmed experimentally. External validity will depend on how representative Software Heritage is of the software commons.},
+  publisher = {IEEE},
+  year = {2020},
+  doi = {10.1145/3379597.3387506},
+  booktitle = {MSR 2020: The 17th International Conference on Mining Software Repositories},
+}
diff --git a/research/publications/nms-oss-won-lost.bib b/research/publications/nms-oss-won-lost.bib
new file mode 100644 (file)
index 0000000..c0a6ba7
--- /dev/null
@@ -0,0 +1,9 @@
+@article{nms-oss-won-lost,
+  author = {O'Neil, Mathieu and Laure Muselli and Mahin Raissi and Stefano Zacchiroli},
+  title = {"Open source has won and lost the war": Legitimising commercial-communal hybridisation in a FOSS project},
+  abstract = {Information technology (IT) firms are paying developers in Free and Open Source Software (FOSS) projects, leading to the emergence of hybrid forms of work. In order to understand how the firm-project hybridisation process occurs, we present the results of an online survey of participants in the Debian project, as well as interviews with Debian Developers. We find that the intermingling of the commercial logic of the firm and the communal logic of the project requires rhetorical legitimation. We analyse the discourses used to legitimise firm-project cooperation as well as the organisational mechanisms which facilitate this cooperation. A first phase of legitimation, based on firm adoption of open licenses and developer self-fulfilment, aims to erase the commercial/communal divide. A second more recent phase seeks to professionalise work relations inside the project and, in doing so, challenges the social order which restricts participation in FOSS. Ultimately, hybridisation raises the question of the fair distribution of the profits firms derive from FOSS.},
+  year = {2020},
+  issn = {1461-4448},
+  doi = {10.1177/1461444820907022},
+  journal = {New Media and Society},
+}
diff --git a/research/publications/nms-oss-won-lost.pdf b/research/publications/nms-oss-won-lost.pdf
new file mode 100644 (file)
index 0000000..c528d9f
Binary files /dev/null and b/research/publications/nms-oss-won-lost.pdf differ
diff --git a/research/publications/swh-provenance-emse.bib b/research/publications/swh-provenance-emse.bib
new file mode 100644 (file)
index 0000000..d742f09
--- /dev/null
@@ -0,0 +1,9 @@
+@article{swh-provenance-emse,
+  author = {Guillaume Rousseau and Di Cosmo, Roberto and Stefano Zacchiroli},
+  title = {Software Provenance Tracking at the Scale of Public Source Code},
+  abstract = {We study the possibilities to track provenance of software source code artifacts within the largest publicly accessible corpus of publicly available source code, the Software Heritage archive, with over 4 billions unique source code files and 1 billion commits capturing their development histories across 50 million software projects. We perform a systematic and generic estimate of the replication factor across the different layers of this corpus, analysing how much the same artifacts (e.g., SLOC, files or commits) appear in different contexts (e.g., files, commits or source code repositories). We observe a combinatorial explosion in the number of identical source code files across different commits. To discuss the implication of these findings, we benchmark different data models for capturing software provenance information at this scale, and we identify a viable solution, based on the properties of isochrone subgraphs, that is deployable on commodity hardware, is incremental and appears to be maintainable for the foreseeable future. Using these properties, we quantify, at a scale never achieved previously, the growth rate of original, i.e. never-seen-before, source code files and commits, and find it to be exponential over a period of more than 40 years.},
+  publisher = {Springer},
+  year = {2020},
+  issn = {1382-3256},
+  journal = {Empirical Software Engineering},
+}
diff --git a/teaching/1920/cproj/cours-04-design.pdf b/teaching/1920/cproj/cours-04-design.pdf
new file mode 100644 (file)
index 0000000..73c77dd
Binary files /dev/null and b/teaching/1920/cproj/cours-04-design.pdf differ
diff --git a/teaching/1920/cproj/cours-05-c-build.pdf b/teaching/1920/cproj/cours-05-c-build.pdf
new file mode 100644 (file)
index 0000000..2480bde
Binary files /dev/null and b/teaching/1920/cproj/cours-05-c-build.pdf differ
diff --git a/teaching/1920/cproj/cours-06-linking.pdf b/teaching/1920/cproj/cours-06-linking.pdf
new file mode 100644 (file)
index 0000000..331ff42
Binary files /dev/null and b/teaching/1920/cproj/cours-06-linking.pdf differ
diff --git a/teaching/1920/cproj/cours-07-make.pdf b/teaching/1920/cproj/cours-07-make.pdf
new file mode 100644 (file)
index 0000000..2d52942
Binary files /dev/null and b/teaching/1920/cproj/cours-07-make.pdf differ
diff --git a/teaching/1920/cproj/cours-08-testing.pdf b/teaching/1920/cproj/cours-08-testing.pdf
new file mode 100644 (file)
index 0000000..28d4e2e
Binary files /dev/null and b/teaching/1920/cproj/cours-08-testing.pdf differ
index f79901b..f32f738 100644 (file)
Binary files a/teaching/1920/cproj/projet.pdf and b/teaching/1920/cproj/projet.pdf differ
diff --git a/teaching/1920/loglib/cours-04-licenses.pdf b/teaching/1920/loglib/cours-04-licenses.pdf
new file mode 100644 (file)
index 0000000..6cad6ef
Binary files /dev/null and b/teaching/1920/loglib/cours-04-licenses.pdf differ
diff --git a/teaching/1920/loglib/cours-05-economics.pdf b/teaching/1920/loglib/cours-05-economics.pdf
new file mode 100644 (file)
index 0000000..03240c2
Binary files /dev/null and b/teaching/1920/loglib/cours-05-economics.pdf differ
diff --git a/teaching/1920/loglib/td-03-licenses.pdf b/teaching/1920/loglib/td-03-licenses.pdf
new file mode 100644 (file)
index 0000000..9711ad6
Binary files /dev/null and b/teaching/1920/loglib/td-03-licenses.pdf differ
diff --git a/teaching/1920/loglib/td-04-licenses.pdf b/teaching/1920/loglib/td-04-licenses.pdf
new file mode 100644 (file)
index 0000000..d5b2b79
Binary files /dev/null and b/teaching/1920/loglib/td-04-licenses.pdf differ
diff --git a/teaching/1920/loglib/td-05-economics.pdf b/teaching/1920/loglib/td-05-economics.pdf
new file mode 100644 (file)
index 0000000..424a93a
Binary files /dev/null and b/teaching/1920/loglib/td-05-economics.pdf differ
index 9a72354..6c0665d 100644 (file)
@@ -1,15 +1,20 @@
 # (MSc) Thesis topics | Sujets de stage | Argomenti di tesi
 
-Below you can find a list of topics available for students interested in
-pursuing a master thesis—or *stages* (in France), or *tesi di laurea* (in
-Italy)—with myself as supervisor.
+I routinely supervise internships for students interested in pursuing a master
+thesis—or *stages* (in France), or *tesi di laurea* (in Italy).
+
+A list
+of [**internship topics**](https://wiki.softwareheritage.org/wiki/Internships)
+currently available with me as supervisor, on topics related to
+the [Software Heritage project](https://www.softwareheritage.org/), large-scale
+software analysis, big data, etc.), can be found on the
+[Software Heritage wiki](https://wiki.softwareheritage.org/wiki/Internships).
+
+Most of the internship topics there are in the field of empirical software
+engineering and will put into use a number of techniques to deal with huge
+amount of data (and in particular software source code) coming from large-scale
+archival of Free and Open Source Software---we are talking billions of source
+code files and commits, harvested from tens of millions software projects.
 
 If interested, please get in touch with me via
-[email](mailto:zack@pps.univ-paris-diderot.fr).
-
-[[!inline
-   pages="teaching/internships/*"
-   show="0"
-   sort="path"
-   template="inline-stage"
-]]
+[email](mailto:zack@irif.fr).
diff --git a/teaching/internships/01-swh-distributed-object-storage.mdwn b/teaching/internships/01-swh-distributed-object-storage.mdwn
deleted file mode 100644 (file)
index 1bc0f69..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-**Titre**: *Qui veut gagner des milliards (de fichiers source)?*
-
-**Contexte**: projet de recherche de grande envergure ayant comme but la
-récupération, l'organisation, et l'archivage à très long terme (siècles) de la
-totalité du logiciel libre publiquement accessible via Internet.
-
-**Description**: On souhaite concevoir, réaliser et tester en production un
-système de stockage pour fichiers textuels de petite taille (typiquement: code
-source) capable de stocker des milliards des fichiers, pour une occupation
-totale de l'ordre de 100 téraoctets, sur plusieurs noeuds des stockage
-géographiquement distribués. La synchronisation entre noeuds sera asynchrone,
-et chaque noeud disposera d'un contrôle automatique d'intégrité capable de
-réparer les fichiers corrompus (self-healing).
-
-**Connaissances souhaitées** pour accéder au stage:
-
-- algorithmique répartie
-- Python
-- PostgreSQL
-
-**Établissement d'accueil**: [Inria Paris](http://www.inria.fr/centre/paris)
-
-**Encadrants**:
-
-- [Roberto Di Cosmo](http://www.dicosmo.org/)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: disponible
diff --git a/teaching/internships/02-swh-web-ui.mdwn b/teaching/internships/02-swh-web-ui.mdwn
deleted file mode 100644 (file)
index e087086..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-**Titre**: *Naviguer dans le plus grand dépôt Git du monde*
-
-**Contexte**: projet de recherche de grande envergure ayant comme but la
-récupération, l'organisation, et l'archivage à très long terme (siècles) de la
-totalité du logiciel libre publiquement accessible via Internet.
-
-**Description**: On souhaite concevoir une application Web permettant de
-explorer le contenu d'un dépôt d'un système de contrôle de version à-la
-Git. Idéalement, le but est similaire à la réalisation d'un clone de
-l'interface Web de GitHub, avec une subtilité: le dépôt qu'on souhaite explorer
-est très probablement le plus grand au monde—500 millions de commits, 2
-milliards des fichiers, 10 millions d'auteurs—ce qui pose plusieurs défis
-architecturaux et d'utilisabilité.
-
-**Connaissances souhaitées** pour accéder au stage:
-
-- programmation Web
-- interfaces graphiques
-- Python
-- PostgreSQL
-
-**Établissement d'accueil**: [Inria Paris](http://www.inria.fr/centre/paris)
-
-**Encadrants**:
-
-- [Roberto Di Cosmo](http://www.dicosmo.org/)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: disponible
diff --git a/teaching/internships/03-swh-forge-crawling.mdwn b/teaching/internships/03-swh-forge-crawling.mdwn
deleted file mode 100644 (file)
index f66f01d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-**Titre**: *Construire le web sémantique des projets logiciels libres*
-
-**Contexte**: projet de recherche de grande envergure ayant comme but la
-récupération, l'organisation, et l'archivage à très long terme (siècles) de la
-totalité du logiciel libre publiquement accessible via Internet.
-
-**Description**: Ils existent des millions de projets de logiciels libres,
-hébergés sur des centaines de plateformes différentes, et souvent
-dupliqués. Pour naviguer dans ce graphe de projets logiciels, il est important
-de disposer de métadonnées pertinentes, et plusieurs efforts existent, autour
-de technologies du Web Sémantique comme DOAP ou schema.org. Le but de ce stage
-est de collecter les métadonnées existantes, les uniformiser, et les intégrer
-dans une des plus grandes collections de logiciels libres au monde.
-
-**Connaissances souhaitées** pour accéder au stage:
-
-- information retrieval
-- modélisation et représentation des connaissances
-- manipulation de données semi-structurées (HTML, XML, etc.)
-
-**Établissement d'accueil**: [Inria Paris](http://www.inria.fr/centre/paris)
-
-**Encadrants**:
-
-- [Roberto Di Cosmo](http://www.dicosmo.org/)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: disponible
diff --git a/teaching/internships/04-debian-checksums-service.mdwn b/teaching/internships/04-debian-checksums-service.mdwn
deleted file mode 100644 (file)
index 3907788..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-**Title**: *Large-scale repository of binary checksum for integrity checks*
-
-**Description**: implement and deploy a public repository of checksum
-information for the binary packages of the Debian distribution. Design and
-implement an API for the service that allows to query it for integrity checks
-and forensic purposes. Inject into the repository a substantial subset of the
-distribution history; analyze the resulting data set. The service is meant to
-be queried by the client developed as a
-[[separate topic|02-tails-integrity-client]].
-
-**Technologies**:
-
-- Python, SQLite, PostgreSQL
-- [Debian duplication detector](http://dedup.debian.net/) (which will need to
-  be adapted/extended in collaboration with the author)
-- <http://snapshot.debian.org>
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available
diff --git a/teaching/internships/05-tails-integrity-client.mdwn b/teaching/internships/05-tails-integrity-client.mdwn
deleted file mode 100644 (file)
index 94d2b1a..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-**Title**: *Design and implementation of an integrity/forensic client for the
-Tails live distribution*
-
-**Description**: build a software tool (to be integrated in Tails) that is able
-to check the integrity of (some part of) the binaries installed on a Debian PC,
-accessible from the running Tails instace. As a backend, the client will use
-either the service developed as a
-[[separate topic|01-debian-checksums-service]] or <http://dedup.debian.net/>
-
-**Technologies**:
-
-- [Tails](https://tails.boum.org/)
-- [Debian duplication detector](http://dedup.debian.net/)
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo) 
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available
diff --git a/teaching/internships/06-windows-of-vulnerability.mdwn b/teaching/internships/06-windows-of-vulnerability.mdwn
deleted file mode 100644 (file)
index decd92c..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<span class="strike">**Title**: *Windows of Vulnerability (WoVs)*</span>
-
-**Description**: design and implement a forensic tool capable of reviewing the
-upgrade history of a Debian(-like) distribution with respect to the history of
-publicly known software vulnerabilities (e.g., CVEs, NVD, etc). The output of
-the tool should be a series of time intervals, stating to which vulnerabilities
-the machine might have been exposed in the past, and for how long it has been
-the case.
-
-**Technologies**:
-
-- Debian administration (see, e.g., [handbook](http://debian-handbook.info/))
-- Security standards:
-  - [CVE](https://cve.mitre.org/data/downloads/)
-  - [CPE](http://scap.nist.gov/specifications/cpe/)
-  - [CVRF](http://www.icasi.org/cvrf)
-- [Debian security tracker](https://security-tracker.debian.org/tracker/)
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo) 
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: taken
diff --git a/teaching/internships/07-tails-self-dpi.mdwn b/teaching/internships/07-tails-self-dpi.mdwn
deleted file mode 100644 (file)
index 828cda7..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-**Title**: *Self Deep Packet Inspection for Tails*
-
-**Description**: instrument the Tails distribution to be able to perform "self"
-Deep Packet Inspection, to prevent unintended leaks of private information
-(e.g., IP adress, browser fingerprinting information, etc). It should be
-possible to use the instrumentation for both distribution development/testing
-and real use (provided that a suitable UI, which is outside the scope of this
-work, can be devised).
-
-**Technologies**:
-
-- [Tails](https://tails.boum.org/)
-
-**More information**:
-
-- [Deep Packet Inspection](http://en.wikipedia.org/wiki/Deep_packet_inspection)
-  (on Wikipedia, for a general overview)
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available
diff --git a/teaching/internships/08-etherpad-encrypted.mdwn b/teaching/internships/08-etherpad-encrypted.mdwn
deleted file mode 100644 (file)
index 1de161e..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-**Title**: *Encrypted Etherpad*
-
-**Description**: implement an encryption scheme that is suitable for real-time
-collaborative editing (a-la Google Docs) and integrate it into Etherpad. The
-scheme would allow to store the pad content on the server in an encrypted
-form. All of this has to be done without undermining real-time collaboration,
-and in particular it should use block-by-block encryption.
-
-**Technologies**:
-
-- [Etherpad](http://etherpad.org/)
-
-**More information**:
-
-- paper
-  [*Content cloaking: preserving privacy with Google Docs and other web applications*](https://upsilon.cc/~zack/research/publications/sac10-coclo.pdf)
-  (for a similar approach/solution, but *non-real-time*)
-- [Operational Transformation (OT)](https://en.wikipedia.org/wiki/Operational_transformation)
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available
diff --git a/teaching/internships/09-etherpad-in-a-box.mdwn b/teaching/internships/09-etherpad-in-a-box.mdwn
deleted file mode 100644 (file)
index 209fafe..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-**Title**: *Etherpad in a box*
-
-**Description**: implement an alternative Etherpad UI as a Firefox Add-on (more
-specifically a Firefox Extension). No extra features with respect to the
-Web-only version of Etherpad are planned, but minor modifications might be
-needed. Ideally, the Firefox-based UI should share as much (JavaScript+HTML5)
-code with Etherpad as possible, and should aim at being built directly from
-Etherpad sources.
-
-**Technologies**:
-
-- [Etherpad](http://etherpad.org/)
-- JavaScript
-- HTML5
-- Node.js (for Etherpad modifications, if needed)
-- <http://en.wikipedia.org/wiki/Add-on_(Mozilla)#Types_of_add-ons>
-- <https://developer.mozilla.org/en-US/Add-ons>
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available
diff --git a/teaching/internships/10-rtce-characterization.mdwn b/teaching/internships/10-rtce-characterization.mdwn
deleted file mode 100644 (file)
index f9e7d86..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-**Title**: *Characterization of real-time collaborative editing via Etherpad
-instrumentation*
-
-**Description**: instrument Etherpad to collect a wire range of live data
-during real-time collaborative editing of textual documents. A few examples of
-collected data: cursors position of each user, text and attribute changes,
-client-server http messages and network segments. The instrumentation should be
-enough to conduct experiments with real users and characterize usage patterns
-(yet unknown in the literature) of real-time collaborative editing.
-
-**Technologies**:
-
-- [Etherpad](http://etherpad.org/)
-- JavaScript
-- Node.js
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available
diff --git a/teaching/internships/11-functional-simulation.mdwn b/teaching/internships/11-functional-simulation.mdwn
deleted file mode 100644 (file)
index e90c566..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-**Title**: *Functional Adaptive Parallel and Distributed Simulation*
-
-**Description**: design and implement a parallel/distributed simulation model
-based on the Multi-Agent System paradigm using a statically typed, functional
-programming language (e.g., OCaml).
-
-**Technologies**:
-
-- [GAIA](http://pads.cs.unibo.it/dokuwiki/doku.php?id=pads:gaia)
-- [OCaml](http://ocaml.org/)
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available
diff --git a/teaching/internships/12-firmware-hw-integrity.mdwn b/teaching/internships/12-firmware-hw-integrity.mdwn
deleted file mode 100644 (file)
index 3f9c18a..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-**Title**: *Firmware and hardware checksuming for integrity evaluation*
-
-**Description**: design and build a software tool (based on a Linux live
-distribution) that is able to retrive as much firmware and hardware information
-as possible about the devices installed on the PC, and checksum them to: a)
-verifiy if something has changed since the last known run of the tool (to
-detect tampering smells), and b) compare the obtained results against a
-(community-maintained) database of "well-known" firmware/hardware information.
-
-**Technologies**:
-
-- [dmidecode](http://dmidecode.nongnu.org/)
-- [Linux's firmware interface](http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/firmware_class/README?id=HEAD)
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available
diff --git a/teaching/internships/13-anon-p2p-cloud.mdwn b/teaching/internships/13-anon-p2p-cloud.mdwn
deleted file mode 100644 (file)
index e7e009b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<span class="strike">**Title**: *Anonymous peer-to-peer (P2P) cloud*</span>
-
-**Description**: design and implementation of an opt-in, distributed, P2P IaaS
-cloud, in which both providers and users of virtual machines remain anonymous,
-thanks to the Tor low-latency anonymity network and its support for hidden
-services.
-
-**Technologies**:
-
-- [Tor](https://www.torproject.org/)
-- [Tor hidden services](https://www.torproject.org/docs/hidden-services.html.en)
-- [OpenStack](http://www.openstack.org/)
-- [Amazon EC2 API](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Welcome.html)
-
-**More information**:
-
-- technical report
-  [*Design and Implementation of a P2P Cloud System*](http://www.informatica.unibo.it/it/ricerca/technical-report/2011/pdfs/2011-10.pdf)
-  (for a non-anonymous architecture)
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: taken
diff --git a/teaching/internships/14-security-debian-derivatives.mdwn b/teaching/internships/14-security-debian-derivatives.mdwn
deleted file mode 100644 (file)
index 09ab653..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-**Title**: *Propagation of security bug fixes among Debian derivatives*
-
-**Description**: study the propagation delay between the arrival of security
-bug fixes in the [Debian](http://www.debian.org) distribution and the arrival
-of the corresponding fixes in
-[Debian derivatives](https://wiki.debian.org/Derivatives) (i.e., GNU/Linux
-distributions that are based on/periodically merged with Debian). The work will
-be conducted processing a large data set of already available
-[diff](http://en.wikipedia.org/wiki/Diff_utility)-s, which have been obtained
-by automatically comparing Debian with its derivatives on a daily basis over
-the past few years.
-
-**Technologies**:
-
-- Debian administration (see, e.g., [handbook](http://debian-handbook.info/))
-- Security standards:
-  - [CVE](https://cve.mitre.org/data/downloads/)
-  - [CPE](http://scap.nist.gov/specifications/cpe/)
-  - [CVRF](http://www.icasi.org/cvrf)
-- [Debian Security Bug Tracker](https://security-tracker.debian.org/tracker/)
-
-**More information**:
-
-- [Debian Derivatives](https://wiki.debian.org/Derivatives)
-- [Debian Derivatives Census](https://wiki.debian.org/Derivatives/Census)
-- [sample diff-s](http://dex.alioth.debian.org/census/patches/) (more, and more
-  up-to-date diff-s are available, although not regularly published on the Web)
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available