ICSE 2008 in Leipzig, Germany

30th International Conference on
Software Engineering ®
Leipzig, Germany, 10 - 18 May 2008

the navigation:
end of the navigation
Keynotes | 40 Years of SE | Research Papers | Workshops | Tutorials | Automotive Systems | Health Care | Telecommunications | Education | Research Demonstrations | Doctoral Symposium | New Faculty Symposium | East and South Europe | Most Influential Paper Award | Other Awards | Co-located Events | Community Meetings | Social Events | Whole Program Day by Day | Speaker and Session Chair Guidelines | Downloads
end of the navigation



Monday, 12 May 2008 Tuesday, 13 May 2008
Boardroom 803 
Salon Wittenberg 
Salon Wittenberg 
Salon Schiller 
Salon Meissen 
Boardroom 802 
Boardroom 802 
Boardroom 809 
Boardroom 810+811 
Boardroom 810+811 
Salon Meissen 
Salon Meissen 
Salon Wittenberg 
Salon Wittenberg 
The Westin Leipzig
First letter denotes tutorial duration (F=full day, H = half day).

General Tutorial Schedule

 09:00 - 10:30 

 First Session

 10:30 - 11:00 

 Coffee Break

 11:00 - 12:30 

 Second Session 

 12:30 - 14:00 


 14:00 - 15:30 

 Third Session

 15:30 - 16:00 

 Coffeee Break 

 16:00 - 17:30 

 Fourth Session


T1: Cost Effectiveness Analysis in Software Development
Monday, 12 May 2008, full day
Boardroom 803, The Westin Leipzig
Hakan Erdogmus, NRC Institute for Information Technology, Canada

Investigations of software development techniques and software project management data generally report individually on the costs and benefits or the quality and productivity effects of the phenomenon under study, but rarely comment on the observations' or expectations' combined economic implications. This makes it difficult to obtain an objective insight into the tradeoffs involved. For example, is a technique that is believed to improve product quality significantly, but incurs a mild developer productivity penalty economically feasible? In other words, do the technique's benefits outweigh the costs, and if they do, under what conditions and assumptions? To answer these questions, quality and productivity measurements from software projects, process improvement initiatives, and empirical studies must be aggregated and interpreted. This tutorial will teach the participants how to leverage financial and micro-economic concepts to perform such aggregation and interpretation. The tutorial is geared towards software quality experts, process improvement practitioners, project managers, empirical software engineering researchers, and other students of software process. The orientation is quantitative. A lecture will be followed by a hands-on exercise.


Hakan Erdogmus is a Senior Research Officer at the NRC Institute for Information Technology in Ottawa, Canada and Editor in Chief of IEEE Software. He has presented and published extensively on software engineering economics and cost-benefit evaluation of development practices. Hakan teaches graduate courses on these topics at the University of Calgary, where he is an adjunct professor in the Computer Science Department. He is the 2003 recipient of the Eugene L. Grant prize awarded by the Engineering Economy division of The American Society for Engineering Education. Hakan holds an MSc in Computer Science from McGill University (1989) and a PhD in Telecommunications from Université du Québec (1994).


T2: Empirical Research Methods in Software Engineering
Monday, 12 May 2008, full day
Salon Schiller, The Westin Leipzig
Walter Tichy and Andreas Höfer, University of Karlsruhe, Germany

Over the past decade, empirical methods have gained acceptance for validating tools and methods in software research. This tutorial aims at acquainting participants with the main methods used in empirical work in software research. They will learn how to identify potential weaknesses and assess the validity of empirical results. A wide range of empirical approaches is covered: case studies, experiments, field studies, correlation studies, surveys, ethnographic studies, and meta-studies. These classes are introduced by prominent examples from the software engineering literature. Common pitfalls are pointed out. Participants also critique empirical papers in small discussion groups, based on worksheets with prepared questions. Frequently used statistical analysis techniques and graphical representations of data sets are taught with R, a powerful and free statistics package. The lessons in R include hands-on exercises on participants' laptops.


