1 Accumulative Versioning File System Moraine and Its Application to Metrics Environment Mame Tetsuo Yamamoto * Makoto Matsushita * Katsuro Inoue *,**

Slides:



Advertisements
Similar presentations
Computer Basics 2.
Advertisements

1 Perforce The Fast Software Configuration Management System.
Strategies for solving scientific problems using computers.
The ATA/IDE Interface Can we write a character-mode device driver for the hard disk?
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Evolutional Analysis.
7.1 Advanced Operating Systems Versioning File Systems Someone has typed: rm -r * However, he has been in the wrong directory. What can be done? Typical.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Extraction of.
Linux vs. Windows. Linux  Linux was originally built by Linus Torvalds at the University of Helsinki in  Linux is a Unix-like, Kernal-based, fully.
ARCS Data Analysis Software An overview of the ARCS software management plan Michael Aivazis California Institute of Technology ARCS Baseline Review March.
1 Software Configuration Management METU Computer Engineering CEng 492 Spring'2004.
Informationsteknologi Friday, November 16, 2007Computer Architecture I - Class 121 Today’s class Operating System Machine Level.
May 23, 2007 Archiving ACE: A Novel Software Platform to Ensure the Integrity of Digital Archives Sangchul Song and Joseph JaJa Institute for Advanced.
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
File System Implementation
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 11 Managing and Monitoring a Windows Server 2008 Network.
Operating Systems.
Basic Unix Dr Tim Cutts Team Leader Systems Support Group Infrastructure Management Team.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Industrial Application.
Security issues for mobile devices Cvetko Andreeski.
1 CP586 © Peter Lo 2003 Multimedia Communication Standards and Delivery Methods.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University ICSE 2003 Java.
Software Engineering Modern Approaches
1 ITSK 2611 Welcome. 2 Operating System 3 What is an OS Resource Manager –Disk –Memory –CPU Device Manager –Printers –Video Card –Sound Card Utility.
Introduction to Version Control
So, Jung-ki Distributed Computing System LAB School of Computer Science and Engineering Seoul National University Implementation of Package Management.
Standard Grade Computing System Software & Operating Systems.
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University DCCFinder: A Very- Large Scale Code Clone Analysis.
1 Lecture 19 Configuration Management Software Engineering.
An Adaptive Version-Controlled File System Makoto Matsushita, Tetsuo Yamamoto and Katsuro Inoue Osaka University, JAPAN.
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Current Status of Software Industry in Japan.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Copyright © 2010 Nara Institute of Science and Technology / Osaka University Standardizing the Software Tag in Japan for Transparency of Development Profes.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University A Method to Detect License Inconsistencies for Large-
Engineering Data Management System CERN Drawing Directory overview - Stephan Petit - CERN EST/ISS - LHC Auditorium :00 CERN DRAWING DIRECTORY.
The Network Performance Advisor J. W. Ferguson NLANR/DAST & NCSA.
Enabling Dynamic Data and Indirect Mutual Trust for Cloud Computing Storage Systems.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
CSE 219 Computer Science III CVS
Effective Testing and Debugging Methods and Its Supporting System with Program Deltas Makoto Matsushita, Masayoshi Teraguchi, and Katsuro Inoue Osaka University.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University VerXCombo: An.
Module 2 : Part 1 INTRODUCTION TO HARDWARE & SOFTWARE INTRODUCTION TO HARDWARE & SOFTWARE.
Computers & Operating Systems
Kuliah 4 Pengantar Teknologi Informasi Oleh Coky Fauzi Alfi cokyfauzialfi.wordpress.com Software.
OPERATING SYSTEMS BY LANDON, KYLE, AND ETHAN. WHAT IS THEIR PURPOSE? (1) manage the computer's resources, such as the central processing unit (2) establish.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Development with Eclipse Software Engineering Prof. Werner Krandick.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Software Tag:
1 Measuring Similarity of Large Software System Based on Source Code Correspondence Tetsuo Yamamoto*, Makoto Matsushita**, Toshihiro Kamiya***, Katsuro.
EGEE is a project funded by the European Union under contract IST Enabling bioinformatics applications to.
An Introduction to Git David Johndrow COMP 490 – Senior Design & Development 2/11/16.
CEG 2400 FALL 2012 Linux/UNIX Network Operating Systems.
Outline Announcements: –HW II due today! –HW III on web CVS.
Kernel Modules – Introduction CSC/ECE 573, Sections 001 Fall, 2012.
Building Preservation Environments with Data Grid Technology Reagan W. Moore Presenter: Praveen Namburi.
Course 03 Basic Concepts assist. eng. Jánó Rajmond, PhD
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Detection of License Inconsistencies in Free and.
Exploring Software Evolution Using Spectrographs Jingwei Wu, Richard C. Holt, Ahmed Hassan School of Computer Science University of Waterloo Waterloo ON.
CIT 140: Introduction to ITSlide #1 CSC 140: Introduction to IT Operating Systems.
GNU EPrints 2 Overview Christopher Gutteridge 19 th October 2002 CERN. Geneva, Switzerland.
Computer Systems – Hardware, Operating System, & Software
Computer Fundamentals 1
Computer Software CS 107 Lecture 2 September 1, :53 PM.
Chapter 2: The Linux System Part 1
Where Does This Code Come from and Where Does It Go?
Recommending Adaptive Changes for Framework Evolution
Outline Announcements: Version control with CVS HW II due today!
Presentation transcript:

