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 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
[Slides]
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
[Slides]
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.