Walter F. Tichy has been Professor of Computer Science at the University of Karlsruhe, Germany, since 1986, and was Dean of the faculty of computer science from 2002 to 2004. Previously, he was senior scientist at Carnegie Group, Inc., in Pittsburgh, Pennsylvania and served six years on the faculty of Computer Science at Purdue University in West Lafayette, Indiana. His primary research interests are software engineering and parallelism. He is currently directing research on a variety of topics, including empirical software engineering, software architecture, software tools, cluster computing, and programming environments for multicore computers. He has consulted widely for industry. He earned an M.S. and a Ph.D. in Computer Science from Carnegie Mellon University in 1976 and 1980, resp. He is a director at the Forschungszentrum Informatik, a technology transfer institute. He is co-founder of ParTec, a company specializing in cluster computing. He was program co-chair of the 25th International Conference on Software Engineering in 2003.

Andreas Höfer is currently a Ph.D. student in the faculty of Computer Science at the University of Karlsruhe, Germany. He received his Diploma in Computer Science and his M.S. degree in Computer Science and Multimedia from the University of Applied Sciences Karlsruhe, Germany. His research interests include the empirical assessment of agile software processes and development methods. His work is sponsored by the German Research Foundation (DFG), project "Leicht" Ti 264/8-3.


T3: Fundamentals of Computing System Dependability
Monday, 12 May 2008, full day
Boardroom 802, The Westin Leipzig
John Knight, University of Virginia, USA

This tutorial will equip attendees with the fundamental principles necessary to tackle the development of dependable systems with an emphasis on software issues. Computer systems provide us with a wide range of services upon which we depend. For example, computers are embedded in automobiles, aircraft, appliances and medical devices, and failure of these systems can have serious consequences.

Meeting the essential dependability goals of such systems is often a bigger challenge than implementing functionality. It is important that computer engineers, software engineers, project managers, and users understand the major elements of current dependability technology, yet this material tends to be unfamiliar.

Topics covered in this tutorial will include: (1) basic concepts and terminology to permit effective communication between engineers; (2) the definition of dependability requirements so as to establish the engineering goals; (3) techniques for identifying fault types and sources so as to know what challenges to dependability are possible; (4) techniques for dealing with faults including fault avoidance, elimination and tolerance; (5) computer system structures; (6) formal software specification to improve specification accuracy; (7) correctness by construction using SPARK Ada to improve software quality; and (8) specialized topics including fail-stop machines, real-time buses, and Byzantine agreement.


John Knight holds a B.Sc. (Hons) in Mathematics from the Imperial College of Science and Technology (London) and a Ph.D. in Computer Science from the University of Newcastle upon Tyne. From 1974 to 1981 he was with NASA's Langley Research Center where he worked on parallel and real-time computing. He joined the University of Virginia in 1981 where he is a Professor of Computer Science. He teaches courses in Discrete Mathematics and Computing System Dependability. John Knight's primary research interests are in computer engineering for systems that require very high levels of dependability including embedded systems and networked information systems. John Knight is co-editor of the IEEE Readynote text "Avionics: A Computing Perspective". He was the General Chair of the 2007 International Conference on Software Engineering (ICSE 2007), and he served as Editor in Chief of the IEEE Transactions on Software Engineering from January 2002 to December 2005.


T5: Semantic Web Technologies in Software Engineering
Monday, 12 May 2008, full day
Boardroom 809, The Westin Leipzig
Harald Gall and Gerald Reif, University of Zurich, Switzerland

Over the years, the software engineering community has developed various tools to support the specification, development, and maintainance of software. Many of these tools use proprietary data formats to store artifacts that hamper interoperability. However, the Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries. Ontologies are used define the concepts in the domain of discourse and their relationships and as such provide the formal vocabulary applications use to exchange data. Beside the Web, the technologies developed for the Semantic Web have proven to be useful also in other domains, especially when data is exchanged between applications from different parties. Software engineering is one of these domains in which recent research shows that Semantic Web technologies are able to reduce the barriers of proprietary data formats and enable interoperability.

In this tutorial, we present Semantic Web technologies and their application in software engineering. We discuss the current status of ontologies for software entities, bug reports, or change requests, as well as semantic representations for software and its documentation. This way, architecture, design, code, or test models can be shared across application boundaries enabling a seamless integration of engineering results.


