1 / 12

Developing Contemporary Canonical Software Courses Summer Program Overview

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

warren
Download Presentation

Developing Contemporary Canonical Software Courses Summer Program Overview

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. Developing Contemporary Canonical Software CoursesSummer Program Overview Rise Research Group at Drexel

  2. 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

  3. 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.

  4. 3-Steps towards the new courses • Knowledge organization (2009-2010) • Technology organization • Architecture recovery • Architecture representation • Teaching Package Organization (2010-2011) • Course Offering (2011-2012)

  5. 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?

  6. 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

  7. 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.

  8. 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?

  9. Tools used for data miningSunny and KP • Architecture recovery • Mining bug report and communications

  10. Research Topics out of the Project--Submitting papers to ICSE

  11. 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?

  12. 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.

More Related