developing contemporary canonical software courses summer program overview rise research group at...

12
Developing Contemporary Canonical Software Courses Summer Program Overview Rise Research Group at Drexel

Upload: derrick-heath

Post on 12-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Developing Contemporary Canonical Software Courses Summer Program Overview Rise Research Group at Drexel

Developing Contemporary Canonical

Software Courses

Summer Program Overview

Rise Research Group at Drexel

Page 2: Developing Contemporary Canonical Software Courses Summer Program Overview Rise Research Group at Drexel

Our goal

• Developing two new canonical courses– Web server course– Web browser course

• Using Apache and Mozilla Firefox as case studies.

• New course material include: – Slides– Architecture Navigation Tool– Lab Assignments

Page 3: Developing Contemporary Canonical Software Courses Summer Program Overview Rise Research Group at Drexel

Objectives for the new courses• Understand the key concepts and knowledge, such as

HTTP, XML and service-oriented architecture• Be able to develop distributed Internet-based software

applications.• Be able to apply their knowledge to build multi-platform,

multi-language Internet-based software applications.• Be able to analyze the structure of Internet-based software

applications. • Be able to apply state-of-the-art reverse engineering tools

to recover the architecture of existing software projects.• Be able to represent and evaluate software designs in

terms of modularity, extensibility, maintainability, and reusability at micro-level.

Page 4: Developing Contemporary Canonical Software Courses Summer Program Overview Rise Research Group at Drexel

3-Steps towards the new courses

1. Knowledge organization (2009-2010)– Technology organization– Architecture recovery– Architecture representation

2. Teaching Package Organization (2010-2011)3. Course Offering (2011-2012)

Page 5: Developing Contemporary Canonical Software Courses Summer Program Overview Rise Research Group at Drexel

Goals of this summer• Understand the key technologies behind Apache and

Mozilla Fox– How to design a web server? A web browser? – How does a web server and a web browser interact with each

other? • Understand their architecture structure and how they

survive over years– How many main components/modules are there in each

system? – How do these components communicate with each other– Over their development history, how many developers were

involved and how the numbers changed? – Over their development history, how many refactoring

happened?

Page 6: Developing Contemporary Canonical Software Courses Summer Program Overview Rise Research Group at Drexel

Task for This summer

• Mine the data repository for Apache and Mozilla Firefox– Knowledge Organization• HTTP, HTML,XML, etc

– Architecture recovery• Using tools (Sunny)

–Architecture Representation• We will elaborate later

Page 7: Developing Contemporary Canonical Software Courses Summer Program Overview Rise Research Group at Drexel

Task for This summer

• What need to be mined? – Source code over all the versions of Apache and

Firefox• Understand the how the structures evolve over time• Understand how the features evolve over time• Understand where and when refactoring happened• After decomposing the system into modules, try to

understand the technologies behind each feature– Bug report• For each change, understand which and how many

other parts of the system changed accordingly.

Page 8: Developing Contemporary Canonical Software Courses Summer Program Overview Rise Research Group at Drexel

Task for This summer

• What need to be mined? – Mailing list• How the number of developers change over time? • How many sub-communities are there? • How does the communication correspond to modules?

Page 9: Developing Contemporary Canonical Software Courses Summer Program Overview Rise Research Group at Drexel

Tools used for data miningSunny and KP

• Architecture recovery

• Mining bug report and communications

Page 10: Developing Contemporary Canonical Software Courses Summer Program Overview Rise Research Group at Drexel

Research Topics out of the Project--Submitting papers to ICSE

Page 11: Developing Contemporary Canonical Software Courses Summer Program Overview Rise Research Group at Drexel

Research Topics

• How to predict change impact from architecture? (Sunny’s ICSM submission)

• How does modularization facilitate task assignment? (Sunny’s ASE submission)

• How to measure and compare architecture? (KP’s wicsa submission)– How the metrics value changes over time for

Apache and Firefox? • Any new topics?

Page 12: Developing Contemporary Canonical Software Courses Summer Program Overview Rise Research Group at Drexel

Weekly Tasks for Liz, Ritika, and Basil

• Week 1: get familiar with all these tools– Set up all the environment needed– Be able to use all the tools– Be able to write scripts to extract data

• We assign tasks at the beginning of each week.