Harald C. Gall received the MSc and PhD (Dr.techn.) in informatics from the Technical University of Vienna, Austria. He is a professor of software engineering in the Department of Informatics at the University of Zurich, Switzerland. Prior to that, he was an associate professor in the Distributed Systems Group at the Technical University of Vienna, Austria. His research interests include software engineering, focusing on software evolution, software quality analysis, software architecture, reengineering, collaborative software engineering, and service centric software systems. Recently, he was the program chair of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC-FSE) in 2005, the International Workshop on Mining Software Repositories (MSR), colocated with the International Conference on Software Engineering (ICSE) in 2006 and 2007.

Gerald Reif is senior research associate at the University of Zurich, Department of Informatics. He received his master's degree from the Graz University of Technology in 2000. He received his PhD (Dr.techn.) from the Vienna University of Technology in June 2005. The topic of his thesis was "Web Engineering for Semantic Web Applications." After his PhD, Gerald Reif started as a postdoc in the Software Evolution and Architecture Lab at the University of Zurich in September 2005 to further pursue his research in the area of Semantic Web Applications. Currently, he is in charge of the architecture of the Social Semantic Desktop in the European Union research project NEPOMUK. Further, he leads the KTI project Localina which aims to develop a semantic recommender system. His recent work on the Semantic Clipboard takes part in the Semantic Web Challenge 2007 at the International Semantic Web Conference 2007 (ISWC).


T6: Model Driven Language Engineering
Monday, 12 May 2008, half day (AM)
Boardroom 810+811, The Westin Leipzig
Jean-Marc Jezequel, University of Rennes, France
Franck Fleurey, SINTEF, Oslo, Norway

In many domains such as aerospace and automotive industries, engineers rely on Domain Specific Modeling Languages (DSML) to solve the complex issues of engineering safety critical software. Traditional Language Engineering starts with the grammar of a language to produce tools for processing programs expressed in this language. Recently however, many new languages tend to be first defined through meta-models, i.e. models describing their abstract syntax. Relying on well-tooled standards such as E-MOF, this approach makes it possible to readily benefit from tools such as reflexive editors, or XML serialization of models.

This tutorial aims at showing how Model Driven Engineering can easily complement these off-the-shelf tools to obtain a complete environment for such a language, including interpreter, compiler, pretty-printer and customizable editors. We illustrate the conceptual simplicity and elegance of this approach using the running example of the well known LOGO programming language, for which a complete programming environment (meta-model, static semantics, dynamic semantics, compilation for the Mindstorm platform) is incrementally developed within the Kernel Meta-Modeling environment Kermeta.

This tutorial will mix presentations, ongoing demonstration of the environment being built for LOGO within Eclipse, and do-it-yourself sessions where attendees develop several aspects of the environment by themselves.


Jean-Marc Jezequel received an engineering degree in Telecommunications (ENSTB, 1986), and a Ph.D. in Computer Science (University of Rennes, 1989). He first worked in the Telecom industry before joining CNRS (1991). Since 2000, he is a Professor at the University of Rennes, and also leads an INRIA research team called Triskell. His interests include model driven software engineering for telecommunications and distributed systems. He is involved in several international collaborations, including the Artist2 NoE on Embedded Systems Design, and the AOSD-Europe NoE on Aspect-Oriented Software Development. He is the author of the books "OO Software Engineering with Eiffel" and "Design Patterns and Contracts" (Addison-Wesley 1996 & 1999), and of more than 100 publications in international journals and conferences. He is a member of the steering committee of the MODELS/UML conference series and served on the editorial boards of IEEE Transactions on Software Engineering and on the Journal on Software and System Modeling: SoSyM.

Dr Franck Fleurey received in 2003 an engineering degree in Computer Science and Telecommunications from the IFSIC and a Master in Software Engineering from the University of Rennes, France. He received a Ph.D. degree in Computer Science from the university of Rennes, France in 2006 for a dissertation on the reliability of model-driven development techniques. Part of his doctorate work has been to propose the Kermeta language as a core for an MDE platform. In 2006/2008 he worked for a year on using MDE for the migration of large business applications in the Softmaint company located in Nantes, France. In 2008, he moved to a full time position at SINTEF, Oslo, Norway to work on several MDE projects.


T7: Building Memory-Efficient Java Applications
Monday, 12 May 2008, half day (PM)
Boardroom 810+811, The Westin Leipzig
Gary Sevitsky, IBM Research, USA

