Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering CS3003

Similar presentations


Presentation on theme: "Software Engineering CS3003"— Presentation transcript:

1 Software Engineering CS3003
Lecture 2 Software Development Portals and Data

2 Structure What is open source and closed source software?
How can open source data be used in software engineering? What is the Eclipse portal? Eclipse Data Eclipse GIT Eclipse Bugzilla

3 What is the difference between closed and open source software?
Closed source software: Commercial software - bespoke or packaged Usually evolved for customers by development company Open source software: Developed by non-commercial ‘communities’ (FLOSS) Characterised by 4f’s: Free of cost, freedom of development contribution, freely available source code, freedom to re-distribute Increasingly used by commercial businesses E.g. IBM runs Linux

4 What are the features of OSS development?
Users treated as fellow developers Highly modular Early releases and frequent integrations Several versions Dynamic decision-making

5 How can OSS be used? Open source portals can host several hundred thousand OSS: E.g. Freshmeat.com, SourceForge.com, GitHub.com OSS development tools common: Revision control, e.g. CVS, Subversion, Git Utilities, e.g. integration tools (Tinderbox), bug reporting (Bugzilla) Communication, e.g. mailing lists, messaging etc. SourceForge uses centralised tool kit Open source licenses E.g. GNU General Public License

6 What is Eclipse? Eclipse ( is an open source community, whose projects are focused on building an open development platform. The Eclipse Project was originally created by IBM in 2001, and became open source in 2004. Eclipse started as a Java IDE, but has since grown to be much, much more. Eclipse projects now cover: static and dynamic languages; modeling and business reporting; embedded and mobile. Etc.

7 Eclipse data for investigating SE
Eclipse is a good resource for software engineering Incremental development Data and code can be freely accessed Previous SE investigations using Eclipse data, e.g. change patterns over time, fault proneness, impact of code unit size on maintenance effort, etc. Sliwerski et al. 2005, Li & Shatnawi 2007, Zimmermann et al. 2007 There are three main resources to use Eclipse SVN web browser Eclipse Git, which contains Eclipse source code Development historical data (when, who, and why the code was changed) Eclipse Bugzilla, which contains detailed information about bugs

8 Eclipse versions: Introduction
Various ways to access Eclipse versions using: Web interface Git via SmartGit Git via command line

9 Eclipse Web Interface Eclipse project contains a lot of source code packages

10 In each package, the “src” sub-folder contains the source code

11 A source code file entry contains version information of the code, such as, current version number of the code, and the latest check-in comments Clicking onto a file entry will access the version information page, which contains more information about the history of the code

12 In the version information page, version entries are sorted in decending order
A version entry contains: Check-in time (when the code was changed) Author of this version (who changed it) Check-in comments (why the code was changed)

13 Eclipse Git via Smart Git
Git is a open source version control system SmartGit provides a graphical access to Git Stores: all versions of all files all changes made to those files all details of all changes Need to make a clone of Eclipse JDT to use with Smart Git

14

15

16 Eclipse: Git via command line
Make sure that you have cloned Eclipse into your directory. From your directory to get a git log either on screen or to a file: H:\> git log H:\> git log >filename.log Can then analyse many logs automatically

17 Eclipse Bugzilla: Introduction
Bugzilla is an open source “Bug-Tracking System". Bugzilla allows individuals or groups of developers to keep track of bugs in their product effectively ( Eclipse Bugzilla URL:

18 Eclipse Bugzilla: Search a Bug by Bug ID
Select the search function from Eclipse Bugzilla main page

19 Select the advance search function

20 Scroll the page to the “Advanced Searching Using Boolean Charts” section
Select “Bug ID” and “is equal to” in the drop down lists Type in the Bug ID Click search

21 The bug information page contains information:
The status of a bug The severity level of a bug

22 References SLIWERSKI, J., ZIMMERMANN, T. & ZELLER, A. (2005) When Do Changes Induce Fixes? . ACM SIGSOFT Software Engineering Notes, Proceedings of the 2005 international workshop on mining software repositories MSR ' pp. 1-5. ZIMMERMANN, T., PREMRAJ, R. & ZELLER, A. (2007) Predicting Defects for Eclipse. IN PREMRAJ, R. (Ed.) Predictor Models in Software Engineering, PROMISE'07: ICSE Workshops International Workshop on. pp. 9-9. LI, W. & SHATNAWI, R. (2007) An empirical study of the bad smells and class error probability in the post-release object-oriented system evolution. Journal of Systems and Software, 80, pp FISCHER, M., PINZGER, M. & GALL, H. (2003) Populating a Release History Database from version control and bug tracking systems. IN PINZGER, M. (Ed.) Software Maintenance, ICSM Proceedings. International Conference on. pp

23 Reading for the week… Mockus, A.; Fielding, R.T.; Herbsleb, J.; , "A case study of open source software development: the Apache server ," Software Engineering, Proceedings of the 2000 International Conference on, vol., no., pp , 2000 Familiarise yourself with the Eclipse portal and what’s available there. Practice accessing faults and change information.


Download ppt "Software Engineering CS3003"

Similar presentations


Ads by Google