1 / 24

Andrea Capiluppi Dipartimento di Automatica e Informatica Politecnico di Torino, Italy &

Andrea Capiluppi Dipartimento di Automatica e Informatica Politecnico di Torino, Italy & Computing Dept. The Open University, UK. Maurizio Morisio Dipartimento di Automatica e Informatica Politecnico di Torino, Italy. Juan F. Ramil Computing Dept. The Open University, UK.

summer
Download Presentation

Andrea Capiluppi Dipartimento di Automatica e Informatica Politecnico di Torino, Italy &

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Outline Motivation Definitions and Attributes Selection of Projects Identification and Analysis of Patterns Conclusions and Future Work

  3. Motivation

  4. Motivation Theories, Models Good Practice EmpiricalEvidence

  5. 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. 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. Definitions and Attributes

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

  9. An Example of a Folder Tree Maximum number of folders in a level = width of tree Maximum distance = depth of the tree

  10. Possible Evolution of a Folder Tree [Vertical expansion] [Horizontal expansion]

  11. 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. Selection of Projects

  13. 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. 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. Initial Characterization (example 2) Average size of files in folders stay generally below a threshold in size (20 Kb)

  16. Identification and Analysis of Patterns

  17. 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. Horizontally expanding Smooth growth of source files Peaks of activity rate around major releases

  19. Vertically shrinking Size of project stable along evolution Modifications are diffused in the whole code base during the evolution

  20. Vertically expanding Periods of linear and super-linear growth Peaks of activity rate consist mainly of additions, rather than modifications

  21. 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. Conclusions Theories, Models Good Practice EmpiricalEvidence

  23. 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. …questions?

More Related