It is easy these days to build Java applications with large memory requirements. We commonly see multi-gigabyte heaps with tens of millions of objects, where as much as 80% of memory is the overhead of the data representation. Moreover, problems often show up late in the development cycle, long after important design decisions have been set. This bloat can have a serious impact on deployment. Fortunately, bloated designs are not an inevitable consequence of object-oriented development.

This tutorial is a guide to memory-conscious design in Java. Using documentary examples and a look inside key Java mechanisms, the tutorial aims to empower developers to make informed tradeoff decisions, and to show how dramatic improvements are often possible with little sacrifice. Case studies are organized by design problem, giving developers a systematic approach to decision making in their own code and in frameworks they use. The tutorial will also raise awareness for development leads, framework designers and other decision makers, of the severity of problems that can occur. Topics covered include memory footprint, temporaries, object lifetime management, and simple strategies for reducing risks. The tutorial does not cover capacity planning, cache sizing, or leaks.


Since joining IBM Research in 1998, Gary Sevitsky has been part of a group studying performance and memory usage in large object-oriented systems. The group has developed Java performance and memory analysis tools that have been used extensively on IBM product and customer code. The group has also worked directly on many performance engagements over the past six years, and has been mining these experiences to catalog the ways in which framework-based systems are often inefficient. Gary has given numerous talks at IBM and universities cataloging problems from case studies and documenting the systemic bloat common in large object-oriented systems.


T8: Automated Techniques for Compositional Verification
Monday, 12 May 2008, half day (AM)
Salon Meissen, The Westin Leipzig
Dimitra Giannakopoulou and Corina Pãsãreanu, NASA Ames Research Center, USA

This tutorial focuses on automated component-based verification of large safety-critical systems. Extensive verification of such systems suffers from scalability problems. Compositional techniques exploit the system structure into components to achieve more scalable verification. We will present several recently developed frameworks that automate compositional verification, thus making it more accessible to software engineers. These frameworks automatically generate assumptions that model the operational context of a component when checking the component in isolation. We will review algorithmic techniques for constructing assumptions as well as learning-based techniques that guess assumptions and update them in a systematic and iterative fashion. The frameworks presented will be illustrated by means of examples. Their application to several realistic systems will also be discussed. Finally, participants to the tutorial will get to use these techniques as implemented within Java PathFinder, an Open Source Model Checker for Java programs.


The presenters are Research Scientists at the NASA Ames Research Center, Robust Software Engineering Group. Together they received an ACM distinguished paper award for their work on automatically generating assumptions for component verification. They are jointly editing a special issue of the Formal Methods for System Design journal by Springer on Compositional Reasoning. They gave numerous invited presentations on automated compositional reasoning.

