<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

dicosmo_clean

[1] Kim Bruce, Roberto Di Cosmo, and Giuseppe Longo. Provable isomorphisms of types. Mathematical Structures in Computer Science, 2(2):231--247, 1992. [ bib | DOI | Url ]
[2] Vincent Danos and Roberto Di Cosmo. Introduction to linear logic. Course Notes, very preliminary version of [3], June 1992. [ bib | Url ]
[3] Vincent Danos and Roberto Di Cosmo. The Linear Logic Primer. 1997. In preparation: preliminary version available from http://www.dicosmo.org. [ bib ]
[4] Roberto Di Cosmo. An extensional operational and axiomatic semantics for type-inference with recursion and algebraic data types. October 1995. [ bib ]
[5] Roberto Di Cosmo and Giuseppe Longo. Constuctively equivalent propositions and isomorphisms of objects (or terms as natural transformations). In Moschovakis, editor, Logic from Computer Science, volume 21 of Mathematical Sciences Research Institute Publications, pages 73--94. Springer Verlag, Berkeley, 1991. [ bib | DOI ]
[6] Roberto Di Cosmo. Deciding type isomorphisms in a type assignment framework. Journal of Functional Programming, 3(3):485--525, 1993. Special Issue on ML. [ bib | DOI | Url ]
[7] Roberto Di Cosmo. Second order isomorphic types. A proof theoretic study on second order λ-calculus with surjective pairing and terminal object. Information and Computation, pages 176--201, June 1995. [ bib | DOI ]
[8] Pierre-Louis Curien and Roberto Di Cosmo. A confluent reduction system for the λ-calculus with surjective pairing and terminal object. In Leach, Monien, and Artalejo, editors, Intern. Conf. on Automata, Languages and Programming (ICALP), volume 510 of Lecture Notes in Computer Science, pages 291--302. Springer-Verlag, July 1991. [ bib | DOI ]
[9] Pierre-Louis Curien and Roberto Di Cosmo. A confluent reduction system for the λ-calculus with surjective pairing and terminal object. Journal of Functional Programming, 6(2):299--327, 1996. This is an extended and revised version of [8]. [ bib | DOI ]
[10] Roberto Di Cosmo and Adolfo Piperno. Expanding extensional polymorphism. In Mariangiola Dezani-Ciancaglini and Gordon Plotkin, editors, Typed Lambda Calculus and Applications, volume 902 of Lecture Notes in Computer Science, pages 139--153, April 1995. [ bib | DOI | Ps ]
[11] Roberto Di Cosmo. Type isomorphisms in a type assignment framework. In 19th Ann. ACM Symp. on Principles of Programming Languages (POPL), pages 200--210. ACM, 1992. [ bib | DOI | Url ]
[12] Kim Bruce, Roberto Di Cosmo, and Giuseppe Longo. Provable isomorphisms of types. Technical Report 90-14, LIENS - Ecole Normale Supérieure, 1990. [ bib ]
[13] Pierre-Louis Curien and Roberto Di Cosmo. A confluent reduction system for the λ-calculus with surjective pairing and terminal object. Technical Report 91-11, LIENS - Ecole Normale Supérieure, 1991. [ bib | Url ]
[14] Roberto Di Cosmo. Invertibility of terms and valid isomorphisms. a proof theoretic study on second order λ-calculus with surjective pairing and terminal object. Technical Report 91-10, LIENS - Ecole Normale Supérieure, 1991. [ bib | Url ]
[15] Roberto Di Cosmo and Delia Kesner. A confluent reduction for the extensional typed λ-calculus with pairs, sums, recursion and terminal object. In Andrzej Lingas, editor, Intern. Conf. on Automata, Languages and Programming (ICALP), volume 700 of Lecture Notes in Computer Science, pages 645--656. Springer-Verlag, July 1993. [ bib ]
[16] Roberto Di Cosmo and Delia Kesner. Simulating expansions without expansions. Technical Report LIENS-93-11/INRIA 1911, LIENS-DMI and INRIA, 1993. [ bib ]
[17] Roberto Di Cosmo and Delia Kesner. Simulating expansions without expansions. Mathematical Structures in Computer Science, 4:1--48, 1994. [ bib ]
[18] Roberto Di Cosmo. Isomorphisms of Types. Tesi di dottorato, Dipartimento di Informatica, Universitá di Pisa, 40, Corso Italia - 56100 Pisa - Italy, January 1993. [ bib ]
[19] Roberto Di Cosmo. Réécriture avec axiomes extensionnels et isomorphismes de types. Habilitation à diriger des recherches, Université de Paris VII, 2, place Jussieu - 75005 Paris, April 1998. [ bib ]
[20] Roberto Di Cosmo and Delia Kesner. Combining first order algebraic rewriting systems, recursion and extensional lambda calculi. In Serge Abiteboul and Eli Shamir, editors, Intern. Conf. on Automata, Languages and Programming (ICALP), volume 820 of Lecture Notes in Computer Science, pages 462--472. Springer-Verlag, July 1994. [ bib | DOI | Url ]
[21] Roberto Di Cosmo and Delia Kesner. Combining algebraic rewriting, extensional lambda calculi and fixpoints. Theoretical Computer Science, 169(2):201--220, 1996. [ bib | DOI ]
[22] Roberto Di Cosmo. Isomorphisms of types: from λ-calculus to information retrieval and language design. Birkhauser, 1995. ISBN-0-8176-3763-X. [ bib | Url ]
[23] Roberto Di Cosmo and Delia Kesner. Rewriting with polymorphic extensional λ-calculus. In CSL'95, volume 1092 of Lecture Notes in Computer Science, pages 215--232. Springer-Verlag, 1996. Extended abstract presented in Paderborn, September 1995. [ bib | DOI ]
[24] Maria-Virginia Aponte and Roberto Di Cosmo. Type isomorphisms for module signatures. In Programming Languages Implementation and Logic Programming (PLILP), volume 1140 of Lecture Notes in Computer Science, pages 334--346. Springer-Verlag, 1996. [ bib | DOI ]
[25] Maria-Virginia Aponte, Roberto Di Cosmo, and Catherine Dubois. Signature subtyping modulo type isomorphisms. submitted, 1997. [ bib | Ps ]
[26] Hassan Aït-Kaci and Roberto Di Cosmo. Compiling order-sorted feature term unification. TN 7, Digital Equipment Corporation, December 1993. [ bib ]
Order-sorted feature (OSF) terms generalize first-order rational terms: functors become partially ordered sorts, arity is unconstrained, and subterms are unordered, indicated by explicit feature symbols rather than implicit positions. Thus, OSF terms provide a handy data structure to represent objects in symbolic programming languages. LIFE is such an experimental language extending Prolog by replacing its term data structure and unification operation with OSF term and unification. In this paper, we present an abstract machine design for OSF term unification. This compiling scheme consists of an alteration of recent refinements of WAM technology for compiling Prolog's unification. Our modifications account for order-sortedness, symbolic features, and absence of arity. Then, we improve that design by incorporating several immediate optimizations.
[27] Roberto Di Cosmo. On the power of simple diagrams. In Rewriting Techniques and Applications, number 1103 in Lecture Notes in Computer Science, pages 200--214, July 1996. [ bib | DOI | Url ]
[28] Roberto Di Cosmo and Neil Ghani. Combining algebraic rewriting with higher order extensional lambda calculi. In Pierpaolo Degano, Roberto Gorrieri, and Alberto Marchetti-Spaccamela, editors, Intern. Conf. on Automata, Languages and Programming (ICALP)24, number 1256 in Lecture Notes in Computer Science, pages 237--247, 1997. [ bib | DOI ]
[29] Roberto Di Cosmo. Une panoramique de conceptes et langages orientés objets. Course Notes. http://www.dicosmo.org/CourseNotes/OO, 1996. [ bib ]
[30] Roberto Di Cosmo. Compilation (pour la maîtrise). Course Notes. http://www.dicosmo.org/CourseNotes/Compilation, 1999. [ bib ]
[31] Roberto Di Cosmo. Introduction à l'informatique pour le deug. Course Notes. http://www.dicosmo.org/IF121, 2000. [ bib ]
[32] Roberto Di Cosmo. Sémantique dénotationnelle. Course Notes. http://www.dicosmo.org/CourseNotes, 1996. [ bib ]
[33] Roberto Di Cosmo. A brief history of rewriting with extensionality. Lecture notes. http://www.dicosmo.org/, September 1996. [ bib ]
[34] Roberto Di Cosmo and Delia Kesner. Strong normalization of explicit substitutions via cut elimination in proof nets (extended abstract). In Proceedings, Twelfth Annual IEEE Symposium on Logic in Computer Science (LICS), pages 35--46, Warsaw, Poland, 29 June- 2July 1997. IEEE Computer Society Press. [ bib | DOI ]
[35] Roberto Di Cosmo. A brief history of rewriting with extensionality. In Fairouz Kamareddine, editor, International Summer School on Type Theory and Rewriting, Glasgow, September 1996. Kluwer. A set of slides on the subject is available as http://www.dicosmo.org/Slides/GLA96.ps.gz. [ bib ]
[36] Marco Danelutto, Roberto Di Cosmo, Xavier Leroy, and Susanna Pelagatti. OcamlP3l: a functional parallel programming system. Technical Report 98-01, LIENS - DMI, Ecole Normale Supérieure, 1998. [ bib | Url ]
[37] D. Delahaye, Roberto Di Cosmo, and B. Werner. Recherche dans une bibliothèque de preuves Coq en utilisant le type et modulo isomorphismes. In PRC/GDR de programmation, Pôle Preuves et Spécifications Algébriques, November 1997. [ bib ]
[38] Roberto Di Cosmo, Jean-Vincent Loddo, and Stéphane Nicolet. A game semantics foundation for logic programming. In Catuscia Palamidessi, Hugh Glaser, and Karl Meinke, editors, PLILP'98, volume 1490 of Lecture Notes in Computer Science, pages 355--373, 1998. [ bib | DOI ]
[39] Roberto Di Cosmo. Piège dans le Cyberespace. Multimédium, 17 March 1998. [ bib | Url ]
[40] Marco Danelutto, Roberto Di Cosmo, Xavier Leroy, and Susanna Pelagatti. Parallel functional programming with skeletons: the OCamlP3L experiment. In Proceedings ACM workshop on ML and its applications, Baltimore, 1998. Cornell University. [ bib ]
This paper reports on skeleton-based parallel programming in the context of the Caml functional language. An experimental implementation, based on TCP sockets and marshaling of function closures, is described and assessed.
[41] Roberto Di Cosmo and Dominique Nora. Le Hold-Up planétaire. Calmann-Levy, October 1998. Now freely available at http://www.dicosmo.org/HoldUp/. [ bib ]
[42] Roberto Di Cosmo. Manifeste Pour Une Création Artistique Libre Dans Un Internet Libre. lulu.com, 2011. Freely available at http://www.dicosmo.org/Books/ConcaveRepartition-online.pdf. [ bib | Url ]
[43] Roberto Di Cosmo and Stefano Guerrini. Strong normalization of proof nets modulo structural congruences. In Rewriting Techniques and Applications, 1999. [ bib | DOI ]
[44] Vincent Balat and Roberto Di Cosmo. A linear logical view of linear type isomorphisms. In Computer Science Logic, volume 1683 of Lecture Notes in Computer Science, pages 250--265. Springer-Verlag, 1999. [ bib | DOI ]
[45] Roberto Di Cosmo, Delia Kesner, and Emmanuel Polonovski. Proof nets and explicit substitutions. In Foundation of Software Science and Computation Structure, volume 1784 of Lecture Notes in Computer Science, pages 63--81. Springer-Verlag, 2000. [ bib | DOI ]
[46] Roberto Di Cosmo, Delia Kesner, and Emmanuel Polonovski. Proof nets and explicit substitutions. Mathematical Structures in Computer Science, 13(3):409--450, June 2003. [ bib | DOI ]
[47] Roberto Di Cosmo and Thomas Dufour. The equational theory of <n,0,1,+,·,> is decidable, but not finitely axiomatisable. In LPAR'05, Lecture Notes in Computer Science, pages 240--256, 2005. [ bib | DOI ]
[48] Roberto Di Cosmo and Jean-Vincent Loddo. Playing logic programs with the alpha-beta algorithm. In Michel Parigot and Adrei Voronkov, editors, LPAR'00, volume 1955 of Lecture Notes in Computer Science, pages 207--224, 2000. [ bib | DOI ]
[49] Vincent Balat, Roberto Di Cosmo, and Marcelo Fiore. Remarks on isomorphisms in typed lambda calculi with empty and sum type. In LICS. IEEE, July 2002. [ bib | DOI ]
[50] Vincent Balat, Roberto Di Cosmo, and Marcelo Fiore. Extensional normalisation and type-directed partial evaluation for typed lamda calculus with sums. In 31st Ann. ACM Symp. on Principles of Programming Languages (POPL), pages 64--76. ACM, 2004. [ bib | DOI ]
[51] Roberto Di Cosmo. A short survey of isomorphisms of types. Mathematical Structures in Computer Science, 15:825--838, 2005. [ bib | DOI ]
[52] Roberto Di Cosmo and Susanna Pelagatti. A calculus for dense array distributions. Second International Workshop on High-Level Parallel Programming and Applications, 2003. [ bib ]
[53] François Clément, Arnaud Vodicka, Roberto Di Cosmo, and Pierre Weis. Couplage de codes numériques, parallélisme et langages de haut niveau. RR 4825, INRIA, 2003. http://www.inria.fr/rrrt/rr-4825.html. [ bib ]
[54] Roberto Di Cosmo, François Pottier, and Didier Rémy. Subtyping recursive types modulo associative commutative products. Typed Lambda Calculus and Applications, 2005. [ bib | DOI ]
[55] Roberto Di Cosmo. Legal tools to protect software: Choosing the right one. Upgrade, 4(3):21--23, June 2003. Available as https://hal.archives-ouvertes.fr/hal-03362924. [ bib ]
[56] Roberto Di Cosmo. Scientific publications: The role of public administrations in the ICT era. Upgrade, 7(3):41--47, June 2006. Available as https://hal.archives-ouvertes.fr/hal-03362932, and also in French at https://hal.archives-ouvertes.fr/hal-03362939. [ bib ]
[57] Roberto Di Cosmo. E-duquons l'e-citoyen! Bulletin de Specif, December 2004. Available as http://www.dicosmo.org/Articles/Specif-3-3.pdf. [ bib ]
[58] Roberto Di Cosmo and Susanna Pelagatti. A calculus for dense array distributions. Parallel Processing Letters, 13(3):377--388, 2003. [ bib | DOI ]
[59] Roberto Di Cosmo, Zheng Li, and Susanna Pelagatti. A calculus for parallel computations over multidimensional dense arrays. Computer Languages, Systems and Structures, 33(3-4):82--110, 2007. [ bib | DOI | Url ]
[60] Roberto Di Cosmo, Zheng Li, Susanna Pelagatti, and Pierre Weis. Skeletal parallel programming with ocamlp3l 2.0. Third International Workshop on High-level Parallel Programming and Applications, 4-5July 2005. [ bib ]
[61] Roberto Di Cosmo, Zheng Li, Susanna Pelagatti, and Pierre Weis. Skeletal parallel programming with ocamlp3l 2.0. Parallel Processing Letters, 18(1):149--164, March 2008. [ bib | DOI ]
[62] F. Clément, V. Martin, A. Vodicka, R. Di Cosmo, and P. Weis. Domain decomposition for flow simulation around a waste disposal site: direct computation versus code coupling using ocamlp3l. International Conference on Supercomputing in Nuclear Applications (SNA'2003), September 2003. [ bib ]
[63] F. Clément, A. Li, V. Martin, A. Vodicka, R. Di Cosmo, and P. Weis. Parallel programming with the ocamlp3l system, with applications to coupling numerical codes. Journal of Functional Programming, September 2003. Submitted. [ bib ]
[64] Roberto Di Cosmo. Isomorfismi di tipi. Master's thesis, Università di Pisa, 1986. [ bib ]
[65] Roberto Di Cosmo, Berke Durak, Xavier Leroy, Fabio Mancinelli, and Jérôme Vouillon. Maintaining large software distributions: new challenges from the FOSS era. In Proceedings of the FRCSS 2006 workshop, 2006. EASST Newsletter. [ bib ]
In the mainstream adoption of free and open source software (FOSS), distribution editors play a crucial role: they package, integrate and distribute a wide variety of software, written in a variety of languages, for a variety of purposes of unprecedented breadth. Ensuring the quality of a FOSS distribution is a technical and engineering challenge, owing to the size and complexity of these distributions (tens of thousands of software packages). A number of original topics for research arise from this challenge. This paper is a gentle introduction to this new research area, and strives to clearly and formally identify many of the desirable properties that must be enjoyed by these distributions to ensure an acceptable quality level.
[66] Jaap Boender, Roberto Di Cosmo, Berke Durak, Xavier Leroy, Fabio Mancinelli, Mario Morgado, David Pinheiro, Ralf Treinen, Paulo Trezentos, and Jérôme Vouillon. News from the EDOS project: improving the maintenance of free software distributions. In Olivier Berger, editor, Proceedings of the 7th International Workshop on Free Software (IWFS'06), pages 199 -- 207, Porto Alegre, Brazil, April 2006. [ bib | Url ]
[67] Roberto Di Cosmo, Fabio Mancinelli, Jaap Boender, Jerome Vouillon, Berke Durak, Xavier Leroy, David Pinheiro, Paulo Trezentos, Mario Morgado, Tova Milo, Tal Zur, Rafael Suarez, Marc Lijour, and Ralf Treinen. Report on formal mangement of software dependencies. Technical report, EDOS, April 2006. EDOS project Deliverable 2.2, available as http://hal-univ-diderot.archives-ouvertes.fr/docs/00/69/74/68/PDF/edos-wp2d2.pdf. [ bib ]
[68] Roberto Di Cosmo. Educating the e-citizen. In 11th annual SIGCSE conference on Innovation and technology in computer science education, pages 1--1, New York, NY, USA, 2006. ACM Press. [ bib | DOI ]
[69] Fabio Mancinelli, Jaap Boender, Roberto Di Cosmo, Jerome Vouillon, Berke Durak, Xavier Leroy, and Ralf Treinen. Managing the complexity of large free and open source package-based software distributions. In Sebastian Uchitel and Steve Easterbrook, editors, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 199--208. IEEE Computer Society, 2006. [ bib | DOI ]
[70] François Clément, Vincent Martin, Arnaud Vodicka, Roberto Di Cosmo, and Pierre Weis. Domain decomposition and skeleton programming with OCamlP3l. Parallel Computing, 32:539--550, 2006. Special Issue on Algorithmic Skeletons, extended version of  [71]. [ bib | DOI ]
[71] François Clément, Vincent Martin, Arnaud Vodicka, Roberto Di Cosmo, and Pierre Weis. Domain decomposition and skeleton programming with OCamlP3l. In G. R. Joubert, W. E. Nagel, F. J. Peters, O. Plata, P. Tirado, and E. Zapata, editors, Proc. of the Internat. Conf. on Parallel Computing: Current & Future Issues of High-End Computing, volume 33 of J. von Neumann Institute for Computing (NIC), pages 811--818. NIC-Directors, 2006. [ bib ]
[72] Marcelo Fiore, Roberto Di Cosmo, and Vincent Balat. Remarks on isomorphisms in typed lambda calculi with empty and sum types. Annals of Pure and Applied Logic, 141(1--2):35--50, August 2006. [ bib | DOI | Url ]
Tarski asked whether the arithmetic identities taught in high school are complete for showing all arithmetic equations valid for the natural numbers. The answer to this question for the language of arithmetic expressions using a constant for the number one and the operations of product and exponentiation is affirmative, and the complete equational theory also characterises isomorphism in the typed lambda calculus, where the constant for one and the operations of product and exponentiation respectively correspond to the unit type and the product and arrow type constructors. This paper studies isomorphisms in typed lambda calculi with empty and sum types from this viewpoint. Our main contribution is to show that a family of so-called Wilkie-Gurevic identities, that plays a pivotal role in the study of Tarski's high school algebra problem, arises from type-theoretic isomorphisms. We thus close an open problem by establishing that the theory of type isomorphisms in the presence of product, arrow, and sum types (with or without the unit type) is not finitely axiomatisable. Further, we observe that for type theories with arrow, empty and sum types the correspondence between isomorphism and arithmetic equality generally breaks down, but that it still holds in some particular cases including that of type isomorphism with the empty type and equality with zero.
[73] Roberto Di Cosmo and Dale Miller. Linear logic. In Edward N. Zalta, editor, The Stanford Encyclopedia of Philosophy. Fall 2006. [ bib | Url ]
[74] Mariangiola Dezani-Ciancaglini, Roberto Di Cosmo, Elio Giovannetti, and Makoto Tatsuta. On isomorphisms of intersection types. In Michael Kaminski and Simone Martini, editors, Computer Science Logic, 22nd International Workshop, CSL 2008, 17th Annual Conference of the EACSL, Bertinoro, Italy, September 16-19, 2008. Proceedings, volume 5213 of Lecture Notes in Computer Science, pages 461--477. Springer, 2008. [ bib | DOI ]
[75] Jaap Boender, Roberto Di Cosmo, Jérôme Vouillon, Berke Durak, and Fabio Mancinelli. Improving the quality of gnu/linux distributions. In Proceedings of the 32nd Annual IEEE International Computer Software and Applications Conference, COMPSAC 2008, 28 July - 1 August 2008, Turku, Finland, pages 1240--1246. IEEE Computer Society, 2008. [ bib | DOI ]
[76] Roberto Di Cosmo, Stefano Zacchiroli, and Paulo Trezentos. Package upgrades in FOSS distributions: details and challenges. In HotSWUp '08: Proceedings of the 1st International Workshop on Hot Topics in Software Upgrades, pages 1--5, New York, NY, USA, 2008. ACM. [ bib | DOI ]
[77] Serge Abiteboul, Ciarán Bryce, Roberto Di Cosmo, Klaus R. Dittrich, Stéfane Fermigier, Stéphane Laurière, Frédéric Lepied, Xavier Leroy, Tova Milo, Eleonora Panto, Radu Pop, Assaf Sagi, Yotam Shtossel, Florent Villard, and Boris Vrdoljak. EDOS: Environment for the Development and Distribution of Open Source Software. In First International Conference on Open Source Systems (OSS 2005), 2005. [ bib ]
The open-source software community is now comprised of a very large and growing number of contributors and users. The GNU/Linux operating system for instance has an estimated 18 million users worldwide and its contributing developers can be counted by thousands. The critical mass of contributors taking part in various opensource projects has helped to ensure high quality for open source software. However, despite the achievements of the open-source software industry, there are issues in the production of large scale open-source software (OSS) such as the GNU/Linux operating system that have to be addressed as the numbers of users, of contributors, and of available applications grow. EDOS is a European project supported by IST started October 2004 and ending in 2007, whose objective is to provide a new generation of methodologies, theoretical models, technical tools and quality models specifically tailored to OSS engineering and to software distribution over the Internet.
[78] Roberto Di Cosmo. La science du logiciel libre. La Recherche, pages 70--73, December 2009. Les cahiers de l'INRIA. [ bib | Url ]
[79] Roberto Di Cosmo. Offrons aux jeunes les clés du pouvoir et de la liberté. Science et Avenir, 751:42--45, September 2009. [ bib | Url ]
[80] Pietro Abate, Jaap Boender, Roberto Di Cosmo, and Stefano Zacchiroli. Strong dependencies between software components. In International Symposium on Empirical Sofware Engineering and Measurement, pages 89--99. IEEE Press, October 2009. [ bib | DOI | Url ]
[81] Andrew Donohogue and Roberto Di Cosmo. Open for business. I-CIO, Global Intelligence for the CIO, August 2009. [ bib | Url ]
[82] Roberto Di Cosmo and Jaap Boender. Using strong conflicts to detect quality issues in component-based complex systems. In ISEC '10: Proceedings of the 3rd India software engineering conference, pages 163--172, New York, NY, USA, 2010. ACM. [ bib | DOI ]
[83] Roberto Di Cosmo and Stefano Zacchiroli. Feature diagrams as package dependencies. In Jan Bosch and Jaejoon Lee, editors, Software Product Lines: Going Beyond - 14th International Conference, SPLC 2010, Jeju Island, South Korea. Proceedings, volume 6287 of Lecture Notes in Computer Science, pages 476--480. Springer, 13-17 September 2010. [ bib ]
[84] Mariangiola Dezani-Ciancaglini, Roberto Di Cosmo, Elio Giovannetti, and Makoto Tatsuta. On isomorphisms of intersection types. ACM Transactions on Computational Logic, 11(4):1--24, 2010. [ bib | DOI ]
[85] Pietro Abate and Roberto Di Cosmo. Predicting upgrade failures using dependency analysis. In Serge Abiteboul, Klemens Böhm, Christoph Koch, and Kian-Lee Tan, editors, Workshops Proceedings of the 27th International Conference on Data Engineering, ICDE 2011, April 11-16, 2011, Hannover, Germany, pages 145--150. IEEE, 2011. [ bib | DOI ]
[86] Roberto Di Cosmo, Davide Di Ruscio, Patrizio Pelliccione, Alfonso Pierantonio, and Stefano Zacchiroli. Supporting software evolution in component-based FOSS systems. Science of Computer Programming, 76(12):1144--1160, December 2011. [ bib | DOI | Url ]
[87] Pietro Abate, Roberto Di Cosmo, Ralf Treinen, and Stefano Zacchiroli. Mpm: a modular package manager. In Proceedings of the 14th international ACM Sigsoft symposium on Component based software engineering, CBSE '11, pages 179--188, New York, NY, USA, 2011. ACM. [ bib | DOI | Url ]
[88] Roberto Di Cosmo and Jérôme Vouillon. On software component co-installability. In Tibor Gyimóthy and Andreas Zeller, editors, SIGSOFT/FSE'11 19th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-19) and ESEC'11: 13rd European Software Engineering Conference (ESEC-13), Szeged, Hungary, September 5-9, 2011, pages 256--266. ACM, 2011. [ bib | DOI ]
[89] C. Artho, K. Suzaki, R. Di Cosmo, R. Treinen, and S. Zacchiroli. Why do software packages conflict? In Mining Software Repositories (MSR), 2012 9th IEEE Working Conference on, pages 141--150, 2012. [ bib | DOI ]
Determining whether two or more packages cannot be installed together is an important issue in the quality assurance process of package-based distributions. Unfortunately, the sheer number of different configurations to test makes this task particularly challenging, and hundreds of such incompatibilities go undetected by the normal testing and distribution process until they are later reported by a user as bugs that we call “conflict defects”. We performed an extensive case study of conflict defects extracted from the bug tracking systems of Debian and Red Hat. According to our results, conflict defects can be grouped into five main categories. We show that with more detailed package meta-data, about 30 % of all conflict defects could be prevented relatively easily, while another 30 % could be found by targeted testing of packages that share common resources or characteristics. These results allow us to make precise suggestions on how to prevent and detect conflict defects in the future.
[90] Roberto Di Cosmo, Olivier Lhomme, and Claude Michel. Aligning component upgrades. In Conrad Drescher, Inês Lynce, and Ralf Treinen, editors, Proceedings Second Workshop on Logics for Component Configuration, volume 65, pages 1--11, 2011. [ bib | DOI ]
Modern software systems, like GNU/Linux distributions or Eclipse-based development environment, are often deployed by selecting components out of large component repositories. Maintaining such software systems by performing component upgrades is a complex task, and the users need to have an expressive preferences language at their disposal to specify the kind of upgrades they are interested in. Recent research has shown that it is possible to develop solvers that handle preferences expressed as a combination of a few basic criteria used in the MISC competition, ranging from the number of new components to the freshness of the final configuration. In this work we introduce a set of new criteria that allow the users to specify their preferences for solutions with components aligned to the same upstream sources, provide an efficient encoding and report on the experimental results that prove that optimising these alignment criteria is a tractable problem in practice.
[91] Marco Danelutto and Roberto Di Cosmo. A "Minimal Disruption" skeleton experiment: Seamless map & reduce embedding in OCaml. Procedia CS, 9:1837--1846, 2012. [ bib | DOI ]
[92] Pietro Abate, Roberto Di Cosmo, Ralf Treinen, and Stefano Zacchiroli. Dependency solving: a separate concern in component evolution management. Journal of System and Software Science, 85(10):2228 -- 2240, 2012. Automated Software Evolution. [ bib | DOI | Url ]
[93] Patrice Bertrand, Roberto Di Cosmo, and Stefane Fermigier. Il faut enseigner le logiciel libre en france. Le Monde, page 8 (suppl. Sciences & Techno), 20October 2012. [ bib ]
[94] Pietro Abate, Roberto Di Cosmo, Ralf Treinen, and Stefano Zacchiroli. A modular package manager architecture. Information and Software Technology, 55(2):459 -- 474, 2013. Special Section: Component-Based Software Engineering (CBSE), 2011. [ bib | DOI | Url ]
Context The success of modern software distributions in the Free and Open Source world can be explained, among other factors, by the availability of a large collection of software packages and the possibility to easily install and remove those components using state-of-the-art package managers. However, package managers are often built using a monolithic architecture and hard-wired and ad-hoc dependency solvers implementing some customized heuristics. Objective We aim at laying the foundation for improving on existing package managers. Package managers should be complete, that is find a solution whenever there exists one, and allow the user to specify complex criteria that define how to pick the best solution according to the user s preferences. Method In this paper we propose a modular architecture relying on precise interface formalisms that allows the system administrator to choose from a variety of dependency solvers and backends. Results We have built a working prototype, called MPM, following the design advocated in this paper, and we show how it largely outperforms a variety of current package managers. Conclusion We argue that a modular architecture, allowing for delegating the task of constraint solving to external solvers, is the path that leads to the next generation of package managers that will deliver better results, offer more expressive preference languages, and be easily adaptable to new platforms.
[95] Roberto Di Cosmo. On privacy and anonymity in electronic and non electronic voting: the ballot-as-signature attack. April 2007. [ bib | Url ]
This paper describes in detail an attack on multiple-choice voting schemas, that has gone largely unnoticed in the literature. Written in 2006, to complement my original Wikipedia article dating back to January 2005, it is still unpublished up to now: I did not find yet the necessary energy to go through the process of getting it accepted in the scholar community working on security, which is not my research domain. And yet, it is probably my most referenced and more influential article to date (just Google it around a bit).
[96] Roberto Di Cosmo, Stefano Zacchiroli, and Gianluigi Zavattaro. Towards a formal component model for the cloud. In SEFM, pages 156--171, 2012. [ bib | DOI ]
[97] Roberto Di Cosmo, Ralf Treinen, and Stefano Zacchiroli. Formal aspects of free and open source software components - a short survey. In FMCO, pages 216--239, 2012. [ bib | DOI ]
[98] Pietro Abate, Roberto Di Cosmo, Ralf Treinen, and Stefano Zacchiroli. Learning from the future of component repositories. In Proceedings of the 15th ACM SIGSOFT symposium on Component Based Software Engineering, CBSE '12, pages 51--60, New York, NY, USA, 2012. ACM. [ bib | DOI | Url ]
[99] Jérôme Vouillon and Roberto Di Cosmo. Broken sets in software repository evolution. In ICSE, pages 412--421, 2013. [ bib | DOI ]
[100] Roberto Di Cosmo, Jacopo Mauro, Stefano Zacchiroli, and Gianluigi Zavattaro. Component reconfiguration in the presence of conflicts. In ICALP (2), pages 187--198, 2013. [ bib | DOI ]
[101] Michel Catan, Roberto Di Cosmo, Antoine Eiche, Tudor A. Lascu, Michael Lienhardt, Jacopo Mauro, Ralf Treinen, Stefano Zacchiroli, Gianluigi Zavattaro, and Jakub Zwolakowski. Aeolus: Mastering the complexity of cloud application deployment. In ESOCC, pages 1--3, 2013. [ bib | DOI ]
[102] Roberto Di Cosmo. Organiser le partage pour préserver les données. Pour la Science, 433:86--90, November 2013. [ bib | Url ]
[103] Jérôme Vouillon and Roberto Di Cosmo. On software component co-installability. ACM Trans. Softw. Eng. Methodol., 22(4):34, 2013. [ bib | DOI ]
[104] Jérôme Vouillon, Mehdi Dogguy, and Roberto Di Cosmo. Easing software component repository evolution. In Jalote et al. [112], pages 756--766. [ bib | DOI | Url ]
[105] Pietro Abate, Roberto Di Cosmo, Ralf Treinen, and Stefano Zacchiroli. Learning from the future of component repositories. Science of Computer Programming, 90(B):93--115, September 2014. [ bib ]
[106] Roberto Di Cosmo, Michael Lienhardt, Ralf Treinen, Stefano Zacchiroli, Jakub Zwolakowski, Antoine Eiche, and Alexis Agahi. Automated synthesis and deployment of cloud applications. In Crnkovic et al. [113], pages 211--222. [ bib | DOI | Url ]
[107] Roberto Di Cosmo, Jacopo Mauro, Stefano Zacchiroli, and Gianluigi Zavattaro. Aeolus: A component model for the cloud. Information and Computation, 239:100--121, 2014. [ bib | DOI | Url ]
[108] Pietro Abate, Roberto Di Cosmo, Louis Gesbert, Fabrice Le Fessant, Ralf Treinen, and Stefano Zacchiroli. Mining component repositories for installability issues. In Penta et al. [114], pages 24--33. [ bib | DOI | Url ]
[109] Maëlick Claes, Tom Mens, Roberto Di Cosmo, and Jérôme Vouillon. A historical analysis of debian package incompatibilities. In Penta et al. [114], pages 212--223. [ bib | DOI | Url ]
[110] Roberto Di Cosmo, Michael Lienhardt, Jacopo Mauro, Stefano Zacchiroli, Gianluigi Zavattaro, and Jakub Zwolakowski. Automatic application deployment in the cloud: from practice to theory and back (invited paper). In Aceto and de Frutos-Escrig [115], pages 1--16. [ bib | DOI | Url ]
[111] Roberto Di Cosmo. Reprenons le contrôle de nos données. Journal du CNRS, 14April 2015. [ bib | Url ]
[112] Pankaj Jalote, Lionel C. Briand, and André van der Hoek, editors. 36th International Conference on Software Engineering, ICSE '14, Hyderabad, India - May 31 - June 07, 2014. ACM, 2014. [ bib | Url ]
[113] Ivica Crnkovic, Marsha Chechik, and Paul Grünbacher, editors. ACM/IEEE International Conference on Automated Software Engineering, ASE '14, Vasteras, Sweden - September 15 - 19, 2014. ACM, 2014. [ bib | Url ]
[114] Massimiliano Di Penta, Martin Pinzger, and Romain Robbes, editors. 12th IEEE/ACM Working Conference on Mining Software Repositories, MSR 2015, Florence, Italy, May 16-17, 2015. IEEE, 2015. [ bib | Url ]
[115] Luca Aceto and David de Frutos-Escrig, editors. 26th International Conference on Concurrency Theory, CONCUR 2015, Madrid, Spain, September 1.4, 2015, volume 42 of LIPIcs. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 2015. [ bib | Url ]
[116] Roberto Di Cosmo. Software heritage: pourquoi et comment construire l'archive universelle du code source. 1024, (10):67--72, May 2017. Bulletin de la Société Informatique de France. [ bib | Url ]
[117] Pietro Abate and Roberto Di Cosmo. Adoption of academic tools in open source communities: the Debian case study. In OSS 2017, pages 139--150. Springer, May 2017. [ bib ]
[118] Tong Liu, Roberto Di Cosmo, Maurizio Gabbrielli, and Jacopo Mauro. Nightsplitter: A scheduling tool to optimize (sub)group activities. In Beck [119], pages 370--386. [ bib | DOI | Url ]
[119] J. Christopher Beck, editor. Principles and Practice of Constraint Programming - 23rd International Conference, CP 2017, Melbourne, VIC, Australia, August 28 - September 1, 2017, Proceedings, volume 10416 of Lecture Notes in Computer Science. Springer, 2017. [ bib | DOI | Url ]
[120] Benjamin Canou, Roberto Di Cosmo, and Grégoire Henry. Scaling up functional programming education: under the hood of the ocaml MOOC. PACMPL, 1(ICFP):4:1--4:25, 2017. [ bib | DOI | Url ]
[121] Roberto Di Cosmo and Valérie Schafer. Le logiciel libre, de l'usage à la recherche. 1024, (11):39--52, September 2017. Bulletin de la Société Informatique de France. [ bib | Url ]
[122] Roberto Di Cosmo. Software heritage : pourquoi et comment construire la grande bibliothèque du code source. Entreprises et histoire, 2(87):69--75, 2017. [ bib | DOI | Url ]
[123] Barborini Yannick, Roberto Di Cosmo, Antoine R. Dumont, Morane Gruenpeter, Bruno P Marmol, Alain Monteil, Jozefina Sadowska, and Stefano Zacchiroli. La création du nouveau type de dépôt scientifique - Le logiciel. JSO 2018 - 7es journées Science Ouverte Couperin : 100 access : initiatives pour une transition réussie, January 2018. Poster. [ bib | Url | Pdf ]
[124] Roberto Di Cosmo and Stefano Zacchiroli. Software heritage: Why and how to preserve software source code. In Proceedings of the 14th International Conference on Digital Preservation, iPRES 2017, Kyoto, Japan, September 2017. Available from https://hal.archives-ouvertes.fr/hal-01590958. [ bib | Url ]
[125] Roberto Di Cosmo. Software heritage: Collecting, preserving, and sharing all our source code (keynote). In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, ASE 2018, pages 1--2, New York, NY, USA, 2018. ACM. [ bib | DOI | Url ]
[126] Roberto Di Cosmo, Morane Gruenpeter, and Stefano Zacchiroli. Identifiers for digital objects: the case of software source code preservation. In Proceedings of the 15th International Conference on Digital Preservation, iPRES 2018, Boston, USA, September 2018. Available from https://hal.archives-ouvertes.fr/hal-01865790. [ bib | Url ]
[127] Jean-François Abramatic, Roberto Di Cosmo, and Stefano Zacchiroli. Building the universal archive of source code. Commun. ACM, 61(10):29--31, September 2018. [ bib | DOI | Url ]
[128] Roberto Di Cosmo. Software heritage: que faire avec tout le code source du monde? In Rousset and Boudjeloud-Assala [129], pages 5--6. [ bib | Url ]
[129] Marie-Christine Rousset and Lydia Boudjeloud-Assala, editors. Extraction et Gestion des connaissances, EGC 2019, Metz, France, January 21-25, 2019, volume E-35 of RNTI. Hermann-Éditions, 2019. [ bib | Url ]
[130] Pierre Alliez, Roberto Di Cosmo, Benjamin Guedj, Alain Girault, Mohand-Said Hacid, Arnaud Legrand, and Nicolas Rougier. Attributing and referencing (research) software: Best practices and outlook from inria. Computing in Science and Engineering, 22(1):39--52, Jan 2020. Available from https://hal.archives-ouvertes.fr/hal-02135891. [ bib | DOI ]
Software is a fundamental pillar of modern scientific research, across all fields and disciplines. However, there is a lack of adequate means to cite and reference software due to the complexity of the problem in terms of authorship, roles, and credits. This complexity is further increased when it is considered over the lifetime of a software that can span up to several decades. Building upon the internal experience of Inria, the French research institute for digital sciences, we provide in this article a contribution to the ongoing efforts in order to develop proper guidelines and recommendations for software citation and reference. Namely, we recommend: first, a richer taxonomy for software contributions with a qualitative scale; second, to put humans at the heart of the evaluation; and third, to distinguish citation from reference.
[131] Roberto Di Cosmo, Morane Gruenpeter, and Stefano Zacchiroli. Referencing source code artifacts: a separate concern in software citation. Computing in Science and Engineering, 22(2):33--43, 2020. [ bib | DOI ]
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.
[132] Roberto Di Cosmo and Marco Danelutto. [Rp] Reproducing and replicating the OCamlP3l experiment. ReScience C, 6(1):#2, April 2020. [ bib | DOI | Url ]
This article provides a full report on the effort to reproduce the work described in the article “Parallel Functional Programming with Skeletons: the OCamlP3L experiment”, written in 1998. It presented OCamlP3L, a parallel programming system written in the OCaml programming language. It turns out that we found the source code of the OCamlP3L system only in Software Heritage: since it was saved with all its development history, we could perform this reproduction experiment.
[133] Guillaume Rousseau, Roberto Di Cosmo, and Stefano Zacchiroli. Software provenance tracking at the scale of public source code. Empirical Software Engineering, 25(4):2930--2959, 2020. [ bib | DOI | Url ]
[134] Pietro Abate, Roberto Di Cosmo, Georgios Gousios, and Stefano Zacchiroli. Dependency solving is still hard, but we are getting better at it. In Kostas Kontogiannis, Foutse Khomh, Alexander Chatzigeorgiou, Marios-Eleftherios Fokaefs, and Minghui Zhou, editors, 27th IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2020, London, ON, Canada, February 18-21, 2020, pages 547--551. IEEE, 2020. [ bib | DOI | Url ]
[135] Roberto Di Cosmo. Archiving and referencing source code with software heritage. In ICMS, volume 12097 of Lecture Notes in Computer Science, pages 362--373. Springer, 2020. [ bib | DOI ]
[136] Roberto Di Cosmo, Morane Gruenpeter, Bruno Marmol, Alain Monteil, Laurent Romary, and Jozefina Sadowska. Curated archiving of research software artifacts: Lessons learned from the french open archive (HAL). International Journal of Digital Curation, 15(1):16, August 2020. [ bib | DOI | Url ]
[137] Mélanie Clément-Fontaine, Roberto Di Cosmo, Bastien Guerry, Patrick Moreau, and François Pellegrini. Encouraging a wider usage of software derived from research. Research report, Committee for Open Science's Free Software and Open Source Project Group, November 2019. [ bib | Url | Pdf ]
[138] Roberto Di Cosmo. Announcing biblatex-software. ACM SIGSOFT Software Engineering Notes, 45(4):22--23, October 2020. [ bib | DOI | Url ]
[139] Roberto Di Cosmo. À travers le miroir d'une bibliographie. Le médiéviste et l'ordinateur, N35, été 1997. Bibliographies., 1997. [ bib | DOI ]
[140] Roberto Di Cosmo, Jose Benito Gonzalez Lopez, Jean-François Abramatic, Kay Graf, Miguel Colom, Paolo Manghi, Melissa Harrison, Yannick Barborini, Ville Tenhunen, Michael Wagner, Wolfgang Dalitz, Jason Maassen, Carlos Martinez-Ortiz, Elisabetta Ronchieri, Sam Yates, Moritz Schubotz, Leonardo Candela, Martin Fenner, and Eric Jeangirard. Scholarly Infrastructures for Research Software. European Commission. Directorate General for Research and Innovation., 2020. [ bib | DOI | Url ]
[141] Morane Gruenpeter, Roberto Di Cosmo, Alice Allen, Anita Bandrowski, Peter Chan, Martin Fenner, Leyla Garcia, Catherine M. Jones, Daniel S. Katz, John Kunze, Moritz Schubotz, and Ilian T. Todorov. Use cases and identifier schemes for persistent software source code identification. Technical report, October 2020. Output from the Research Data Alliance/FORCE11 Software Source Code Identification Working group. [ bib | DOI | Url ]
[142] Roberto Di Cosmo. Software Heritage, une archive pour collecter et préserver le code source. Bulletin des Bibliothèques de France, 2021. [ bib | Url ]
[143] Roberto Di Cosmo. Le code source des logiciels. Patrimoine Industriel, (73), December 2018. [ bib | Url ]
[144] Roberto Di Cosmo. Software Heritage, the universal source code archive. Enjeux Numériques, (10), June 2020. [ bib | Url ]
[145] Roberto Di Cosmo, Carlo Montangero, Guido Scatena, and Laura Bussi. Preserving landmark legacy software with the Software Heritage Acquisition Process. In iPres2021 - 17th International Conference on Digital Preservation, Beijing, China, 2021. [ bib | Url ]
[146] Cagdas Bozman, Benjamin Canou, Roberto Di Cosmo, Pierrick Couderc, Louis Gesbert, Grégoire Henry, Fabrice Le Fessant, Michel Mauny, Carine Morel, Loïc Peyrot, and Yann Regis-Gianas. Learn-OCaml : un assistant à l'enseignement d'OCaml. In JFLA 2019 - Journées Francophones des Langages Applicatifs, Les Rousses, France, January 2019. [ bib | Url | Pdf ]
[147] Morane Gruenpeter, Roberto Di Cosmo, Katherine Thornton, Kenneth Seals-Nutt, Carlo Montangero, and Guido Scatena. Software Stories for landmark legacy code. Research report, Inria, November 2021. [ bib | Url | Pdf ]
[148] Roberto Di Cosmo. Code Source. In Dictionnaire du Numérique. February 2022. English version available at http://www.dicosmo.org/Articles/2022-02-code-source_EN.pdf. [ bib | Url | Pdf ]
[149] Roberto Di Cosmo. What is a sustainable path to open access?, Jan 2020. [ bib | Url ]
[150] Roberto Di Cosmo. Should we preserve the world's software history, and can we? In Gianmaria Silvello, Óscar Corcho, Paolo Manghi, Giorgio Maria Di Nunzio, Koraljka Golub, Nicola Ferro, and Antonella Poggi, editors, Linking Theory and Practice of Digital Libraries - 26th International Conference on Theory and Practice of Digital Libraries, TPDL 2022, Padua, Italy, September 20-23, 2022, Proceedings, volume 13541 of Lecture Notes in Computer Science, pages 3--7. Springer, 2022. [ bib | DOI | Url ]
[151] Roberto Di Cosmo. Construire le pilier logiciel de la Science Ouverte. In Open Science European Conferencem (OSEC 2022), pages 183--193. OpenEdition Press, 2022. [ bib | DOI | Url ]
[152] Roberto Di Cosmo. Building the software pillar of Open Science. In Open Science European Conferencem (OSEC 2022), pages 183--193. OpenEdition Press, 2022. English translation of  [151]. [ bib | DOI | Url ]
[153] Daniel Le Berre, Jean-Yves Jeannas, Roberto Di Cosmo, and François Pellegrini. Forges de l'Enseignement supérieur et de la Recherche -Définition, usages, limitations rencontrées et analyse des besoins. Technical report, Comité pour la science ouverte, 2023. [ bib | DOI | Url | Pdf ]
La première forge logicielle, appelée SourceForge, a été lancée en 1999 et a été conçue pour aider les développeurs de logiciels libres à créer leurs logiciels en collaboration et à les distribuer à leurs utilisateurs. Depuis lors, les forges logicielles sont devenues des outils essentiels pour tous les développeurs de logiciels. Elles disposent d'outils de développement collaboratif (suivi des modifications du code, gestion des tickets utilisateurs, des contributions et des projets) et industrialisent le processus de création de logiciels à partir de leurs codes sources (compilation, tests automatisés, assurance qualité et distribution des livrables) et d'outils de communication tels que les forums. Les forges logicielles agissent également comme des réseaux sociaux pour les développeurs. Lorsque les développeurs souhaitent encourager les gens à utiliser les logiciels et à y contribuer, ils doivent décider de la forge à choisir en fonction du public cible et du réseau. Cibler les développeurs de l'enseignement supérieur et de la recherche en France ou à l'étranger est une option potentielle. Il existe un certain nombre de fédérations d'identité telles que RENATER ou eduGAIN qui ont apporté un soutien à long terme à ces collaborations. Un certain nombre de forges de l'enseignement supérieur et de la recherche donnent accès à ces réseaux de collaboration. Si un développeur souhaite ouvrir et partager les codes sources issus de la recherche avec la société dans son ensemble, deux solutions s'offrent à lui : les forges communautaires à source ouverte ou les forges commerciales. Les forges communautaires à code source ouvert peuvent être utilisées pour distribuer des logiciels à code source ouvert au sein d'une communauté qui a coopéré avec les autres membres de la communauté.
[154] Valentin Lorentz, Roberto Di Cosmo, and Stefano Zacchiroli. The Popular Content Filenames Dataset: Deriving Most Likely Filenames from the Software Heritage Archive. Technical report, July 2023. preprint. [ bib | Url | Pdf ]
[155] Daniel Le Berre, Jean-Yves Jeannas, Roberto Di Cosmo, and François Pellegrini. Higher Education and Research Forges in France - Definition, uses, limitations encountered and needs analysis. Technical report, Comité pour la science ouverte, May 2023. English translation of  [153]. [ bib | DOI | Url | Pdf ]
The first software forge, called SourceForge, was launched in 1999, and was designed to help open-source software developers build their software collaboratively and distribute it to their users. Since then, software forges have become vital tools for all software developers. They feature collaborative development tools (for monitoring code modifications, and managing user tickets, contributions and projects) and they industrialise the process of creating software from their source codes (compilation, automated tests, quality assurance and distribution of deliverables) and communications tools such as forums. Software forges also act as social networks for developers. Whenever developers want to encourage people to use and make contributions to software, they need to come to a decision about which forge to choose based on the target audience and network. Targeting Higher Education and Research developers in France or abroad is one potential option. There are a number of identity federations such as RENATER or eduGAIN which have been providing long-term support for these collaborations. A number of Higher Education and Research forges provide access to these collaboration networks. Should a developer wish to open and share source codes coming from research with the wider society, there are two alternatives available to them - open-source community or commercial forges. Open-source community forges can be used to distribute open-source software within a community which has co-opted it. The challenge here lies in finding the right community for the software under development. Commercial forges boast many features with very few constraints, and often offer a range of services when the developed software is distributed under an open-source licence. Thesecommercial forges include GitHub (owned by Microsoft), which is the most widely used, followed by BitBucket (owned by Atlassian) and GitLab (owned by GitLab Inc.). Some forges, be they community-based or commercial, such as GitLab, can be self-hosted by Higher Education and Research Institutions, some of which have their own public forge. This report lists 40 of these types of forge as well as the forges for internal use only. These self-hosted forges are often easy to install, ranging from a simple executable for solutions such as Gogs, Gitea and Forgejo to a preconfigured software package integrated into Linux distribution for GitLab, for example. GitLab is basically a commercial forge (gitlab.com) based on open-source forge software that can be installed on iipremise. GitLab Inc.’s financial model is based on selling licences for additional features to be used by online-service users or self-hosted forge administrators. In reality, installing a self-hosted forge for internal collaborative development requires few human or material resources, and offers a wide range of solutions. However, as soon as developers want take this collaborative development externally, integrate solutions to industrialise software development and implement good development practice, more substantial efforts are needed, and the choice of solution may be led by different criteria such as the platform’s popularity, its functionalities and how robust it is. In Higher Education and Research, developers of supporting software and software based on research work can choose between a number of forges to host their software. The simplest solution is when their institution has its own forge, particularly if no interaction is needed outside the institution. When wider interaction is required, communities developing research software often look to online commercial forges. This is reflected by the winners of the first french open science open-source research software award laureates, with 9 projects being hosted on GitHub and one project on SourceForge. The social network effect of “people go where most people are” and the international scope of the projects were the reasons for their selection. However, it really should be noted that commercial forges can suddenly disappear, as was the case with the Google forge, Google Code, which ceased operation after nine years presence in just a matter of months. The same thing happened with the Gitorious hosting solution. In addition, these forges have terms and conditions of use which each member must agree to as an individual, rather than on behalf of their institution. Self-hosted forges are one way of mitigating this kind of problem. However, it may be the case that the solution selected is no longer being maintained, or no longer developed under an open-source licence. This is what happened with the SourceForge code, and it was maintained in a community version under the name “GForge”, which has itself changed licences to enable it to be maintained in a community version under the name “FusionForge”, to now end up now with an unmaintained software (the latest version of the software dates back to 2018). Therefore, decisions around self-hosting and which forge to use are important. Of the 40 forges listed,38 are GitLab platforms (the other two forges use Tuleap and Gogs respectively). GitLab’s domination can be explained by how easy it is to install and maintain, and the wide range of functionalities which are available. Hence the interest in having a specific Higher Education and Research forge operating at any level (institutional, national, European or international). InHigher Education and Research Forges in France iiistitutional forges are the answer when software is being developed internally within an institution and an institutional forge already exists. In this case, the functionalities available and access to data are managed, but they offer little or no scope for development between multiple institutions. Where an institutional forge does not already exist or does not allow project owners to invite contributions from outside the institution, a national or European forge would provide an alternative to using commercial forges. Throughout the mid-2000s, a french national forge, SourceSup, was set up by RENATER (which manage the national electronic communications network for technology, education and research) in order to get around these restrictions on interaction. However, this forge, which was a state-of-the-art platform when it was created, now only offers a set of tools that have fallen behind current development standards. This report provides a comprehensive picture of the existing forges and practices in Higher Education and Research in France, and posits a number of observations and points of concern as regards the current situation.
[156] Manuel Carro, Stefano Bistarelli, Roberto Di Cosmo, and Alfonso Pierantonio. Open Access: Status and Recommendations. Technical report, Informatics Europe, May 2023. [ bib | Url ]
This document summarizes the evolution of scientific publication models towards providing open access to research results and makes recommendations from an academic standpoint on future action paths. This document has been endorsed by the National Informatics Associations that are members of Informatics Europe at the time of publishing it.
[157] Roberto Di Cosmo and Stefano Zacchiroli. The Software Heritage Open Science Ecosystem, pages 33--61. Springer International Publishing, Cham, 2023. [ bib | DOI | Url ]
Software Heritage is the largest public archive of software source code and associated development history, as captured by modern version control systems. As of July 2023, it has archived more than 16 billion unique source code files coming from more than 250 million collaborative development projects. In this chapter, we describe the Software Heritage ecosystem, focusing on research and open science use cases.
[158] Isabelle Blanc Catala, Roberto Di Cosmo, Mathieu Giraud, Daniel Le Berre, Violaine Louvet, and Sophie Renaudin. Establishing a national research software award. Open Research Europe, 3:185, October 2023. Version 1, submitted for review. [ bib | DOI | Url ]
[159] Mathilde Fichen, Roberto DiCosmo, and Gérard Giraudon. Preserving Inria's Legacy Software: A Crowd-Sourced Approach. iPRES 2024, aug 29 2024. [ bib | Url ]

This file was generated by

bibtex2html 1.99.