Download presentation
Presentation is loading. Please wait.
Published byAlexandrina Gilbert Modified over 9 years ago
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?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.