Dimitra Giannakopoulou is employed by RIACS / USRA. Her research focuses on scalable specification and verification techniques for NASA systems. In particular, she is interested in incremental and compositional model checking based on software components and architectures. She received her Ph.D. in 1999 from Imperial College, University of London. She has authored over 30 publications in international conferences and journals. She has served on program committees for international conferences such as FSE, ICSE, ASE, CONCUR, FASE and FM, and has participated in the organization of such events as Posters and Workshops Co-Chair. She is one of the founders and organizers of the SAVCBS (Specification and Verification of Component-Based Systems) workshop series (http://www.eecs.ucf.edu/SAVCBS/).

Corina Pãsãreanu is employed by Perot Systems Government Services. Her research focuses on using abstraction and symbolic execution in the context of software model checking, with applications to test input generation and error detection. Her research interests also include automating assume-guarantee compositional verification and designing languages for commanding robots. She received her PhD degree from Kansas State University. She is the co-recipient of the NASA "Turning Goals into Reality" award as part of the Java PathFinder Team (2003) and of the Haifa Verification Award (2007). She has served on program committees for major meetings in the formal analysis area, such as CAV, ISSTA, FSE, ICSE, and SPIN. She will be the co-chair of the 5th International Workshop on Formal Aspects of Component Software (Malaga, Spain, 2008).


T9: Mining Software Engineering Data
Monday, 12 May 2008, half day (PM)
Salon Meissen, The Westin Leipzig
Ahmed E. Hassan, Queen's University, Canada
Tao Xie, North Carolina State University, USA

Software engineering data (such as code bases, execution traces, historical code changes, mailing lists, and bug databases) contain a wealth of information about a project's status, progress, and evolution. Using well-established data mining techniques, practitioners and researchers can explore the potential of this valuable data in order to better manage their projects and to produce higher quality software systems that are delivered on time and on budget.

This tutorial presents the latest research in mining Software Engineering (SE) data, discusses challenges associated with mining SE data, highlights SE data mining success stories, and outlines future research directions. Attendees will acquire the knowledge and skills needed to perform research or conduct practice in the field and to integrate data mining techniques in their own research or practice. More information about the tutorial can be found at http://ase.csc.ncsu.edu/dmse/.


Ahmed E. Hassan is an Assistant Professor with the School of Computing at Queen's University in Canada. He received both the Ph.D. and MMath degrees from the School of Computer Science at the University of Waterloo in Canada. His research interests include mining software engineering data, performance engineering, and distributed fault tolerant systems. Dr. Hassan spent the early part of his career (5 years) helping architect the Blackberry wireless platform at Research In Motion (RIM). He contributed to the development of protocols, simulation tools, and software to ensure the scalability and reliability of RIM's global infrastructure. Dr. Hassan spearheaded the organization and creation of the Working Conference on Mining Software Repositories (MSR) and its associated research community. For 2008, he is the program co-chair of the 15 th Working Conference of Reverse Engineering (WCRE) and he is the general chair for 5th working conference on MSR co-located with ICSE 2008 (www.msrconf.org ).

Tao Xie is an Assistant Professor in the Department of Computer Science of the College of Engineering at North Carolina State University. He received his Ph.D. in Computer Science from the University of Washington in 2005. He leads the Automated Software Engineering Research Group at North Carolina State University. His research interests are in improving software dependability and productivity. His research centers around two major themes: automated software testing and mining software engineering data with focus on software security testing and analysis, testing and analysis of aspect-oriented programs, web services and applications, and software designs, in addition to software verification and software evolution. His research has exploited data mining techniques for both dynamic and static program information as well as bug reports. He co-organized the 2007 Dagstuhl Seminar on Mining Programs and Processes. He co-presented tutorials on applying data mining in software engineering at KDD 2006, ICSE 2007, and ICDM 2007.


T10: Principles of Service-Oriented Architectures (SOA)
Monday, 12 May 2008, half day (AM)
Salon Wittenberg, The Westin Leipzig
Gregor Engels, University of Paderborn and sd&m Research, Munich, Germany

(related to T11 and could / should be taken together)

Service-oriented architectures (SOA) are promoted as the final answer to the long standing demand to bridge the gap between business needs and IT-solutions. Like object-orientation has been advocated as the overall structuring principle in the 90s, service-orientation is nowadays discussed as the magic bullet to align business requirements with software applications.

As it is typical for any hype approach, a commonly agreed understanding of the basic principles and notions for service-oriented concepts is still missing. This leads often to misunderstandings and communication problems in IT-projects and, thus, jeopardizes the success of migration projects where existing architectures are advanced towards service-oriented architectures.

The tutorial aims at clarifying the understanding of basic principles, notions, languages as well as methods of a service-oriented approach. It lays the foundation for Tutorial T11, which will show how SOA is used in practice to achieve enterprise integration. All introduced concepts are related to existing knowledge on software architectures, architectural styles, and architecture frameworks. Presented methodical guidelines have been derived from successful industrial IT-projects and are part of Quasar Enterprise, the service-oriented development approach of sd&m AG, Munich (Germany).

The tutorial is intended for industrial as well as academic people who are interested in a better understanding of basic principles and notions of service-oriented architectures, in order to judge benefits and risks of following a service-oriented approach.


Gregor Engels holds the chair for information systems at the University of Paderborn (Germany) since 1997. He heads the s-lab (Software Quality Lab), a public-private-partnership institute with 7 industrial partners at the University of Paderborn. Since 2005, he is scientific director of the research department of sd&m AG, Munich (Germany), a software and system house with 1,500 employed software engineers. His interests are object-oriented modelling techniques, software architectures, quality assurance techniques, as well as technology transfer approaches bridging the gap between conceptual scientific results and industrial requirements. He has published more than 150 scientific contributions. Recently, he has published together with several co-authors a book on Quasar Enterprise, the sd&m approach towards service-oriented architectures for application landscapes. He gave tutorials on software design methods, and object-oriented modelling techniques (UML) at several international conferences as well as industrial seminars.


T11: Enterprise Integration with Service Oriented Architectures
Monday, 12 May 2008, half day (PM)
Salon Wittenberg, The Westin Leipzig
Christoph Bröcker, Zühlke Engineering GmbH

Within today's enterprises, nearly all processes are already supported by IT systems. Further increases in productivity depend on the effective coordination of these systems, an area known as Enterprise Integration. Challenges in this field include technical heterogeneity, dependency management, quality assurance and stakeholder coordination.

SOA can be viewed as an approach towards Enterprise Integration. It promotes services as connection points between different technology platforms and between areas of organisational responsibility. By focusing on the orchestration of services, SOA also provides a blueprint of a more direct expression of business processes.

This tutorial follows on from the presentation of SOA principles given in tutorial T10 and highlights the strong link between Enterprise Integration and SOA. In an interactive style, we explore answers to the following questions:

  • Why is Enterprise Integration (EI) so hard?

  • How can the typical activities around EI be structured?

  • EI, EAI, SOA and BPM - how are all these buzzwords related?

  • Is SOA the single answer to the questions of EI?

  • What is flexibility and how can we achieve it?

The target audience for this tutorial are industry practitioners as well as researchers interested in practical aspects of system-of-systems integration. This tutorial is partially based on the Zühlke Applied Framework for Integration and Reuse (ZAFIR).


Christoph Bröcker is a business unit manager with Zühlke Engineering GmbH in Eschborn, an independent technology and consulting firm. He received a degree in mathematics and a PhD in computer science from Freiburg University, Germany. As a developer, architect and manager, he has worked on numerous IT projects over the last 15 years, including three years in Scotland. In the last five years he has specialized on Enterprise Integration and conducted a number of projects that used a service-oriented architecture to achieve such integration. Industry experience includes Finance, Telecoms, and Logistics. Heading a team of consultants in the area of Process Management and Integration, his current prime interest is to improve the way enterprise IT systems are integrated, both in terms of people and systems.


T12: Eclipse, Quo Vadis
Tuesday, 13 May 2008, half day (AM)
Salon Wittenberg, The Westin Leipzig
Akmal Chaudhri, IBM, UK

(related to T13 and could / should be taken together)

The Eclipse community is constantly working on high-level projects that extend Eclipse's functionality. Eclipse has evolved into a universal platform for anything and everything related to software development and beyond. You now have the ability to do things like geographically distributed collaboration, rich client development, and even application runtime analysis all within Eclipse. This tutorial will focus on some of the most important, feature rich projects that the Eclipse community is developing - from multi-language support to plug-in development. The tutorial will outline the trajectory that Eclipse development will take over the next couple of years. In this tutorial, you will learn about the following:

  • Introduction to the Eclipse community and an overview of major Eclipse projects

  • Multi-language support using the Eclipse Web Tools Platform, including Web services and Java EE applications

  • Testing features of the Test and Performance Tools Platform project

  • The collaboration capabilities of the Eclipse Collaboration Framework

  • Next steps in learning more about Eclipse

Demos will be used throughout to illustrate the functionality of selected Eclipse projects.

This tutorial may be attended in conjunction with Tutorial T13, which provides an introduction to the Eclipse Rich Client Platform that is used to develop extensions to Eclipse.


Akmal B. Chaudhri works at IBM UK to promote object technology. He has been working with object database systems since 1988. He has published and presented widely on Java, XML and Database-related topics at many international conferences, including Object World, Object Technology and OOPSLA. He has also served on the program committees for a number of major conferences and workshops and has edited or co-edited six books and four workshop proceedings, including XML Data Management (Addison-Wesley, 2003). Previously, he has worked in a variety of roles, covering development, consultancy and product strategy with Reuters, Logica, Computer Associates and Informix. He holds a BSc (1st Class Hons.) in Computing and Information Systems, MSc in Business Systems Analysis and Design and a PhD in Computer Science. He is also a Member of the British Computer Society (MBCS).


T13: The Eclipse Rich Client Platform
Tuesday, 13 May 2008, half day (PM)
Salon Wittenberg, The Westin Leipzig
Stefanos Zachariadis

This tutorial will introduce developers to programming using the Eclipse Rich Client Platform, which is used for building both extensions of Eclipse-based software development and stand-alone applications that need very sophisticated user interfaces. The target audience therefore includes software engineering researchers wishing to build prototypes to exhibit and evaluate their research results, as well as software engineering practitioners who want to understand how they can build sophisticated GUIs using the Eclipse RCP.

We will demonstrate the uses of Eclipse RCP as a runtime to develop desktop, embedded and rich Internet (AJAX) applications. We will begin with OSGi, the component model adopted by Eclipse and its class loading and component dependency resolution mechanisms, We will show how to program OSGi services and demonstrate dynamic deployment, exposure and consumption of OSGi services. The importance of OSGi as a component platform for the future will be explained, by discussing its use as a server-side platform and its integration with the Spring framework. The Eclipse user interface primitives will be discussed in depth, and we will show how it is built on top of SWT and JFace, with the underlying platform's native GUI system used to display the application.

The main Eclipse application building blocks, views, perspectives, editors and workbench windows will be discussed, and participants will be taught how to configure and program them. Participants will be shown the structure of an Eclipse plugin, and how Eclipse RCP applications are a collection of loosely coupled plugins, with extension points (both functional and declarative) used to achieve this coupling. Unit testing using PDE-Unit will also be discussed. The relationship between plug-ins, features and products will be explained. The Eclipse Concurrency (Jobs) API will be discussed and used and finally, we will show how the Preferences API can be used to store arbitrary hierarchical data.


Stefanos Zachariadis graduated with a BSc in Computer Science from University College London in 2001 and completed a PhD in Computer Science at the same institution in 2005. In his PhD he explored the use of code mobility to create dynamically adaptable mobile systems. He continued at the same institution as a research fellow, and his research was used by the European Union to create an adaptable security system, and by the European Space Agency to investigate dynamically adapting satellite software. He also worked extensively with sensor networks.

He has been working as a software engineer at Zuhlke Engineering Ltd in London since 2005, developing software for the financial services industry in London. In particular, he has developed Eclipse-based software that was used by hundreds of developers to implement a trading platform. He is the author and principal instructor of Zuhlke Engineering's Eclipse RCP training course.


T15: Pragmatic Design Quality Assessment
Tuesday, 13 May 2008, full day
Salon Meissen, The Westin Leipzig
Tudor Girba, University of Berne, Switzerland
Michele Lanza, University of Lugano, Switzerland
Radu Marinescu, Politehnica University of Timisoara, Romania

Quality control is paramount in every engineering discipline. Software engineering, however, is not considered a classical engineering activity for several reasons, such as intrinsic complexity and lack of rigor. In general, if a software system is delivering the expected functionality, only in few cases people see the need to analyze the internals. In this tutorial we offer a pragmatic approach to analyzing the quality of software systems. On the one hand, we cover the theory of detecting quality problems by using and combining metrics, by analyzing the past through evolution analysis, and by providing visual evidence of the state of affairs in the system. On the other hand, as analyzing real systems requires adequate tool support, we provider an overview of the problems that occur in using such tools and provide a hands-on session with state-of-the-art tools used on a real case study.


Tudor Girba attained the PhD degree in 2005, and since then he is working as senior researcher at the Software Composition Group, University of Berne, Switzerland. His interests lie in the area of software engineering with focus on software understanding. He is one of the main architects and developers of the Moose reengineering, and he participated in the development of several other reverse engineering tools and models. He authored more than 40 technical papers and he participated in more than 10 program committees of international conferences and workshops. He is the president of the Moose Association and is Executive Board Member of CHOOSE (the Swiss Object-Oriented Software Engineering society). He offers consulting services in the area of software engineering, reengineering and quality assessment. He also blogs on the topic of presentation and modeling.

Michele Lanza is assistant professor at and co-founder of the Faculty of Informatics of the University of Lugano, in Switzerland. His doctoral dissertation, completed in 2003, received the prestigious European Ernst Denert award for best thesis in software engineering of 2003. He leads the REVEAL research group, focusing on the areas of software evolution, visualization, and reverse engineering. He authored more than 40 technical papers and is author of the recently published book ``Object-Oriented Metrics in Practice''. He is an active member of the ACM and the IEEE Computer Society where he has served on more than 30 program committees. He was program co-chair of MSR 2007 (the 4th International Workshop on Mining Software Repositories) and IWPSE 2007 (the 9th International Workshop on Principles of Software Evolution).

Radu Marinescu is an associate professor at the Politehnica University of Timisoara, where he leads the LOOSE research group focusing on the areas of object-oriented software evolution, quality assurance and reengineering. In 2002 he received his Ph.D. (magna cum laude) from the Politehnica University of Timisoara. He is author of the "Object-Oriented Metrics in Practice" book (Springer, 2006), and the recipient of an IBM Eclipse Innovation Award (2006). He has published over 25 papers related to metrics, quality assurance and software evolution and has served in the last years in more than 10 program committees of international conferences. Radu Marinescu has been constantly working as a consultant and trainer for several well-known IT companies, such as Siemens, IBM and Alcatel-Lucent.


T16: Predictability by Construction
Tuesday, 13 May 2008, full day
Boardroom 802, The Westin Leipzig
Kurt Wallnau, Gabriel Moreno and Scott Hissam, Carnegie Mellon Software Engineering Institute, USA

Predictability by construction means that if a system can be built (i.e., constructed), then it will have predictable runtime behavior. A well-known gold standard for predictability by construction are modern programming language type systems. For example, strongly typed languages such as Java (C#, Ada, ML, etc.) guarantee specific memory safety properties for all program executions. Less well-known is the fact that predictability by construction can be achieved for a variety of system-level properties, such as security, safety, and performance. Moreover, predictability by construction for such properties can be practically achieved using available technologies and theories.

Topics covered in the tutorial include: the use of "smart constraints" to establish the invariants needed to predict system behavior; the use of quality attribute theories to identify smart constraints; the relationship of quality attribute theories to software architecture, architectural styles, and architecture-centric development; the use of software component technology as a carrier of smart constraints from architecture to code; and, the forms of evidence that can be obtained to provide an objective basis for confidence in system quality. Attendees will receive a Starter Kit that includes a component technology, specification language and code generator, and software model checking and performance analysis tools.


Kurt Wallnau is a Senior Member of the Technical Staff at the Carnegie Mellon Software Engineering Institute (SEI). Mr. Wallnau has been an active contributor to research in component-based software engineering for over 20 years. He currently leads a SEI Research Initiative called "Predictable Assembly from Certifiable Components." Prior to this he led SEI research in the use of commercial off-the-shelf software components (COTS). Mr. Wallnau has published numerous papers and articles on component-based software, including the Addison-Wesley book "Building Systems from Commercial Components." Mr. Wallnau's current interests are to use theories of run-time behavior as non-standard semantics of component-based specification languages.

Gabriel Moreno received the BS degree in Computing Systems from University of Mendoza, Argentina, and the Master of Software Engineering degree from Carnegie Mellon University. He is a Senior Member of the Technical Staff at the SEI, where he is a member of the Predictable Assembly from Certifiable Components initiative. Previously, he was at ITC Soluciones, Argentina, where he designed and developed multiplatform distributed systems and communication protocols for electronic transactions. He has received several awards, including a Fulbright Fellowship. His research interests include predictable assembly, performance modeling and analysis, component technology, and model-driven development.

Scott A. Hissam is a senior member of the technical staff at the SEI where he conducts research on component-based software engineering and Open Source Software. His publications include two books, papers published in international journals including IEEE Internet Computing and Journal of Software Maintenance, and technical reports published by CMU. Prior to his position at the SEI, Mr. Hissam held positions at Lockheed Martin, Bell Atlantic, and the US Department of Defense. He has a Bachelor of Science degree in Computer Science from West Virginia University. Mr. Hissam's current interests include software component technology, runtime systems, and application of performance analysis.




icse 2008 sponsors:

ICSE 2008 Gold Supporters

ICSE 2008 Silver Supporters

ICSE 2008 Bronze Supporters






end of the page

mail to webmaster . sitemap . 30 April 08

This page is analyzed with Google Analytics [privacy policy].