Free/Open Source Software: scientific and technological challenges for complex systems engineering
|
|
- Cordelia Garrison
- 5 years ago
- Views:
Transcription
1 Free/Open Source Software: scientific and technological challenges for complex systems engineering Roberto Di Cosmo Laboratoire Preuves Programmes et Systèmes Université Paris Diderot Paris 7 Paris, France and INRIA May 17th 2010 Journées Inria-Industrie, Toulouse Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 1 / 38
2 Outline 1 The Open Source Infrastructure and its Complexity 2 Coccinelle 3 Mancoosi 4 IRILL: research and innovation on Free Software Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 2 / 38
3 Outline 1 The Open Source Infrastructure and its Complexity 2 Coccinelle 3 Mancoosi 4 IRILL: research and innovation on Free Software Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 3 / 38
4 Reminder: FOSS free (as in free beer, or gratuit) software which has not to be payed (today) free (as in free speech, or libre) software granting 4 freedoms to its users: 1 0 freedom to use the software 1 freedom to study the source code of the software and to adapt it to user needs 2 freedom to distribute software copies 3 freedom to distribute modified software copies two points of view: the freedom one as outlined above ( free software ), the technical one pivoting around source code availability ( open source ) 1 there are of course also obligations, which vary according to the license: GPL, BSD, Mozilla, MIT/X, AGPL,... Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 4 / 38
5 Challenges and opportunities FOSS is radically changing the way software is conceived, developed, maintained, deployed, tested, proven, marketed and sold. Reminder: economics : the study of how society chooses to allocate scarce resources to produce, exchange, and consume goods and services. Ruffin, Gregory, Principles of Economics, 1990 proprietary software Without scarcity, there is no economy. based on an artificial scarcity of copies of a piece of software... free software removes the scarcity of copies, exposing the other scarce resources: know-how, infrastructure, process, industrialization, customization skills etc. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 5 / 38
6 Challenges and opportunities FOSS is radically changing the way software is conceived, developed, maintained, deployed, tested, proven, marketed and sold. Reminder: economics : the study of how society chooses to allocate scarce resources to produce, exchange, and consume goods and services. Ruffin, Gregory, Principles of Economics, 1990 proprietary software Without scarcity, there is no economy. based on an artificial scarcity of copies of a piece of software... free software removes the scarcity of copies, exposing the other scarce resources: know-how, infrastructure, process, industrialization, customization skills etc. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 5 / 38
7 Challenges and opportunities FOSS is radically changing the way software is conceived, developed, maintained, deployed, tested, proven, marketed and sold. Reminder: economics : the study of how society chooses to allocate scarce resources to produce, exchange, and consume goods and services. Ruffin, Gregory, Principles of Economics, 1990 proprietary software Without scarcity, there is no economy. based on an artificial scarcity of copies of a piece of software... free software removes the scarcity of copies, exposing the other scarce resources: know-how, infrastructure, process, industrialization, customization skills etc. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 5 / 38
8 Challenges and opportunities FOSS is radically changing the way software is conceived, developed, maintained, deployed, tested, proven, marketed and sold. Reminder: economics : the study of how society chooses to allocate scarce resources to produce, exchange, and consume goods and services. Ruffin, Gregory, Principles of Economics, 1990 proprietary software Without scarcity, there is no economy. based on an artificial scarcity of copies of a piece of software... free software removes the scarcity of copies, exposing the other scarce resources: know-how, infrastructure, process, industrialization, customization skills etc. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 5 / 38
9 Challenges and opportunities FOSS is radically changing the way software is conceived, developed, maintained, deployed, tested, proven, marketed and sold. Reminder: economics : the study of how society chooses to allocate scarce resources to produce, exchange, and consume goods and services. Ruffin, Gregory, Principles of Economics, 1990 proprietary software Without scarcity, there is no economy. based on an artificial scarcity of copies of a piece of software... free software removes the scarcity of copies, exposing the other scarce resources: know-how, infrastructure, process, industrialization, customization skills etc. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 5 / 38
10 Some numbers that say it all IT Market World: 550 billions euros in 2007 France: 30 billions euros in 2007 FLOSSImpact: LL = 30% of the world IT market in 2012 Gartner: Mark Driver, sept in 2011, 80% of commercial software contain Open Source... 49,7% of critical software come from Open Source France PAC 2008 study: 1st country of OCDE for FOSS LL = 3,6% of French IT market (1105Me, +32%!) OPIIEC 2008 study: LL strategic, but we miss education in Computer Science and Free Software Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 6 / 38
11 Complex Software Systems Complex software systems are built from large number of components, which have to be deployed together; the most challenging are those that change frequently. The free/open source software (FOSS) infrastructure is a complex system archetype: no central authority / software architect quick (release early, release often) and distributed development strong component interdependency large code bases freely accessible (for developers, students, researchers,... ) Complexity arises at different levels... Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 7 / 38
12 FOSS: complex software... [ kernel mapper project ] Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 8 / 38
13 ... with superlinear growth [ Robles et al. ] Bad news: any change in core system API propagates in thousands of different call sites!good news: the Coccinelle project is building novel abstractions to master the problem. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 9 / 38
14 ... with superlinear growth [ Robles et al. ] Bad news: any change in core system API propagates in thousands of different call sites!good news: the Coccinelle project is building novel abstractions to master the problem. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 9 / 38
15 FOSS: complex interdependencies... Components Proposed 1968 by Douglas McIlroy as a remedy to the software crisis. Some Characteristics of Components: 1 Multiple-use 2 Encapsulated 3 A unit of independent deployment and versioning 4 Composable with other components Problem: Interaction between (3) and (4). GNU/Linux distributions are among the largest component based systems today! Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 10 / 38
16 FOSS: complex interdependencies... Components Proposed 1968 by Douglas McIlroy as a remedy to the software crisis. Some Characteristics of Components: 1 Multiple-use 2 Encapsulated 3 A unit of independent deployment and versioning 4 Composable with other components Problem: Interaction between (3) and (4). GNU/Linux distributions are among the largest component based systems today! Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 10 / 38
17 FOSS: complex interdependencies... Components Proposed 1968 by Douglas McIlroy as a remedy to the software crisis. Some Characteristics of Components: 1 Multiple-use 2 Encapsulated 3 A unit of independent deployment and versioning 4 Composable with other components Problem: Interaction between (3) and (4). GNU/Linux distributions are among the largest component based systems today! Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 10 / 38
18 Inter-package relationships are complex... [ EDOS project ] Package: gnubg Version: Depends: gnubg-data, ttf-bitstream-vera, libartsc0 (>= ),..., libgl1-mesa-glx libgl1,... Conflicts:... And this changes everyday! Bad news: pulling our component out of the spaghetti dish is an NP-complete problem! Good news: the EDOS and Mancoosi projects have attacked the core of the dependency resolution phase, using formal methods to formalize and address them. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 11 / 38
19 Inter-package relationships are complex... [ EDOS project ] Package: gnubg Version: Depends: gnubg-data, ttf-bitstream-vera, libartsc0 (>= ),..., libgl1-mesa-glx libgl1,... Conflicts:... And this changes everyday! Bad news: pulling our component out of the spaghetti dish is an NP-complete problem! Good news: the EDOS and Mancoosi projects have attacked the core of the dependency resolution phase, using formal methods to formalize and address them. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 11 / 38
20 Complex software in industry, ten years from now Free Software is making software artefacts transparent: no artificial barriers among architectural layers... theoretical possibility to follow the flow of computation from the more abstract layers down to the moving bits in the hardware new levels of quality assurance and certification can be expected this is not easy: we need new theory and new tools it will take time, effort and good cooperation between industrial partners, higher education and research actors Industry need to invest in Free Software fundamental research: the sooner, the better. In the air&space Industry, you (should) know all this quite well. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 12 / 38
21 Complex software in industry, ten years from now Free Software is making software artefacts transparent: no artificial barriers among architectural layers... theoretical possibility to follow the flow of computation from the more abstract layers down to the moving bits in the hardware new levels of quality assurance and certification can be expected this is not easy: we need new theory and new tools it will take time, effort and good cooperation between industrial partners, higher education and research actors Industry need to invest in Free Software fundamental research: the sooner, the better. In the air&space Industry, you (should) know all this quite well. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 12 / 38
22 Complex software in industry, ten years from now Free Software is making software artefacts transparent: no artificial barriers among architectural layers... theoretical possibility to follow the flow of computation from the more abstract layers down to the moving bits in the hardware new levels of quality assurance and certification can be expected this is not easy: we need new theory and new tools it will take time, effort and good cooperation between industrial partners, higher education and research actors Industry need to invest in Free Software fundamental research: the sooner, the better. In the air&space Industry, you (should) know all this quite well. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 12 / 38
23 Complex software in industry, ten years from now Free Software is making software artefacts transparent: no artificial barriers among architectural layers... theoretical possibility to follow the flow of computation from the more abstract layers down to the moving bits in the hardware new levels of quality assurance and certification can be expected this is not easy: we need new theory and new tools it will take time, effort and good cooperation between industrial partners, higher education and research actors Industry need to invest in Free Software fundamental research: the sooner, the better. In the air&space Industry, you (should) know all this quite well. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 12 / 38
24 Complex software in industry, ten years from now Free Software is making software artefacts transparent: no artificial barriers among architectural layers... theoretical possibility to follow the flow of computation from the more abstract layers down to the moving bits in the hardware new levels of quality assurance and certification can be expected this is not easy: we need new theory and new tools it will take time, effort and good cooperation between industrial partners, higher education and research actors Industry need to invest in Free Software fundamental research: the sooner, the better. In the air&space Industry, you (should) know all this quite well. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 12 / 38
25 Complex software in industry, ten years from now Free Software is making software artefacts transparent: no artificial barriers among architectural layers... theoretical possibility to follow the flow of computation from the more abstract layers down to the moving bits in the hardware new levels of quality assurance and certification can be expected this is not easy: we need new theory and new tools it will take time, effort and good cooperation between industrial partners, higher education and research actors Industry need to invest in Free Software fundamental research: the sooner, the better. In the air&space Industry, you (should) know all this quite well. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 12 / 38
26 Complex software in industry, ten years from now Free Software is making software artefacts transparent: no artificial barriers among architectural layers... theoretical possibility to follow the flow of computation from the more abstract layers down to the moving bits in the hardware new levels of quality assurance and certification can be expected this is not easy: we need new theory and new tools it will take time, effort and good cooperation between industrial partners, higher education and research actors Industry need to invest in Free Software fundamental research: the sooner, the better. In the air&space Industry, you (should) know all this quite well. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 12 / 38
27 Two concrete examples of what can be done We will now focus on a short highlight of two ongoing research actions at each of the two levels of complexity: managing complexity for a big software component : the Coccinelle project and the Linux kernel managing complexity for a big software component collection : the Mancoosi project and the GNU/Linux distributions Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 13 / 38
28 Outline 1 The Open Source Infrastructure and its Complexity 2 Coccinelle 3 Mancoosi 4 IRILL: research and innovation on Free Software Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 14 / 38
29 Coccinelle: flexible abstractions to master collateral evolutions Thanks to Gilles Muller and Julia Lawall for the following slides. See for more information. The collateral evolution problem: Library functions change. Client code must be adapted. Change a function name, add an argument, etc. Linux context: Many libraries: usb, net, etc. Very many clients, including outside the Linux source tree. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 15 / 38
30 Coccinelle: flexible abstractions to master collateral evolutions Thanks to Gilles Muller and Julia Lawall for the following slides. See for more information. The collateral evolution problem: Library functions change. Client code must be adapted. Change a function name, add an argument, etc. Linux context: Many libraries: usb, net, etc. Very many clients, including outside the Linux source tree. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 15 / 38
31 An example Evolution: A new function: kzalloc = Collateral evolution: Merge kmalloc and memset into kzalloc fh = kmalloc(sizeof(struct zoran fh), GFP_KERNEL); if (!fh) { dprintk(1, KERN_ERR "%s: zoran open(): allocation of zoran fh failed\n", ZR_DEVNAME(zr)); return -ENOMEM; } memset(fh, 0, sizeof(struct zoran fh)); Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 16 / 38
32 An example Evolution: A new function: kzalloc = Collateral evolution: Merge kmalloc and memset into kzalloc fh = kzalloc(sizeof(struct zoran fh), GFP_KERNEL); if (!fh) { dprintk(1, KERN_ERR "%s: zoran open(): allocation of zoran fh failed\n", ZR_DEVNAME(zr)); return -ENOMEM; } memset(fh, 0, sizeof(struct zoran fh)); Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 17 / 38
33 A simple semantic patch Abstract away the details of a expression x; expression - x = kmalloc(e1,e2); + x = kzalloc(e1,e2);... - memset(x, 0, E1); A single snippet... updates 355/564 files! Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 18 / 38
34 Coccinelle architecture Semantic patch C code AX(A[(ϕ 1 ϕ 2 )Uϕ 3 ]...) CTL formula Control Flow Graph Model checking algorithm Identification of the nodes to be modified Modification of the identified code Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 19 / 38
35 Practical results Collateral evolutions Semantic patches for over 60 collateral evolutions. Applied to over 5800 Linux files from various versions, with a success rate of 100% on 93% of the files. Bug finding Generic bug types: Null dereference, initialization of unused variables, etc. Bugs in the use of Linux APIs: Incoherent error checking, memory leaks, etc. Over 450 patches created using Coccinelle accepted into Linux Starting to be used by other Linux developers Probable bugs found in gcc, postgresql, vim, amsn, pidgin, mplayer Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 20 / 38
36 Outline 1 The Open Source Infrastructure and its Complexity 2 Coccinelle 3 Mancoosi 4 IRILL: research and innovation on Free Software Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 21 / 38
37 Mancoosi: upgrading GNU/Linux distributions How do you compose a system by selecting components from dozens of thousands developend independently? A new idea from FLOSS: GNU/Linux distributions as intermediaries between FOSS projects and their users Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 22 / 38
38 Mancoosi: upgrading GNU/Linux distributions How do you compose a system by selecting components from dozens of thousands developend independently? A new idea from FLOSS: GNU/Linux distributions as intermediaries between FOSS projects and their users Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 22 / 38
39 Distributions: a somehow successful idea... Central notion in distributions (to abstract over the complex underlying infrastructure): package, together with package management software... Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 23 / 38
40 Packages, metadata, installation Package = { some files some scripts metadata Identification Inter-package rel. Dependencies Conflicts Feature declarations Other Package maintainer Textual descriptions... Example Package: aterm Version: Section: x11 Installed-Size: 280 Maintainer: Göran Weinholt... Architecture: i386 Depends: libc6 (>= ds1-4), libice6 xlibs (>> 4.1.0),... Conflicts: suidmanager (<< 0.50) Provides: x-terminal-emulator... a package is the elemental component of modern distribution systems (not GNU/Linux specific) a working system is deployed by installing a package set ( 1000/2000 for GNU/Linux distro) Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 24 / 38
41 Installation process Phase User request Constraint resolution Package retrieval Trace # apt-get install aterm Reading package lists... Done Building dependency tree... Done The following extra packages will be installed: libafterimage0 The following NEW packages will be installed aterm libafterimage0 0 upgraded, 2 newly installed, 0 to remove and 1786 not upgraded. Need to get 386kB of archives. After unpacking 807kB of additional disk space will be used. Do you want to continue [Y/n]? Y Get: 1 testing/main libafterimage [301kB] Get: 2 testing/main aterm [84.4kB] Fetched 386kB in 0s (410kB/s) Pre-configuration { Selecting previously deselected package libafterimage0. (Reading database files and directories currently installed.) Unpacking libafterimage0 (from.../libafterimage0_ _i386.deb)... Unpacking Selecting previously deselected package aterm. Unpacking aterm (from.../aterm_ _i386.deb)... { Setting up libafterimage0 ( )... Configuration Setting up aterm ( )... each phase can fail (it actually happens quite often... ) efforts should be made to identify errors as early as possible Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 25 / 38
42 Installation process Phase User request Constraint resolution Package retrieval Trace # apt-get install aterm Reading package lists... Done Building dependency tree... Done The following extra packages will be installed: libafterimage0 The following NEW packages will be installed aterm libafterimage0 0 upgraded, 2 newly installed, 0 to remove and 1786 not upgraded. Need to get 386kB of archives. After unpacking 807kB of additional disk space will be used. Do you want to continue [Y/n]? Y Get: 1 testing/main libafterimage [301kB] Get: 2 testing/main aterm [84.4kB] Fetched 386kB in 0s (410kB/s) Pre-configuration { Selecting previously deselected package libafterimage0. (Reading database files and directories currently installed.) Unpacking libafterimage0 (from.../libafterimage0_ _i386.deb)... Unpacking Selecting previously deselected package aterm. Unpacking aterm (from.../aterm_ _i386.deb)... { Setting up libafterimage0 ( )... Configuration Setting up aterm ( )... each phase can fail (it actually happens quite often... ) efforts should be made to identify errors as early as possible Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 25 / 38
43 Installation woes # sudo apt-get install debhelper Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: armagetron armagetron-common autoconf bonobo-activation codebreaker debconf debconf-i18n debconf-utils dialog esound-common fb-music-high fontconfig frozen-bubble-data grepmail gv intltool-debian libaiksaurus-data libaiksaurus0c102 libatk1.0-0 libatk1.0-dev libbonobo-activation4 libbonobo2-0 libbonobo2-common libdb3 libdbd-mysql-perl libdbi-perl libeel2-data libesd0... The following packages will be REMOVED: autoconf2.13 frozen-bubble frozen-bubble-lib gconf2 gnomemeeting itk3.1-dev libbonoboui2-0 libbonoboui2-common libdigest-md5-perl libforms0.89 libgconf2-4 libgnome2-0 libgnome2-common libgnomeui-0 libgnomevfs2-0 libgnomevfs2-common libgtk1.2-dev libgtk2.0-0png3 libgtk2.0-dev libmime-base64-perl libpango1.0-dev libsdl-mixer1.2-dev libsdl-perl libsdl-ttf1.2-dev libsdl1.2-dev libsmpeg-dev libstorable-perl nautilus tk8.3-dev tktable-dev x-window-system x-window-system-core xaw3dg-dev xlib6g xlib6g-dev xlibmesa-dev xlibmesa3 xlibosmesa3 xlibs-dev xlibs-pic xpdf xpdf-reader The following NEW packages will be installed: armagetron-common debconf-i18n fb-music-high fontconfig intltool-debian libaiksaurus-data libaiksaurus0c102 libeel2-data libfilehandle-unget-perl libfontconfig1 libforms1 libgdbm3 libgnutls7 libgsf-1 libice-dev libice6 libidl0 liblzo1 libmagick5.5.7 libmail-mbox-messageparser-perl libmysqlclient12 libncursesw5 libnet-daemon-perl libnewt0.51 libpaper1 libplrpc-perl libsdl-console packages upgraded, 80 newly installed, 42 to remove and 858 not upgraded. Need to get 67.1MB of archives. After unpacking 26.9MB will be used. Do you want to continue? [Y/n] Abort. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 26 / 38
44 Installation woes # sudo apt-get install debhelper Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: armagetron armagetron-common autoconf bonobo-activation codebreaker debconf debconf-i18n debconf-utils dialog esound-common fb-music-high fontconfig frozen-bubble-data grepmail gv intltool-debian libaiksaurus-data libaiksaurus0c102 libatk1.0-0 libatk1.0-dev libbonobo-activation4 libbonobo2-0 libbonobo2-common libdb3 libdbd-mysql-perl libdbi-perl libeel2-data libesd0... The following packages will be REMOVED: autoconf2.13 frozen-bubble frozen-bubble-lib gconf2 gnomemeeting itk3.1-dev libbonoboui2-0 libbonoboui2-common libdigest-md5-perl libforms0.89 libgconf2-4 libgnome2-0 libgnome2-common libgnomeui-0 libgnomevfs2-0 libgnomevfs2-common libgtk1.2-dev libgtk2.0-0png3 libgtk2.0-dev libmime-base64-perl libpango1.0-dev libsdl-mixer1.2-dev libsdl-perl libsdl-ttf1.2-dev libsdl1.2-dev libsmpeg-dev libstorable-perl nautilus tk8.3-dev tktable-dev x-window-system x-window-system-core xaw3dg-dev xlib6g xlib6g-dev xlibmesa-dev xlibmesa3 xlibosmesa3 xlibs-dev xlibs-pic xpdf xpdf-reader The following NEW packages will be installed: armagetron-common debconf-i18n fb-music-high fontconfig intltool-debian libaiksaurus-data libaiksaurus0c102 libeel2-data libfilehandle-unget-perl libfontconfig1 libforms1 libgdbm3 libgnutls7 libgsf-1 libice-dev libice6 libidl0 liblzo1 libmagick5.5.7 libmail-mbox-messageparser-perl libmysqlclient12 libncursesw5 libnet-daemon-perl libnewt0.51 libpaper1 libplrpc-perl libsdl-console packages upgraded, 80 newly installed, 42 to remove and 858 not upgraded. Need to get 67.1MB of archives. After unpacking 26.9MB will be used. Do you want to continue? [Y/n] Abort. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 26 / 38
45 Installation woes # sudo apt-get install debhelper Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: armagetron armagetron-common autoconf bonobo-activation codebreaker debconf debconf-i18n debconf-utils dialog esound-common fb-music-high fontconfig frozen-bubble-data grepmail gv intltool-debian libaiksaurus-data libaiksaurus0c102 libatk1.0-0 libatk1.0-dev libbonobo-activation4 libbonobo2-0 libbonobo2-common libdb3 libdbd-mysql-perl libdbi-perl libeel2-data libesd0... The following packages will be REMOVED: autoconf2.13 frozen-bubble frozen-bubble-lib gconf2 gnomemeeting itk3.1-dev libbonoboui2-0 libbonoboui2-common libdigest-md5-perl libforms0.89 libgconf2-4 libgnome2-0 libgnome2-common libgnomeui-0 libgnomevfs2-0 libgnomevfs2-common libgtk1.2-dev libgtk2.0-0png3 libgtk2.0-dev libmime-base64-perl libpango1.0-dev libsdl-mixer1.2-dev libsdl-perl libsdl-ttf1.2-dev libsdl1.2-dev libsmpeg-dev libstorable-perl nautilus tk8.3-dev tktable-dev x-window-system x-window-system-core xaw3dg-dev xlib6g xlib6g-dev xlibmesa-dev xlibmesa3 xlibosmesa3 xlibs-dev xlibs-pic xpdf xpdf-reader The following NEW packages will be installed: armagetron-common debconf-i18n fb-music-high fontconfig intltool-debian libaiksaurus-data libaiksaurus0c102 libeel2-data libfilehandle-unget-perl libfontconfig1 libforms1 libgdbm3 libgnutls7 libgsf-1 libice-dev libice6 libidl0 liblzo1 libmagick5.5.7 libmail-mbox-messageparser-perl libmysqlclient12 libncursesw5 libnet-daemon-perl libnewt0.51 libpaper1 libplrpc-perl libsdl-console packages upgraded, 80 newly installed, 42 to remove and 858 not upgraded. Need to get 67.1MB of archives. After unpacking 26.9MB will be used. Do you want to continue? [Y/n] Abort. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 26 / 38
46 Installation woes # sudo apt-get install debhelper Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: armagetron armagetron-common autoconf bonobo-activation codebreaker debconf debconf-i18n debconf-utils dialog esound-common fb-music-high fontconfig frozen-bubble-data grepmail gv intltool-debian libaiksaurus-data libaiksaurus0c102 libatk1.0-0 libatk1.0-dev libbonobo-activation4 libbonobo2-0 libbonobo2-common libdb3 libdbd-mysql-perl libdbi-perl libeel2-data libesd0... The following packages will be REMOVED: autoconf2.13 frozen-bubble frozen-bubble-lib gconf2 gnomemeeting itk3.1-dev libbonoboui2-0 libbonoboui2-common libdigest-md5-perl libforms0.89 libgconf2-4 libgnome2-0 libgnome2-common libgnomeui-0 libgnomevfs2-0 libgnomevfs2-common libgtk1.2-dev libgtk2.0-0png3 libgtk2.0-dev libmime-base64-perl libpango1.0-dev libsdl-mixer1.2-dev libsdl-perl libsdl-ttf1.2-dev libsdl1.2-dev libsmpeg-dev libstorable-perl nautilus tk8.3-dev tktable-dev x-window-system x-window-system-core xaw3dg-dev xlib6g xlib6g-dev xlibmesa-dev xlibmesa3 xlibosmesa3 xlibs-dev xlibs-pic xpdf xpdf-reader The following NEW packages will be installed: armagetron-common debconf-i18n fb-music-high fontconfig intltool-debian libaiksaurus-data libaiksaurus0c102 libeel2-data libfilehandle-unget-perl libfontconfig1 libforms1 libgdbm3 libgnutls7 libgsf-1 libice-dev libice6 libidl0 liblzo1 libmagick5.5.7 libmail-mbox-messageparser-perl libmysqlclient12 libncursesw5 libnet-daemon-perl libnewt0.51 libpaper1 libplrpc-perl libsdl-console packages upgraded, 80 newly installed, 42 to remove and 858 not upgraded. Need to get 67.1MB of archives. After unpacking 26.9MB will be used. Do you want to continue? [Y/n] Abort. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 26 / 38
47 Installation woes # sudo apt-get install debhelper Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: armagetron armagetron-common autoconf bonobo-activation codebreaker debconf debconf-i18n debconf-utils dialog esound-common fb-music-high fontconfig frozen-bubble-data grepmail gv intltool-debian libaiksaurus-data libaiksaurus0c102 libatk1.0-0 libatk1.0-dev libbonobo-activation4 libbonobo2-0 libbonobo2-common libdb3 libdbd-mysql-perl libdbi-perl libeel2-data libesd0... The following packages will be REMOVED: autoconf2.13 frozen-bubble frozen-bubble-lib gconf2 gnomemeeting itk3.1-dev libbonoboui2-0 libbonoboui2-common libdigest-md5-perl libforms0.89 libgconf2-4 libgnome2-0 libgnome2-common libgnomeui-0 libgnomevfs2-0 libgnomevfs2-common libgtk1.2-dev libgtk2.0-0png3 libgtk2.0-dev libmime-base64-perl libpango1.0-dev libsdl-mixer1.2-dev libsdl-perl libsdl-ttf1.2-dev libsdl1.2-dev libsmpeg-dev libstorable-perl nautilus tk8.3-dev tktable-dev x-window-system x-window-system-core xaw3dg-dev xlib6g xlib6g-dev xlibmesa-dev xlibmesa3 xlibosmesa3 xlibs-dev xlibs-pic xpdf xpdf-reader The following NEW packages will be installed: armagetron-common debconf-i18n fb-music-high fontconfig intltool-debian libaiksaurus-data libaiksaurus0c102 libeel2-data libfilehandle-unget-perl libfontconfig1 libforms1 libgdbm3 libgnutls7 libgsf-1 libice-dev libice6 libidl0 liblzo1 libmagick5.5.7 libmail-mbox-messageparser-perl libmysqlclient12 libncursesw5 libnet-daemon-perl libnewt0.51 libpaper1 libplrpc-perl libsdl-console packages upgraded, 80 newly installed, 42 to remove and 858 not upgraded. Need to get 67.1MB of archives. After unpacking 26.9MB will be used. Do you want to continue? [Y/n] Abort. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 26 / 38
48 Installation woes # sudo apt-get install debhelper Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: armagetron armagetron-common autoconf bonobo-activation codebreaker debconf debconf-i18n debconf-utils dialog esound-common fb-music-high fontconfig frozen-bubble-data grepmail gv intltool-debian libaiksaurus-data libaiksaurus0c102 libatk1.0-0 libatk1.0-dev libbonobo-activation4 libbonobo2-0 libbonobo2-common libdb3 libdbd-mysql-perl libdbi-perl libeel2-data libesd0... The following packages will be REMOVED: autoconf2.13 frozen-bubble frozen-bubble-lib gconf2 gnomemeeting itk3.1-dev libbonoboui2-0 libbonoboui2-common libdigest-md5-perl libforms0.89 libgconf2-4 libgnome2-0 libgnome2-common libgnomeui-0 libgnomevfs2-0 libgnomevfs2-common libgtk1.2-dev libgtk2.0-0png3 libgtk2.0-dev libmime-base64-perl libpango1.0-dev libsdl-mixer1.2-dev libsdl-perl libsdl-ttf1.2-dev libsdl1.2-dev libsmpeg-dev libstorable-perl nautilus tk8.3-dev tktable-dev x-window-system x-window-system-core xaw3dg-dev xlib6g xlib6g-dev xlibmesa-dev xlibmesa3 xlibosmesa3 xlibs-dev xlibs-pic xpdf xpdf-reader The following NEW packages will be installed: armagetron-common debconf-i18n fb-music-high fontconfig intltool-debian libaiksaurus-data libaiksaurus0c102 libeel2-data libfilehandle-unget-perl libfontconfig1 libforms1 libgdbm3 libgnutls7 libgsf-1 libice-dev libice6 libidl0 liblzo1 libmagick5.5.7 libmail-mbox-messageparser-perl libmysqlclient12 libncursesw5 libnet-daemon-perl libnewt0.51 libpaper1 libplrpc-perl libsdl-console packages upgraded, 80 newly installed, 42 to remove and 858 not upgraded. Need to get 67.1MB of archives. After unpacking 26.9MB will be used. Do you want to continue? [Y/n] Abort. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 26 / 38
49 Installation woes # sudo apt-get install debhelper Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: armagetron armagetron-common autoconf bonobo-activation codebreaker debconf debconf-i18n debconf-utils dialog esound-common fb-music-high fontconfig frozen-bubble-data grepmail gv intltool-debian libaiksaurus-data libaiksaurus0c102 libatk1.0-0 libatk1.0-dev libbonobo-activation4 libbonobo2-0 libbonobo2-common libdb3 libdbd-mysql-perl libdbi-perl libeel2-data libesd0... The following packages will be REMOVED: autoconf2.13 frozen-bubble frozen-bubble-lib gconf2 gnomemeeting itk3.1-dev libbonoboui2-0 libbonoboui2-common libdigest-md5-perl libforms0.89 libgconf2-4 libgnome2-0 libgnome2-common libgnomeui-0 libgnomevfs2-0 libgnomevfs2-common libgtk1.2-dev libgtk2.0-0png3 libgtk2.0-dev libmime-base64-perl libpango1.0-dev libsdl-mixer1.2-dev libsdl-perl libsdl-ttf1.2-dev libsdl1.2-dev libsmpeg-dev libstorable-perl nautilus tk8.3-dev tktable-dev x-window-system x-window-system-core xaw3dg-dev xlib6g xlib6g-dev xlibmesa-dev xlibmesa3 xlibosmesa3 xlibs-dev xlibs-pic xpdf xpdf-reader The following NEW packages will be installed: armagetron-common debconf-i18n fb-music-high fontconfig intltool-debian libaiksaurus-data libaiksaurus0c102 libeel2-data libfilehandle-unget-perl libfontconfig1 libforms1 libgdbm3 libgnutls7 libgsf-1 libice-dev libice6 libidl0 liblzo1 libmagick5.5.7 libmail-mbox-messageparser-perl libmysqlclient12 libncursesw5 libnet-daemon-perl libnewt0.51 libpaper1 libplrpc-perl libsdl-console packages upgraded, 80 newly installed, 42 to remove and 858 not upgraded. Need to get 67.1MB of archives. After unpacking 26.9MB will be used. Do you want to continue? [Y/n] Abort. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 26 / 38
50 Installation woes # sudo apt-get install debhelper Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: armagetron armagetron-common autoconf bonobo-activation codebreaker debconf debconf-i18n debconf-utils dialog esound-common fb-music-high fontconfig frozen-bubble-data grepmail gv intltool-debian libaiksaurus-data libaiksaurus0c102 libatk1.0-0 libatk1.0-dev libbonobo-activation4 libbonobo2-0 libbonobo2-common libdb3 libdbd-mysql-perl libdbi-perl libeel2-data libesd0... The following packages will be REMOVED: autoconf2.13 frozen-bubble frozen-bubble-lib gconf2 gnomemeeting itk3.1-dev libbonoboui2-0 libbonoboui2-common libdigest-md5-perl libforms0.89 libgconf2-4 libgnome2-0 libgnome2-common libgnomeui-0 libgnomevfs2-0 libgnomevfs2-common libgtk1.2-dev libgtk2.0-0png3 libgtk2.0-dev libmime-base64-perl libpango1.0-dev libsdl-mixer1.2-dev libsdl-perl libsdl-ttf1.2-dev libsdl1.2-dev libsmpeg-dev libstorable-perl nautilus tk8.3-dev tktable-dev x-window-system x-window-system-core xaw3dg-dev xlib6g xlib6g-dev xlibmesa-dev xlibmesa3 xlibosmesa3 xlibs-dev xlibs-pic xpdf xpdf-reader The following NEW packages will be installed: armagetron-common debconf-i18n fb-music-high fontconfig intltool-debian libaiksaurus-data libaiksaurus0c102 libeel2-data libfilehandle-unget-perl libfontconfig1 libforms1 libgdbm3 libgnutls7 libgsf-1 libice-dev libice6 libidl0 liblzo1 libmagick5.5.7 libmail-mbox-messageparser-perl libmysqlclient12 libncursesw5 libnet-daemon-perl libnewt0.51 libpaper1 libplrpc-perl libsdl-console packages upgraded, 80 newly installed, 42 to remove and 858 not upgraded. Need to get 67.1MB of archives. After unpacking 26.9MB will be used. Do you want to continue? [Y/n] Abort. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 26 / 38
51 The Mancoosi project [ ] project strep FP7 ( ) focus coherence and maintenance of a FOSS distribution installation (user point of view) Utils for package installation management (package managers / meta-installer) installation removal upgrade downgrade... Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 27 / 38
52 Goals, approach and strategy Mancoosi s goal: enable safe, efficient maintainability of the Open Source software infrastructure built out of software packages A twofold approach to reach this objective: design algorithms and tools to tackle the upgradeability problem; this allows to find good upgrade paths w.r.t. the user s needs. conceive and implement a transactional update process; this allows to roll-back an unsatisfactory upgrade. A long term, ecosystem strategy to reach this objective: bring users, distributions, developers and researchers together! set up virtous cycles Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 28 / 38
53 Goals, approach and strategy Mancoosi s goal: enable safe, efficient maintainability of the Open Source software infrastructure built out of software packages A twofold approach to reach this objective: design algorithms and tools to tackle the upgradeability problem; this allows to find good upgrade paths w.r.t. the user s needs. conceive and implement a transactional update process; this allows to roll-back an unsatisfactory upgrade. A long term, ecosystem strategy to reach this objective: bring users, distributions, developers and researchers together! set up virtous cycles Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 28 / 38
54 Goals, approach and strategy Mancoosi s goal: enable safe, efficient maintainability of the Open Source software infrastructure built out of software packages A twofold approach to reach this objective: design algorithms and tools to tackle the upgradeability problem; this allows to find good upgrade paths w.r.t. the user s needs. conceive and implement a transactional update process; this allows to roll-back an unsatisfactory upgrade. A long term, ecosystem strategy to reach this objective: bring users, distributions, developers and researchers together! set up virtous cycles Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 28 / 38
55 Goals, approach and strategy Mancoosi s goal: enable safe, efficient maintainability of the Open Source software infrastructure built out of software packages A twofold approach to reach this objective: design algorithms and tools to tackle the upgradeability problem; this allows to find good upgrade paths w.r.t. the user s needs. conceive and implement a transactional update process; this allows to roll-back an unsatisfactory upgrade. A long term, ecosystem strategy to reach this objective: bring users, distributions, developers and researchers together! set up virtous cycles Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 28 / 38
56 Goals, approach and strategy Mancoosi s goal: enable safe, efficient maintainability of the Open Source software infrastructure built out of software packages A twofold approach to reach this objective: design algorithms and tools to tackle the upgradeability problem; this allows to find good upgrade paths w.r.t. the user s needs. conceive and implement a transactional update process; this allows to roll-back an unsatisfactory upgrade. A long term, ecosystem strategy to reach this objective: bring users, distributions, developers and researchers together! set up virtous cycles Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 28 / 38
57 All in a picture Mancoosi architecture In Mancoosi, there are really two main activities, corresponding to the architecture of our design, and they are loosely coupled User request WP4,WP5 Platform management interface Optimal upgrade path computation WP4, WP5 Transactional component manager WP2, WP3 Software Platform Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 29 / 38
58 Upgrade resolution Abstract view of packages through the metadata lens. Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 30 / 38
59 Mancoosi technology preview: visualizing Systems of Systems GNU/Linux software distributions: probably the most complex system of systems on the planet HOW can you visualize such a system of systems? Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 31 / 38
60 Mancoosi technology preview: visualizing Systems of Systems GNU/Linux software distributions: probably the most complex system of systems on the planet HOW can you visualize such a system of systems? Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 31 / 38
61 Draw a graph, no deep knowledge kde-amusements and kde-toys in Debian 3.1 (aka sarge, 2005) were unnecessary components, overlapping kde-games and kde-edu.they are waste, and are gone today (2009). Should be easy to spot, only 244 components are concerned! Can you see this fact here? Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 32 / 38
62 Draw a graph, no deep knowledge kde-amusements and kde-toys in Debian 3.1 (aka sarge, 2005) were unnecessary components, overlapping kde-games and kde-edu.they are waste, and are gone today (2009). Should be easy to spot, only 244 components are concerned! Can you see this fact here? Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 32 / 38
63 Draw a graph, no deep knowledge kde-amusements and kde-toys in Debian 3.1 (aka sarge, 2005) were unnecessary components, overlapping kde-games and kde-edu.they are waste, and are gone today (2009). Should be easy to spot, only 244 components are concerned! Can you see this fact here? Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 32 / 38
64 Draw a graph, no deep knowledge kde-amusements and kde-toys in Debian 3.1 (aka sarge, 2005) were unnecessary components, overlapping kde-games and kde-edu.they are waste, and are gone today (2009). Should be easy to spot, only 244 components are concerned! Can you see this fact here? Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 32 / 38
65 Let s try a more systemic approach Here is a graph of strong dominators for the KDE subsystem: See the problem, now? More on this at Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 33 / 38
66 Let s try a more systemic approach Here is a graph of strong dominators for the KDE subsystem: See the problem, now? More on this at Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 33 / 38
67 Generality of the approach Everything developed in Mancoosi is already relevant for some, and will be increasingly relevant to all component based technologies Linux : packages Eclipse : plugins Firefox : extensions Java : beans Web services : predictable service assembly Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 34 / 38
68 Conclusions FOSS is reopening markets, and provinding new opportunities, if we can take over the challenges! They are many: scientific : master the complexity of FOSS educational : adapt CS curricula to the FOSS revolution economical : build an efficient, viable ecosystem of actors Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 35 / 38
69 Outline 1 The Open Source Infrastructure and its Complexity 2 Coccinelle 3 Mancoosi 4 IRILL: research and innovation on Free Software Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 36 / 38
70 IRILL in the big picture To boldly attack these challenging problems, Inria is contributing to create IRILL, together with other academic and industy partners: IRILL (Innovation et Recherche en Informatique sur le Logiciel Libre): a center to host researchers, teachers, engineers, and free software developers to work together on the new scientific, technological and educational challenges of Free Software See more info on Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 37 / 38
71 Questions? Roberto Di Cosmo (Paris Diderot / INRIA) Free Software Complexity May 17th / Toulouse 38 / 38
Coccinelle: Practical Program Transformation for the Linux Kernel. Julia Lawall (Inria/LIP6) June 25, 2018
Coccinelle: Practical Program Transformation for the Linux Kernel Julia Lawall (Inria/LIP6) June 25, 2018 1 Motivation Large, critical infrastructure-software code bases Linux kernel, OpenSSL, Qemu, Firefox,
More informationCoccinelle: A Program Matching and Transformation Tool for Systems Code
Coccinelle: A Program Matching and Transformation Tool for Systems Code Gilles Muller Julia Lawall (INRIA/LIP6/IRILL) http://coccinelle.lip6.fr The problem: Dealing with Legacy Systems Code (Linux) It
More informationTowards better tools for the analysis and quality assurance of FOSS distributions
Towards better tools for the analysis and quality assurance of FOSS distributions Ralf Treinen PPS, Université Paris Diderot April 26, 2011 Mancoosi at Paris-Diderot This is joint work with: Pietro Abate
More informationCoccinelle: A Program Matching and Transformation Tool for Linux
Coccinelle: A Program Matching and Transformation Tool for Linux Nicolas Palix (DIKU) joint work with Julia Lawall (DIKU), Gilles Muller (INRIA) Jesper Andersen, Julien Brunel, René Rydhof Hansen, and
More informationFeature Diagrams as Package Dependencies
Feature Diagrams as Package Dependencies Roberto Di Cosmo and Stefano Zacchiroli Université Paris Diderot, PPS, UMR 7126, Paris, France roberto@dicosmo.org,zack@pps.jussieu.fr Abstract. FOSS (Free and
More informationTraCE: Transparent Configuration Environments
TraCE: Transparent Configuration Environments Martin Bravenboer Eelco Dolstra Eelco Visser Institute of Information & Computing Sciences Utrecht University, The Netherlands February 4, 2005 Project Overview
More informationRED HAT ENTERPRISE LINUX. STANDARDIZE & SAVE.
RED HAT ENTERPRISE LINUX. STANDARDIZE & SAVE. Is putting Contact us INTRODUCTION You know the headaches of managing an infrastructure that is stretched to its limit. Too little staff. Too many users. Not
More informationIntro to FOSS. What is FOSS?
Intro to FOSS What is FOSS? Outline Key principles of FOSS Some key players in early FOSS History of FOSS movement Why you should care Which came first, the chicken or the egg? FOSS as a new movement vs.
More informationBits for the Mancoosi project
Bits for the Mancoosi project yeah, including visualizing package clusters :-) Stefano Zacchiroli zack@{pps.jussieu.fr,debian.org} Laboratoire PPS, Université Paris Diderot / The Debian Project 28 July
More informationVersion 11
The Big Challenges Networked and Electronic Media European Technology Platform The birth of a new sector www.nem-initiative.org Version 11 1. NEM IN THE WORLD The main objective of the Networked and Electronic
More informationLogiciel Libre TP 1 Project Presentation
Logiciel Libre TP 1 Project Presentation Stefano Zacchiroli zack@irif.fr Laboratoire IRIF, Université Paris Diderot 2018 2019 URL https://upsilon.cc/zack/teaching/1819/loglib/ Copyright 2015 2019 Stefano
More informationBUILDING the VIRtUAL enterprise
BUILDING the VIRTUAL ENTERPRISE A Red Hat WHITEPAPER www.redhat.com As an IT shop or business owner, your ability to meet the fluctuating needs of your business while balancing changing priorities, schedules,
More informationDebian development with scratchbox. Lauri Arimo
Debian development with scratchbox Lauri Arimo Debian development with scratchbox by Lauri Arimo This document describes how Scratchbox can help developing software for debian Revision history Version:
More informationInside the Mind of a Coccinelle Programmer
Inside the Mind of a Coccinelle Programmer Julia Lawall (Inria/LIP6) Linux Security Summit August 25, 2016 2 What is Coccinelle? Find once, fix everywhere. Approach: Coccinelle: http://coccinelle.lip6.fr/
More informationInternet of Things specialization at Institut Mines-Télécom / Télécom Bretagne. Rennes campus, France
Internet of Things specialization at Institut Mines-Télécom / Télécom Bretagne Rennes campus, France 2 About Institut Mines-Télécom About Télécom Bretagne! A Graduate Engineering School & Research Centre
More informationSoftware Engineering Chap.7 - Design and Implementation
Software Engineering Chap.7 - Design and Implementation Simão Melo de Sousa RELEASE (UBI), LIACC (Porto), CCTC (Minho) Computer Science Department University of Beira Interior, Portugal Eng.Info./TSI,
More informationDebian on Handheld Computers The Pocket Workstation Project
Debian on Handheld Computers The Pocket Workstation Project Klaus Weidner WMP GmbH kw@w-m-p.com http://www.w-m-p.com/pocketworkstation/ Contents Status of the project Why?? Limitations of the platform
More informationLinux in the nuclear industry
Linux in the nuclear industry 19 Mars 2018 Mehdi DOGGUY EDF Who am I? 1 / 24 Who am I? 2006 : M1 Informatique, Paris 11 1 / 24 Who am I? 2006 : M1 Informatique, Paris 11 2007 : M2 MPRI, Paris 7 1 / 24
More informationHow to install Java Virtual Machine on Debian 7 GNU / Linux
How to install Java Virtual Machine on Debian 7 GNU / Linux Author : admin Debian 7 stable as most stable Debian releases includes custom Open Source Oracle Java Virtual Machine version called IcedTea
More informationFree & Open Source Software: The Academic Future
Free & Open Source Software: The Academic Future Paul E. Johnson University of Kansas http://lark.cc.ku.edu/~pauljohn Presentation at Ukrainian National University of L'viv May 27, 2005
More informationContinuous Integration and Release Management with Nix
Continuous Integration and Release Management with Nix Institute of Information & Computing Sciences Utrecht University, The Netherlands July 14, 2004 Outline 1 Continuous Integration 2 Release Management
More informationAurelien Jarno 26/02/2006 FOSDEM. Debian GNU/kFreeBSD. Aurelien Jarno. What? Why? Status. The future. How to help?
aurel32@debian.org FOSDEM 26/02/2006 What is? port FreeBSD kernel (kfreebsd for short) kfreebsd 5.4 experimental version of kfreebsd 6.0 GNU userland GNU libc Cool tools (dpkg, apt,...) A Gentoo port has
More informationHaving Problems w/linux (freeware) Graphics?
Having Problems w/linux (freeware) Graphics? The past few years has seen the popularity of Linux increase substantially. While Linux earned its reputation for stable, reliable reputation in "headless"
More informationIntroduction to Coccinelle
Introduction to Coccinelle Julia Lawall (Inria/LIP6) http://coccinelle.lip6.fr September 17, 2014 Common programming problems Programmers don t really understand how C works.!e1 & e2 does a bit-and with
More informationIf you re the administrator on any network,
Let s do an inventory! If you re the administrator on any network, chances are you ve already faced the need to make an inventory. In fact, keeping a list of all the computers, monitors, software and other
More informationAimSniff. Jason Healy, Director of Networks and Systems
AimSniff Jason Healy, Director of Networks and Systems Last Updated Mar 18, 2008 2 Contents 1 AimSniff 5 1.1 Introduction.............................. 5 1.2 Dependencies............................. 5
More informationMarco Porta Betim Çiço Peter Kaczmarski Neki Frasheri Virginio Cantoni. Fernand Vandamme (BIKEMA)
New Trends in Information Technologies and Their Integration in University Curricula: a Brief Study in the Context of the FETCH European Thematic Network Marco Porta Betim Çiço Peter Kaczmarski Neki Frasheri
More informationWhy You Should Not Use Arch
Why You Should Not Use Arch A new users guide to highly personalized, low maintenance operating system. Artur Frącek CC BY-NC-ND 4.0 1 Intro Arch is a very good Linux distribution so it is not a surprise
More informationYocto Project components
Lecture 3 3 Yocto Project components 25 octombrie 2016 Exam questions 1. Please write al least four of the described components of a GNU toolchain 2. List the components which define a Linux distribution
More informationSupporting Software Evolution in Component-Based FOSS Systems
Supporting Software Evolution in Component-Based FOSS Systems Roberto Di Cosmo b, Davide Di Ruscio a, Patrizio Pelliccione a, Alfonso Pierantonio a, Stefano Zacchiroli b a Università degli Studi dell Aquila,
More informationNew Contributor Tutorial and Best Practices
New Contributor Tutorial and Best Practices Vicențiu Ciorbaru Software Engineer @ MariaDB Foundation * 2018 MariaDB Foundation * Goal of this session Most attendees here are highly experienced devs Let's
More informationSoftware Development Fundamentals (SDF)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Software Development Fundamentals (SDF) Fluency in the process of software development is a prerequisite to the study of most
More informationONELAB and Beyond. Prof. Serge Fdida. University P&M Curie, Paris 6, France
ONELAB and Beyond Prof. Serge Fdida University P&M Curie, Paris 6, France http://www.lip6.fr/rp IST 2006 Brussels, December 2006 1 ONELAB Rationale & History Grounded on ENEXT (NoE) Identification of critical
More informationLinux for Safety Critical Applications: Hunting down bug patterns
Linux for Safety Critical Applications: Hunting down bug patterns GNU/Linux for Safety Open-Source procedures and decisions Availability of technology and know-how Built on
More informationCOPYRIGHTED MATERIAL. Installing Xcode. The Xcode Installer
1 Installing Xcode Xcode is part of the Xcode Developer Tools suite developed and distributed by Apple Computer. If you haven t installed it already, read this chapter to find out how to do so. If the
More informationHow Double-Fetch Situations turn into Double-Fetch Vulnerabilities:
How Double-Fetch Situations turn into Double-Fetch Vulnerabilities: A Study of Double Fetches in the Linux Kernel Pengfei Wang, Jens Krinke, Kai Lu, Gen Li, Steve Dodier-Lazaro College of Computer National
More informationCS101 Introduction to Programming Languages and Compilers
CS101 Introduction to Programming Languages and Compilers In this handout we ll examine different types of programming languages and take a brief look at compilers. We ll only hit the major highlights
More informationExercises. Cacti Installation and Configuration
Exercises Cacti Installation and Configuration Exercises Your Mission... Install Cacti Create device entry for your local router Create device entries for your local servers Create entries for class router
More informationExercises. Cacti Installation and Configuration
Exercises Cacti Installation and Configuration Exercises Your Mission... Install Cacti Create device entry for your local router Create device entries for your local servers Create entries for class router
More informationWhat Makes Up the Modern Linux OS?
White Paper by David Davis, ActualTech Media What Makes Up the Modern Linux OS? In this Paper The History of Linux... 2 The Components that Comprise the Linux Operating System... 3 What Is a Distribution?...
More informationCase Study. Encode helps University of Aberdeen strengthen security and reduce false positives with advanced security intelligence platform
Encode helps University of Aberdeen strengthen security and reduce false positives with advanced security intelligence platform Summary For the University of Aberdeen, protecting IT infrastructure serving
More informationHâpy. Daniel Dehennin. Pôle de Compétences Logiciels Libres. OpenNebula TechDay Paris cc by-nc-sa 2.0-fr
Hâpy OpenNebula GNU/Linux distribution for two french ministries Daniel Dehennin Pôle de Compétences Logiciels Libres OpenNebula TechDay Paris 2015 cc by-nc-sa 20-fr D Dehennin (pcll) Hâpy 8 July 2015
More informationSTRUCTURED SYSTEM ANALYSIS AND DESIGN. System Concept and Environment
STRUCTURED SYSTEM ANALYSIS AND DESIGN Definition: - System Concept and Environment A system is an orderly grouping of independent components linked together according to plan to achieve a specific objective.
More informationEnterprise Architecture
Enterprise Architecture Dr. Adnan Albar Faculty of Computing & Information Technology King AbdulAziz University - Jeddah 1 Dimensions of Architectural Modeling Lecture 7 Week 6 Slides King AbdulAziz University
More informationAn introduction to Docker
An introduction to Docker Ing. Vincenzo Maffione Operating Systems Security Container technologies on Linux Several light virtualization technologies are available for Linux They build on cgroups, namespaces
More informationHigh Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore
High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore Module No # 09 Lecture No # 40 This is lecture forty of the course on
More informationIoT Security and Risk Management
SESSION ID: GPS1-R03 IoT Security and Risk Management Tyson Macaulay Chief Security Strategist, Fortinet IoT Security is a BIG STORY! Security as a % of IT Budget 4% 7% 20 Billion+ devices? 2% Source:
More informationCS612: IT Technology and Course Overview
CS612: IT Technology and Course Overview Dr. Lixin Tao ltao@pace.edu http://csis.pace.edu/lixin Computer Science Department Pace University Outline What is New in Computing Application Environment? What
More informationProgram for Advance Telecom Services (PATS) Mobile Developer Days
Program for Advance Telecom Services (PATS) Mobile Developer Days 2007 30.08.2007 Knut Yrvin Community Manager Trolltech ASA Telenor in 1986 technical assistant Engineer in electronics 1992 Telenor planning
More informationABOUT ME. Gianluca Bardaro, PhD student in Robotics Contacts: Research field: goo.gl/dbwhhc.
ABOUT ME Gianluca Bardaro, PhD student in Robotics Contacts: gianluca.bardaro@polimi.it 02 2399 3565 Research field: Formal approach to robot development Robot and robot architecture models Robot simulation
More informationSMART. Investing in urban innovation
SMART Investing in urban innovation What Smart Belfast? Belfast has ambitious plans for the future. Building on our economic revival, we want to make our city an outstanding place to live, work and invest.
More informationHabanero Extreme Scale Software Research Project
Habanero Extreme Scale Software Research Project Comp215: Garbage Collection Zoran Budimlić (Rice University) Adapted from Keith Cooper s 2014 lecture in COMP 215. Garbage Collection In Beverly Hills...
More informationRed Hat Application Migration Toolkit 4.0
Red Hat Application Migration Toolkit 4.0 Getting Started Guide Simplify Migration of Java Applications Last Updated: 2018-04-04 Red Hat Application Migration Toolkit 4.0 Getting Started Guide Simplify
More informationTowards Reusable Heterogeneous Data-Centric Disentangled Parts
Towards Reusable Heterogeneous Data-Centric Disentangled Parts Michael Reinsch and Takuo Watanabe Department of Computer Science, Graduate School of Information Science and Technology, Tokyo Institute
More informationSoftware Heritage. Building the Universal Software Archive for Open Science. Roberto Di Cosmo. September 17th, 2018
Software Heritage Building the Universal Software Archive for Open Science Roberto Di Cosmo roberto@dicosmo.org September 17th, 2018 T H E G R E AT L I B R A RY O F S O U RC E C O D E Roberto Di Cosmo
More informationKDev-Valgrind : User Documentation
KDev-Valgrind : User Documentation Damien Coppel Anthony Corbacho Lionel Duc Mathieu Lornac Sébastien Rannou Lucas Sarie This document is for developers wishing to use the plugin. It enables to understand
More informationData safety for digital business. Veritas Backup Exec WHITE PAPER. One solution for hybrid, physical, and virtual environments.
WHITE PAPER Data safety for digital business. One solution for hybrid, physical, and virtual environments. It s common knowledge that the cloud plays a critical role in helping organizations accomplish
More informationOpenStack and Hadoop. Achieving near bare-metal performance for big data workloads running in a private cloud ABSTRACT
OpenStack and Hadoop Achieving near bare-metal performance for big data workloads running in a private cloud ABSTRACT IT organizations are increasingly turning to the open source Apache Hadoop software
More informationVMworld 2015 Track Names and Descriptions
VMworld 2015 Track Names and Descriptions Software- Defined Data Center Software- Defined Data Center General Pioneered by VMware and recognized as groundbreaking by the industry and analysts, the VMware
More informationREPORT MICROSOFT PATTERNS AND PRACTICES
REPORT MICROSOFT PATTERNS AND PRACTICES Corporate Headquarters Nucleus Research Inc. 100 State Street Boston, MA 02109 Phone: +1 617.720.2000 Nucleus Research Inc. TOPICS Application Development & Integration
More informationWhat do you see as GSMA s
GSMA: Connecting everyone and everything to a better future Mats Granryd, Director General of GSMA, shares his thoughts on the development of 5G, the Internet of Things, and why mobile is so important
More informationCoccigrep: a semantic grep for C language
Coccigrep: a semantic grep for C language Éric Leblond Stamus Networks April 27, 2014 Éric Leblond (Stamus Networks) Coccigrep: a semantic grep for C language April 27, 2014 1 / 14 Eric Leblond a.k.a Regit
More informationContainers: Exploits, Surprises, And Security
Containers: Exploits, Surprises, And Security with Elissa Shevinsky COO at SoHo Token Labs Editor of Lean Out #RVASec @ElissaBeth on twitter @Elissa_is_offmessage on Instagram this was Silicon Valley in
More informationGRIDS INTRODUCTION TO GRID INFRASTRUCTURES. Fabrizio Gagliardi
GRIDS INTRODUCTION TO GRID INFRASTRUCTURES Fabrizio Gagliardi Dr. Fabrizio Gagliardi is the leader of the EU DataGrid project and designated director of the proposed EGEE (Enabling Grids for E-science
More informationTHE JAVA ECOSYSTEM Platform for Web & Mobile Games
THE JAVA ECOSYSTEM Platform for Web & Mobile Games Kent Åberg Business Development Manager Education & Research Central & Northern Europe Sun Microsystems Open Communities Always Win Some brands: 2 Started
More information# 47. Product data exchange using STEP
# 47 Product data exchange using STEP C. Demartini, S. Rivoira, A. Valenzano CENS and Dip. di Automatica e Informatica, Politecnico c.so Duca degli Abruzzi, 24 10129 Torino (Italy) tel. +39-11-5647016,
More informationCIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)
By the end of this course, students should CIS 1.5 Course Objectives a. Understand the concept of a program (i.e., a computer following a series of instructions) b. Understand the concept of a variable
More informationExtension of an existing package manager to produce traces of ugradeability problems in CUDF format Deliverable 5.2
Extension of an existing package manager to produce traces of ugradeability problems in CUDF format Deliverable 5.2 Nature : Deliverable Due date : 31.07.2010 Start date of project : 01.02.2008 Duration
More informationGUI Basics and Windowing Systems. Using X Windows as a case study
GUI Basics and Windowing Systems Using X Windows as a case study 2 CS 349 - Syllabus Evolution of GUI Programming On early computers, everything was rolled by hand Re-inventing the wheel with every iteration
More informationChapter 2. Operating-System Structures
Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationHandout 4: Version Control Reference
CSCI 2600 Principles of Software Handout 4: Version Control Reference Introduction SVN (Subversion) provides the following functionality: It allows multiple users to edit the same files independently,
More informationVMworld 2015 Track Names and Descriptions
Software- Defined Data Center Software- Defined Data Center General VMworld 2015 Track Names and Descriptions Pioneered by VMware and recognized as groundbreaking by the industry and analysts, the VMware
More informationCoccinelle: Bug Finding for the Linux Community
Coccinelle: Bug Finding for the Linux Community Julia Lawall (INRIA) Gilles Muller (INRIA), René Rydhof Hansen (Aalborg), Nicolas Palix (Grenoble) January 6, 2012 Overview Goal: Improving the robustness
More informationFebruary 2 nd Jean Parpaillon
Using GIT with Kerrighed project Kerrighed Summit '07 February 2 nd 2007 Jean Parpaillon Table of contents Kerrighed SCM Subversion GIT GIT with Kerrighed References 2 Kerrighed
More informationComponent-based software engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 19 Slide 1
Component-based software engineering Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 19 Slide 1 Objectives To explain that CBSE is concerned with developing standardised components and
More informationAuthor: Tonny Rabjerg Version: Company Presentation WSF 4.0 WSF 4.0
Author: Tonny Rabjerg Version: 20150730 Company Presentation WSF 4.0 WSF 4.0 Cybercrime is a growth industry. The returns are great, and the risks are low. We estimate that the likely annual cost to the
More informationThe SD-WAN security guide
The SD-WAN security guide How a flexible, software-defined WAN can help protect your network, people and data SD-WAN security: Separating fact from fiction For many companies, the benefits of SD-WAN are
More informationEASILY DEPLOY AND SCALE KUBERNETES WITH RANCHER
EASILY DEPLOY AND SCALE KUBERNETES WITH RANCHER 2 WHY KUBERNETES? Kubernetes is an open-source container orchestrator for deploying and managing containerized applications. Building on 15 years of experience
More informationLecture #1 4 th Year M.Sc. Dina Rafaa Ahmed
Lecture #1 4 th Year M.Sc. Dina Rafaa Ahmed 1 Source Code: It is a specialized language that allows software developers to create and modify computer programs. If you do not have legal access to the source
More informationLinux Essentials Objectives Topics:
Linux Essentials Linux Essentials is a professional development certificate program that covers basic knowledge for those working and studying Open Source and various distributions of Linux. Exam Objectives
More informationMaintaining accessibility through testing?
ᅠ Maintaining accessibility through testing? Samuel Thibault Slides & stuff on http://brl.thefreecat.org/ http://hypra.fr/ 1 Gnuplot Color blindness: 8% male, 0.5% female 4 Gnuplot 5!! Color blindness:
More informationIntroduction to Operating Systems. Note Packet # 1. CSN 115 Operating Systems. Genesee Community College. CSN Lab Overview
Introduction to Operating Systems Note Packet # 1 CSN 115 Operating Systems Genesee Community College CSN Lab Overview Dual booted Windows/Linux Workstations Linux workstations currently run CentOS and
More informationCloud Computing: Making the Right Choice for Your Organization
Cloud Computing: Making the Right Choice for Your Organization A decade ago, cloud computing was on the leading edge. Now, 95 percent of businesses use cloud technology, and Gartner says that by 2020,
More informationThe Red Hat Way. Lee Miles General Manager, Red Hat Middle East, Turkey & Africa
The Red Hat Way Lee Miles General Manager, Red Hat Middle East, Turkey & Africa Connecting People is the best way to create Technology Community Builder Open source communities can innovate far more effectively
More informationRISC-V: Enabling a New Era of Open Data-Centric Computing Architectures
Presentation Brief RISC-V: Enabling a New Era of Open Data-Centric Computing Architectures Delivers Independent Resource Scaling, Open Source, and Modular Chip Design for Big Data and Fast Data Environments
More informationIntro to Linux & Command Line
Intro to Linux & Command Line Based on slides from CSE 391 Edited by Andrew Hu slides created by Marty Stepp, modified by Jessica Miller & Ruth Anderson http://www.cs.washington.edu/391/ 1 Lecture summary
More informationSECURING THE DIGITAL ECONOMY. Reinventing the Internet for Trust
SECURING THE DIGITAL ECONOMY Reinventing the Internet for Trust The Internet Just Can t Keep Up Companies Are Increasingly Dependent on the Internet for Business Growth 90% 76% 18% 35% to rank business
More informationAthena History. Modular Debathena. Debian Packages An example diversion. Other Athena customizations
Athena Project Athena started at MIT in 1983 grant from IBM and Digital Mission statement: By 1988, create a new educational computing environment at MIT built around high performance graphics workstations,
More informationSYMANTEC: SECURITY ADVISORY SERVICES. Symantec Security Advisory Services The World Leader in Information Security
SYMANTEC: SECURITY ADVISORY SERVICES Symantec Security Advisory Services The World Leader in Information Security Knowledge, as the saying goes, is power. At Symantec we couldn t agree more. And when it
More informationOS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure
CSE 451: Operating Systems Spring 2012 Module 3 Operating System Components and Structure Ed Lazowska lazowska@cs.washington.edu Allen Center 570 The OS sits between application programs and the it mediates
More informationRed Hat Application Migration Toolkit 4.2
Red Hat Application Migration Toolkit 4.2 Getting Started Guide Learn how to use the Red Hat Application Migration Toolkit to migrate and modernize Java applications and components. Last Updated: 2019-03-26
More informationConnect with Remedy: SmartIT: Social Event Manager Webinar Q&A
Connect with Remedy: SmartIT: Social Event Manager Webinar Q&A Q: Will Desktop/browser alerts be added to notification capabilities on SmartIT? A: In general we don't provide guidance on future capabilities.
More informationWhite Paper. Low Cost High Availability Clustering for the Enterprise. Jointly published by Winchester Systems Inc. and Red Hat Inc.
White Paper Low Cost High Availability Clustering for the Enterprise Jointly published by Winchester Systems Inc. and Red Hat Inc. Linux Clustering Moves Into the Enterprise Mention clustering and Linux
More informationParallel File Systems for HPC
Introduction to Scuola Internazionale Superiore di Studi Avanzati Trieste November 2008 Advanced School in High Performance and Grid Computing Outline 1 The Need for 2 The File System 3 Cluster & A typical
More informationCisco Data Center Network Manager 5.1
Cisco Data Center Network Manager 5.1 Product Overview Modern data centers are becoming increasingly large and complex. New technology architectures such as cloud computing and virtualization are adding
More informationBSc (Honours) Computer Science Curriculum Outline
BSc (Honours) Computer Science Curriculum Outline 1. Introduction: The economic and strategic importance provided by Computer Science and Information Technology is increasing daily. This importance is
More informationThree OPTIMIZING. Your System for Photoshop. Tuning for Performance
Three OPTIMIZING Your System for Photoshop Tuning for Performance 72 Power, Speed & Automation with Adobe Photoshop This chapter goes beyond speeding up how you can work faster in Photoshop to how to make
More informationDevice Discovery for Vulnerability Assessment: Automating the Handoff
Device Discovery for Vulnerability Assessment: Automating the Handoff O V E R V I E W While vulnerability assessment tools are widely believed to be very mature and approaching commodity status, they are
More informationLethbridge/Laganière 2005 Chapter 9: Architecting and designing software 6
Trying to deal with something big all at once is normally much harder than dealing with a series of smaller things Separate people can work on each part. An individual software engineer can specialize.
More informationMesh Networking Principles
Technology, N. Jones Research Note 8 July 2003 Mesh Topologies Promise Resilient Wireless Networks Mesh architecture will become an essential element of wireless networking because it is easy to install,
More information