Aspect-Oriented
Software Development
18 May @ 11:00 AM
St.
Louis Ballroom D [Floor
Plan]
Session Chair: Harold Ossher
>
Aspect-Oriented Programming
and Modular Reasoning Gregor Kiczales and Mira Mezini
>
Classpects: Unifying Aspect- and Object-Oriented Language Design
Hridesh Rajan and Kevin Sullivan
>
Towards Aspect Weaving Applications Carine Courbis and Anthony Finkelstein
Databases
18 May @ 11:00 AM
St.
Louis Ballroom E [Floor
Plan]
Session Chair: Mary Lou Soffa
>
Testing Database Transactions
with AGENDA Yuetang Deng, Phyllis Frankl, and David Chays
>
SQL DOM: Compile Time Checking of Dynamic
SQL Statements Russell McClure and Ingolf Krüger
>
Safe Query Objects: Statically Typed Objects
as Remotely Executable Queries William Cook and Siddhartha Rai
Core Issues of Software
Engineering Education
18 May @ 11:00 AM
St.
Louis Ballroom C [Floor
Plan]
Session Chair: Paola Inverardi and Mehdi
Jazayeri
>
Deciding What to Design: Closing a Gap
in Software Engineering Education Mary Shaw, Jim Herbsleb, and Ipek Ozkaya
>
How to Teach Software Modeling Tetsuo
Tamai
>
Software
Test Program: A Software Residency Experience Augusto Sampaio, Carlos Albuquerque, J. Vasconcelos,
Luckerson Cruz, Luis Figueiredo, and Sergio Cavalcante
>
Enriching Software Engineering
Courses with Service-Learning Projects and the Open-Source Approach
Chang Liu
>
Do Students Recognize Ambiguity in Software
Design? A Multi-national, Multi-institutional Report Ken Blaha, Alvaro Monge, Dean Sanders, Beth Simon, and Tammy
VanDeGrift
>
The Groupthink Specification Exercise
Michael Ernst and John Chapin
>
Will
Earlier Projects Plus a Disciplined Process Enforce SE
Principles Throughout the CS Curriculum? Linda Sherrell and Sajjan Shiva
Bev Littlewood (City University
London) Dependability
Assessment of Software-based Systems: State of the Art
18 May @ 11:00 AM
St.
Louis Ballroom A [Floor
Plan]
Session Chair: Jeff Kramer
[Slides]
Biography: Bev Littlewood
was co-Founder of the Centre for Software Reliability
and Director from 1983-2003. He is Professor of Software Engineering
at City University London. Bev has worked for many years on problems
associated with the modeling and evaluation of dependability of
software-based systems; he has published many papers in international
journals and conference proceedings and has edited several books. He
is a member of the UK Nuclear Safety Advisory Committee, of IFIP
Working Group 10.4 on Reliable Computing and Fault Tolerance, and of
the BCS Safety-Critical Systems Task Force. He is a Fellow of the
Royal Statistical Society.
Abstract: Everyone
knows that it is important to make systems dependable. Indeed, much of
software engineering can be seen to be a
means to this end (albeit not always acknowledged as
such). Unfortunately, these means of achieving dependability -
reliability, safety, security - cannot be guaranteed to succeed,
particularly for systems in which complex software plays a key
role. In particular, claims for system 'perfection' are never
believable. It is therefore necessary to have procedures for
assessing, preferably quantitatively, what level of dependability has
actually been achieved for a particular system. This turns out to be a
hard problem.
In this talk I shall describe the progress
that has been made in recent years in quantitative assessment of modest
levels of
reliability for software-based systems, such as in a safety-case
formalism. I shall identify deficiencies in our present capabilities,
as in assessment of socio-technical systems, the limits to the levels
of dependability that can be claimed, and in assessment of operational
security. I shall identify, and critically analyse, some of the
proposed ways forward, such as the use of BBNs and 'diversity'.
Armando Fox (Stanford
University)
Addressing Software Dependability with Statistical
and Machine Learning Techniques
18 May @ 11:00 AM
St.
Louis Ballroom A [Floor
Plan]
Session Chair: Jeff Kramer
[Slides]
Biography: Armando
Fox joined the Stanford faculty as an Assistant Professor in
January 1999. He received his Ph.D. from UC Berkeley, where he worked
with Professor Eric Brewer (co-founder of Inktomi Corp.) building
research prototypes of today's clustered Internet services and showing
how to use them to support mobile computing applications, including
the world's first graphical Web browser for handheld computers. His
research interests include system dependability and ubiquitous
computing. Armando was listed among the "Scientific American 50" of
2003 for his work on Recovery-Oriented Computing.
Prof. Fox has
received the Associated Students of Stanford University Teaching Award and the
Tau Beta Pi Award for Excellence in Undergraduate Engineering Education,
and has been named a Professor of the Year by the Stanford chapter of the
Society of Women Engineers. He received a BSEE from M.I.T. and an MSEE from
the University of Illinois, and worked as a
CPU architect at Intel Corp. He is also an ACM member and a founder of ProxiNet
(acquired by Pumatech in 1999), which commercialized thin
client mobile computing technology he helped develop at UC Berkeley. He can be
reached at fox@cs.stanford.edu.
Abstract: Our ability
to design and deploy large complex systems is outpacing
our ability to understand their behavior. How do we detect and
recover from "heisenbugs", which account for up to 40% of failures
in
complex Internet systems, without extensive application-specific
coding? Which users were affected, and for how long? How do we
diagnose and correct problems caused by configuration errors or
operator errors? Although these problems are posed at a high level of
abstraction, all we can usually measure directly are low-level
behaviors---analogous to driving a car while looking through a
magnifying glass. Machine learning can bridge this gap using
techniques that learn "baseline" models automatically or
semi-automatically, allowing the characterization and monitoring of
systems whose structure is not well understood a priori. In this talk
I'll discuss initial successes and future challenges in using machine
learning for failure detection and diagnosis, configuration
troubleshooting, attribution (which low-level properties appear to be
correlated with an observed high-level effect such as decreased
performance), and failure forecasting.
Research
Demonstrations I
18 May @ 11:00 AM
St.
Louis Ballroom B [Floor
Plan]
Session Chair: Sarfraz
Khurshid
>
Demonstration of JIVE and
JOVE: Java as it Happens Steven Reiss and Manos Renieris Informal Demo: 19 May @ 10:30 AM (during coffee break)
>
Chianti: A Change Impact Analysis Tool for Java Programs Xiaoxia
Ren, Barbara Ryder, Maximilian Stoerzer, and Frank Tip Informal Demo: 19 May @ 12:30 PM (during
lunch break)
>
The Concern Manipulation Environment William Chung, William Harrison, Vincent
Kruskal, Harold Ossher, Stanley M. Sutton Jr. and Peri Tarr, Matthew
Chapman, Andrew Clement, Helen Hawkins, and Sian January Informal Demo: 19 May @ 12:30 PM (during lunch
break)