1 Accumulative Versioning File System Moraine and Its Application to Metrics Environment Mame Tetsuo Yamamoto * Makoto Matsushita * Katsuro Inoue *,** * Osaka University, Japan ** Nara Institute of Science and Technology, Japan

2 Disc Capacity of 1995 $ Gbytes Linux (Slackware2.2[Basic Applications+X window]) 0.15Gbytes Free Space 0.39Gbytes

3 Disc Capacity of 2000 $ Gbytes Linux (RedHat7[Basic Applications+X window]) 1Gbytes Free Space 39Gbytes 0.39Gbytes 100times 0.15Gbytes 6times

4 Benefits of Large Disc Capacity Ordinary PC users JPEG, MPEG, MP3, HTML,... Our Software Engineers ? We still use software product management scheme which were devised and developed under limited disc capacity in old days.

5 Archiving Software Product Evolution 5 years ago, it was very expensive, practically impossible. Now, it may be possible. Current disks have enough space to archive product evolutions made by each engineer. FreeBSD FreeBSD Current Archive Size 1Gbytes 100Mbytes 270Mbytes Develop using CVS 23 Release Versions

6 Development of Moraine and Mame Based on this motivation, we have devised two things. Automatic SE product archive scheme -> Versioning file system Moraine Open structured, Non-proprietary Quantitative development management framework -> Metrics environment Mame (Moraine As a Metrics Environment)

7 Design Policies of Moraine Automatic Archiving Moraine automatically records the fine-grained versions of all files. Easy Operation Users are not required to learn how to use Moraine. To do this, usual file read/write operations are hooked, and versioning works are performed by Moraine. Open Structure Moraine does not have to have proprietary data repository or versioning tools.

8 Features of Moraine Moraine always shows the only latest version in the repository to the user. Newer Repository Access User Actual file structure Newer Latest version file Users surface view Newer

9 Architecture of Moraine User Kernel HDD User Process VFSVCD RCS UFS Version Management Sub-System -retrieve versions -show a delta Control Commands Vertical File SystemVersion Control Daemon Unix File system VFS is designed as a stackable file system. It is a logical file system above physical file system like UFS. VFS Vertical File System

10 Stackable File System Stackable file system can be constructed without changing existent file system. The output of a stackable file system is a file sent to the lower file system. Stackable file system has a portability.

11 Architecture of Moraine User Kernel HDD User Process VFSVCD RCS UFS Version Management Sub-System -retrieve versions -show a delta Control Commands Vertical File SystemVersion Control Daemon The version management sub-system performs the version create work such as delta computing between versions. VCD Version Control Daemon VCD is a daemon process which acts as a bridge between the kernel and the version management sub-system. Control commands help to manage system behavior.

12 Evaluation of Moraine To know that Moraine is practically acceptable, we have measured system performance and stored data size. Measurement environment We have compared Raw UFS (UNIX file system) with Moraine. Machine: Pentium 166MHZ/48MB RAM We used such a low performance computer to increase comparison sensitivity.

13 Evaluation -Read- We have measured a response time for a UNIX process to read files.

14 Evaluation -Write- We have measured a response time for a UNIX process to write files.

15 Evaluation -Write- We have measured a response time for a UNIX process to write files. Moraine+Sync: time for completion of all write operations

16 Evaluation -Data Size- 1/2 Student1Student2Student3 LOC # of files Final file size (KB) # of all versions # of versions of source codes We have applied Moraine to the student project of our university. Student1Student2Student3 LOC # of files Final file size (KB) # of all versions # of versions of source codes

17 Evaluation -Data Size- 2/2

18 Overviews of Mame Mame uses Moraine to collect metrics data. Mame(Moraine As a Metrics Environment) is an infrastructure for quantitative product measurement of ordinary software development activities.

19 Features of Mame Engineers do not need to change their working environments. The data of various activities on the environment is automatically collected. Mame provides fine-grained data and can be abstracted. The data format is non-proprietary.

20 Architecture of Mame Development environment for software engineers is put above Moraine. Development Environment -Metrics Tools -Version Viewer Read/Write files Development Activities Analysis data HDD VFSVCD UFS RCS Commands Moraine

21 Experiment of Using Mame We have applied Mame to the student project which is the same one used as the evaluation of Moraine. The metrics data was obtained after the project termination. Metrics data The number of files The total lines of codes in the files The number of C functions in the source files

22 Product Evolution 1/2 The horizontal axis is the cumulative number of versions for C source files 147

23 Product Evolution 2/2 The developer first created skeleton of functions, then he filled function bodies. 147

24 Discussions(Moraine) Moraine automatically collects all versions of all files created or modified. We can recover any old files and any old versions if necessary. The performance of Moraine is enough as a basis of software development platforms.

25 Discussions(Mame) There are no specific enforcement to the developers. We can set up or change data collection policy during the project or after the project. Ordinary metrics environments require predetermined data collection policy.

26 Related Work COMPAQ(DEC) OpenVMS The file system is the proprietary system. ClearCase, PVCS, Visual Source Safe Users have to recognize the systems and to issue check-in/check-out commands for the version management. 3D Filesystem Registering a new version requires some supporting tools associated with the file system. Our Moraine does not need any knowledge or commands of archiving for users.

27 Conclusion We presented Moraine that automatically records the history of files. It is very practical. We also presented Mame which collects data of various activities without a burden to the developers. This approach would be one answer to rapid increase of disk space.

28 The End

29 Version Viewer