30 May - Friday
Session 3
2:00 PM

  Research Papers   Keynotes & Invited Talks
  Experience Reports   Panels
  Education & Training Reports   Research Demonstrations
  Awards & General Remarks   Meetings

Static and Dynamic Analysis
20 May @ 2:00 PM

St. Louis Ballroom D [Floor Plan]
Session Chair: Mats Heimdahl

> Check 'n Crash: Combining Static Checking and Testing
Christoph Csallner and Yannis Smaragdakis
> Efficient and Precise Dynamic Impact Analysis Using Execute-After Sequences
Taweesup Apiwattanapong, Alessandro Orso, and Mary Jean Harrold
> DynAlloy: Upgrading Alloy with Actions
Marcelo Frias, Juan Galeotti, Carlos Lopez Pombo, and Nazareno Aguirre


Empirical Studies
20 May @ 2:00 PM

St. Louis Ballroom E [Floor Plan]
Session Chair: Juan Fernandez Ramil

> Beyond Templates: a Study of Clones in the STL and Some General Implications
Hamid Abdul Basit, Damith Chatura Rajapakse, and Stan Jarzabek
> The Value of a Usability-Supporting Architectural Pattern in Software Architecture Design: A Controlled Experiment
Elspeth Golden, Bonnie John, and Len Bass
> Experimental Context Classification: Incentives and Experience of Subjects
Martin Host, Claes Wohlin, and Thomas Thelin

St. Louis Ballroom E [Floor Plan]

Prediction & Verification
20 May @ 2:00 PM

St. Louis Ballroom C [Floor Plan]
Session Chair: Klaus Pohl

> Static Analysis Tools as Early Indicators of Pre-Release Defect Density
Nachiappan Nagappan and Thomas Ball
> Validation Methods for Calibrating Software Effort Models
Tim Menzies, Daniel Port, Zhihao Chen, Jairus Hihn, and Sherry Stukes
> A Case Study on the Automated Verification of Groupware Protocols
Maurice H. ter Beek, Mieke Massink, Diego Latella, Stefania Gnesi, Alessandro Forghieri, and Maurizio Sebastianis


Eric Brechner (Microsoft Corp.)
Journey of Enlightenment & the Evolution of Development at Microsoft
20 May @ 2:00 PM

St. Louis Ballroom A & B [Floor Plan]
Session Chair: David Rosenblum

Biography:Eric Brechner is the director of development excellence for Microsoft Corporation. His group is responsible improving the processes and practices of software development across Microsoft through the application of Human Performance Technology. Prior to his current assignment, Eric was director of development training, and the head of development for an Office shared feature team. Before joining Microsoft in 1995, Eric was a Senior Principal Scientist at The Boeing Company where he worked in the areas of largescale visualization, computational geometry, network communications, data-flow languages, and software integration.

He was the principal architect of FlyThru(tm), the walkthrough program for the 20GB, 500+ million polygon model of the Boeing 777 aircraft. Eric has also worked in computer graphics and CAD for Silicon Graphics Inc., GRAFTEK, and the Jet Propulsion Laboratory. He holds five patents, a BS and MS in mathematics, and a Ph.D. in applied mathematics from Rensselaer Polytechnic Institute.

Abstract: Like many software companies, Microsoft has been doing distributed application development for many years. However, recent changes in the market have altered the rules, both in terms of customer expectations and programming models for ubiquitous interconnected smart devices. These changes have provoked two dramatic shifts in the way we develop software. The first is the creation and use of the .NET Framework as a simple, secure, and robust platform for device independent software development, data transfer, and communications. The second is an agile yet highly disciplined approach to designing, testing, implementing, and verifying our software which presumes all bugs are unacceptable and must be found and fixed early before they impact internal groups, external partners, and eventually our customers. This paper discusses the nature and impact of these two dramatic shifts to the development practices at Microsoft.

Roy T. Fielding (Day Software)
Software Architecture in an Open Source World
20 May @ 2:00 PM

St. Louis Ballroom A & B [Floor Plan]
Session Chair: David Rosenblum

Biography: Roy T. Fielding is the chief scientist of Day Software. He is best known for his work in developing and defining the modern World Wide Web infrastructure by authoring the Internet standards for HTTP and URI, defining the REST architectural style, and as co-founder and former chairman of the Apache Software Foundation. Dr. Fielding received his Ph.D. degree in Information and Computer Science from the University of California, Irvine, and serves as an elected member of the W3C Technical Architecture Group.
Abstract: In spite of the hype and hysteria surrounding open source software development, there is very little that can be said of open source in general. Open source projects range in scope from the miniscule, such as the thousands of non-maintained code dumps left behind at the end of class projects, dissertations, and failed commercial ventures, to the truly international, with thousands of developers collaborating, directly or indirectly, on a common platform. One characteristic that is shared by the largest and most successful open source projects, however, is a software architecture designed to promote anarchic collaboration through extensions while at the same time preserving centralized control over the interfaces.

This talk features a survey of the state-of-the-practice in open source development in regards to software architecture, with particular emphasis on the modular extensibility interfaces within several of the most successful projects, including Apache httpd, Eclipse, Mozilla Firefox, Linux kernel, and the World Wide Web (which few people recognize as an open source project in itself). These projects fall under the general category of collaborative open source software development, which emphasizes community aspects of software engineering in order to compensate for the often-volunteer nature of core developers and take advantage of the scalability obtainable through Internet-based virtual organizations.