Presentation is loading. Please wait.

Presentation is loading. Please wait.

Andrea Capiluppi Dipartimento di Automatica e Informatica Politecnico di Torino, Italy & Computing Dept. The Open University, UK AICA 2004, Benevento,

Similar presentations


Presentation on theme: "Andrea Capiluppi Dipartimento di Automatica e Informatica Politecnico di Torino, Italy & Computing Dept. The Open University, UK AICA 2004, Benevento,"— Presentation transcript:

1 Andrea Capiluppi Dipartimento di Automatica e Informatica Politecnico di Torino, Italy & Computing Dept. The Open University, UK AICA 2004, Benevento, 29 Sett 2004 Folder Structure Evolution in Open Source Software Maurizio Morisio Dipartimento di Automatica e Informatica Politecnico di Torino, Italy Juan F. Ramil Computing Dept. The Open University, UK

2 AICA 2004 2 29 Sett 2004 – Benevento Outline  Motivation  Definitions and Attributes  Selection of Projects  Identification and Analysis of Patterns  Conclusions and Future Work

3 AICA 2004 3 29 Sett 2004 – Benevento Motivation

4 AICA 2004 4 29 Sett 2004 – Benevento Empirical Evidence Theories, Models Good Practice Motivation

5 AICA 2004 5 29 Sett 2004 – Benevento Motivation  On going empirical investigation into the evolution of Open Source Systems (OSS)  Goal: understand evolutionary behaviour of long-lived software systems and generate heuristics and guidelines  Similar approach to the one used by Lehman and collaborators in study of commercial systems: ✗ Generate empirical hypotheses ✗ Observe commonalities and differences ✗ Revise existing empirical hypotheses, generate new ones  Long-term goal: achieve theories and models of software evolution through longitudinal studies  Our approach: combine observations at different levels of granularity: system, subsystem, module, function

6 AICA 2004 6 29 Sett 2004 – Benevento Motivation  Particular goal of this study: observe evolution through another level of granularity: disposition of source files in folders  Research questions: ✗ does the evolution of the folder structure provides interesting and useful information on the evolution of a system? ✗ Is there any relationship between folder structure and other characteristics of the evolution, such as growth rate?  Question was assessed using empirical data derived from a number of OSS systems

7 AICA 2004 7 29 Sett 2004 – Benevento Definitions and Attributes

8 AICA 2004 8 29 Sett 2004 – Benevento Definitions and Attributes  Source File: each file containing source code (before build)  Source Folder: each folder containing at least one source file root Level Parent Folder F1 F2  Folder Tree: graphical representation of the structure of source folders  Level: subset of nodes having the same distance from the root

9 AICA 2004 9 29 Sett 2004 – Benevento An Example of a Folder Tree Maximum distance = depth of the tree Maximum number of folders in a level = width of tree

10 AICA 2004 10 29 Sett 2004 – Benevento Possible Evolution of a Folder Tree [Vertical expansion] [Horizontal expansion]

11 AICA 2004 11 29 Sett 2004 – Benevento Attributes  Size: as indicator of functional power (locs, Kbs, number of files, number of folders)  Folder tree: structure (visualization through GraphViz, an OSS tool)  Activity rate: evolution speed, types of activity - Counting added and deleted elements is relatively easy - Counting modified elements: we focus on elements changed over a period, not on the amount of individual changes: number of files touched per release

12 AICA 2004 12 29 Sett 2004 – Benevento Selection of Projects

13 AICA 2004 13 29 Sett 2004 – Benevento Selection of Projects  Large initial pool of software systems (400), used in a previous study for characterizing OS software  From that sample, we extract the larger projects for the present study  Results of the extraction was 26 systems ✗ In total 992 release data points  These were characterized by analysing the evolution of folder tree evolution

14 AICA 2004 14 29 Sett 2004 – Benevento Initial Characterization (example 1)  High correlation between different size measures (locs, files, Kbytes)  Majority of the projects situated below a threshold of source code size, when measured at latest available RSN

15 AICA 2004 15 29 Sett 2004 – Benevento Initial Characterization (example 2)  Average size of files in folders stay generally below a threshold in size (20 Kb)

16 AICA 2004 16 29 Sett 2004 – Benevento Identification and Analysis of Patterns

17 AICA 2004 17 29 Sett 2004 – Benevento Identification of patterns  Horizontally expanding (10 out of 25)  Vertically shrinking (4 out of 25)  Vertically expanding (11 out of 25) ✗ Generally associated with horizontal expansions  Study of relation between patterns of folder tree evolution, functional growth and activity rate

18 AICA 2004 18 29 Sett 2004 – Benevento Horizontally expanding  Smooth growth of source files  Peaks of activity rate around major releases

19 AICA 2004 19 29 Sett 2004 – Benevento Vertically shrinking  Size of project stable along evolution  Modifications are diffused in the whole code base during the evolution

20 AICA 2004 20 29 Sett 2004 – Benevento Vertically expanding  Periods of linear and super-linear growth  Peaks of activity rate consist mainly of additions, rather than modifications

21 AICA 2004 21 29 Sett 2004 – Benevento Conclusions  Majority of systems display expansion at least in one of their structural dimensions - a sign of healthy evolution  Folder trees are useful to examine evolution of software systems  Growth and activity rate trends are useful especially to recognize stages in software evolution  Current and future work: ✗ Relationship between type of folder structure evolution and the type of application domain – vertical, horizontal ✗ Observations at different levels of granularity for identifying stages of evolution ✗ Relationship between change and complexity ✗ Qualitative abstraction and simulation

22 AICA 2004 22 29 Sett 2004 – Benevento Empirical Evidence Theories, Models Good Practice Conclusions

23 AICA 2004 23 29 Sett 2004 – Benevento Final Remarks  Some of our data and tools used in present and past works, available at: http://mcs.open.ac.uk/ac5468  Need for collaboration between different groups in sharing data, tools and interpretation

24 AICA 2004 24 29 Sett 2004 – Benevento…questions?


Download ppt "Andrea Capiluppi Dipartimento di Automatica e Informatica Politecnico di Torino, Italy & Computing Dept. The Open University, UK AICA 2004, Benevento,"

Similar presentations


Ads by Google