CMSC 838P Spring 2003Internet-Scale Software Engineering: Leveraging Fielded ResourcesInstructor Adam Porter CSI 3118 TuTh 9:30pm-10:45pm |
Class requirements will primarily be a mid-term, a final, active class participation (including at least one presentation), and a
research project. The results of the research project will be captured in a
publishable-quality report.
Click here for weekly Reading Assignments
Click here for instructions on writing and submitting reviews for each reading assignment
Click here for reading schedule.
Dynamic analyses, such as testing, performance monitoring, and usage profiling, play a key
role in state-of-art approaches to software development and quality assurance. With rare exception, these analyses are performed in-house, on developer platforms, using developer-provided input workloads. A benefit of in-house analyses is that programs can be instrumented and analyzed at very fine levels of detail since the developers have unrestricted access to the software. The shortcomings are severe, however, including:The situation has only worsened with the growth of the Internet and the emergence of ubiquitous computing. First, the widespread use of computer systems has caused a dramatic increase in the demand for software, forcing many companies to shorten their software development time and to release software without performing adequate analysis and testing. Second, many of today's software products are run in very complicated and varying environments, and it is often impractical to analyze and test these software products under all possible runtime environments and configurations before releasing them.
There is a need to develop techniques and tools to bridge the existing gap between the way software is analyzed in-house and the way it is used in the field. We believe that those techniques and tools will save a great deal of time, effort, and resources throughout the software industry.
Consequently, we will explore how to achieve the following objectives:
This course will be logically divided into two, roughly-equal, sections.
This course will count towards the various comprehensive exam requirements. There will be a midterm, a final, and a term paper/project.-