Software Engineering CS3003

Slides:



Advertisements
Similar presentations
Software engineering tools for web development Jim Briggs 1CASE.
Advertisements

Min Zhang School of Computer Science University of Hertfordshire
APC Issue Tracking Introduction and Tour of APC’s JIRA Issue Tracker.
GForge: A collaborative development environment Presentation by: Geoff Gerfin.
XML Based Learning Environment Prashant Karmarkar Brendan Nolan Alexander Roda.
Development and Deployment Information Systems 337 Prof. Harry Plantinga.
Software Engineering Process and Tools in the Mozilla Project How open-source CM tools made Firefox the fastest and safest web browser.
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
Developing the NSDL User Portal Dean Krafft, Cornell University
1 Predictors of customer perceived software quality Paul Luo Li (ISRI – CMU) Audris Mockus (Avaya Research) Ping Zhang (Avaya Research)
IS 118 Introduction to Development Tools Week 1. Things to Cover UCID WebCT AFS Visual Basic.net Running PHP.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
15-Jul-15 Getting Ready for Java. What is Java? Java is a programming language: a language that you can learn to write, and the computer can be made to.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
G51FSE Version Control Naisan Benatar. Lecture 5 - Version Control 2 On today’s menu... The problems with lots of code and lots of people Version control.
SubVersioN – the new Central Service at DESY by Marian Gawron.
SEEM4570: XAMPP, Eclipse, Summary of Html Kangfei Zhao Room 711,ERB
Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009.
Source Forge Phi Le Thanh Huynh Surinder Singh Benjamin Roppiyakuda.
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
Software Management Systems Support for mbone videoconferencing for the research community - SUMOVER Socrates Varakliotis Piers O’Hanlon{kirstein, piers,
By: Taylor Helsper.  Introduction  Bug Tracking  Progress Tracking  Version Control  Conclusion  Questions.
1 Software Maintenance and Evolution CSSE 575: Session 8, Part 2 Analyzing Software Repositories Steve Chenoweth Office Phone: (812) Cell: (937)
Lecturer: Ghadah Aldehim
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
Open Source Workshop1 IBM Software Group Working with Apache Tuscany A Hands-On Workshop Luciano Resende Haleh.
RMG Study Group Session I: Git, Sphinx, webRMG Connie Gao 9/20/
Introduction to Version Control with SVN & Git CSC/ECE 517, Fall 2012 Titus Barik & Ed Gehringer, with help from Gaurav.
1 Topics for this Lecture Software maintenance in general Source control systems (intro to svn)
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
Article: Source Code Review Systems Author: Jason Remillard Presenter: Joe Borosky Class: Principles and Applications of Software Design Date: 11/2/2005.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
1 John Magee 9 November 2012 CS120 Lecture 17a: Publishing Web pages.
Dependency Tracking in software systems Presented by: Ashgan Fararooy.
Revision Control and Issue Tracking Andrew Watkins.
University of Maryland Bug Driven Bug Finding Chadd Williams.
SEIMS SUPPORT N.C. State Board of Elections
With Mercurial and Progress.   Introduction  What is version control ?  Why use version control ?  Centralised vs. Distributed  Why Mercurial ?
Source Forge Phi Le Thanh Huynh Surinder Singh Benjamin Roppiyakuda.
Software Engineering CS3003 Lecture 3 Software maintenance and evolution.
From Creation to Dissemination A Case Study in the Library of Congress’s use Open Source Software DLF Spring Forum Corey Keith
1 Lecture 19 Configuration Management Software Engineering.
SZZ – An overview David Bowes University of Hertfordshire.
Open Source The Future of Software What’s Open Source Open-source software is computer software whose source code is available under a copyright license.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
Subversion (SVN) Tutorial Source:
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Samad Paydar Web Technology Lab. Ferdowsi University of Mashhad 10 th August 2011.
Continuous Integration and Code Review: how IT can help Alex Lossent – IT/PES – Version Control Systems 29-Sep st Forum1.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary PTP 2.1 Release Review October 29, 2008.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary June, 2011 Made available under the Eclipse Public License v Mobile.
1 GIT NOUN \’GIT\ A DISTRIBUTED REVISION CONTROL AND SOURCE CODE MANAGEMENT (SCM) SYSTEM WITH AN EMPHASIS ON SPEED. INITIALLY DESIGNED AND DEVELOPED BY.
DevelopersCommitters Users I’m getting the following exception…. Anybody have any clue why??? +1, I like that idea… Source & Binary Code Repository Bug.
29-Nov-15 Getting Ready for Java. 2 What is Java? Java is a programming language: a language that you can learn to write, and the computer can be made.
GNOME, KDE and X Windows. The GNOME Project was started in 1997 to produce a free (as in freedom) desktop environment. GNU Network Object Model Environment.
Paperless Timesheet Management Project Anant Pednekar.
T Project Review WellIT I2 Iteration
Version Control and SVN ECE 297. Why Do We Need Version Control?
2/11/2007 NSL/SCS Development Jimmy Bonaiuto 2/26/2007.
The MDS / Golden Gate Collaboration Portal Tim Halloran with assists from Bill Scherlis George Fairbanks Sarah Baker NASA HDCP Meeting 4 Feb 03 Sun JPL.
TSSG Case Study: Using Free & Open Source Tools to Manage Software Quality EECS811: Software/IT Project Management Agile Integration Management Case Study.
Objective ICT : Internet of Services, Software & Virtualisation FLOSSEvo some preliminary ideas.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Open Source Project Development – A case study - CSC8350, 4/07/ Instructor: Xiaolin Hu - Presenters: Fasheng Qiu & Xue Wang.
Steve Chenoweth Office Phone: (812) Cell: (937)
CS5220 Advanced Topics in Web Programming Version Control with Git
Information Systems and Network Engineering Laboratory II
Proposed IT Infrastructure for TOP OS project
Development and Deployment
Design and Implementation
Presentation transcript:

Software Engineering CS3003 Lecture 2 Software Development Portals and Data

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

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

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

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

What is Eclipse? Eclipse (www.eclipse.org) 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.

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

Eclipse versions: Introduction Various ways to access Eclipse versions using: Web interface http://dev.eclipse.org/viewsvn/viewvc.cgi?view=roots Git via SmartGit Git via command line

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

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

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

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)

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

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

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 (www.bugzilla.org). Eclipse Bugzilla URL: https://bugs.eclipse.org/bugs/

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

Select the advance search function

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

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

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 '05. 30 pp. 1-5. ZIMMERMANN, T., PREMRAJ, R. & ZELLER, A. (2007) Predicting Defects for Eclipse. IN PREMRAJ, R. (Ed.) Predictor Models in Software Engineering, 2007. PROMISE'07: ICSE Workshops 2007. 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. 1120-1128. 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, 2003. ICSM 2003. Proceedings. International Conference on. pp. 23-32.

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