Main Menu
CASE events
Bring Problems to the Surface
Open Source
ASEW 2014
Meeting of Managers 2014
CASE School 2015
Contact us
Login Form

Lost Password?
  Home arrow Previous edition (2009) arrow summer school Topics and Speakers  
Topics and Speakers 2009

This year's topic will be Applied Software Process Management and Testing. The participants will learn from internationally recognized experts the principles of modern software process management and software testing and they will be able to apply them during labs sessions where the experts will be available for individual discussions.

Slides about the PhD and Master programs at Free University of Bozen-Bolzano
PhD programme
Master programme

Slides from the Alternate Perspective talks:
Money and research, Paolo Ciancarini

The Psychosocial Analysis of Innovation Process, Adalgisa Battistelli


* Large-Scale Continuous Testing of Highly Configurable Systems
Adam Porter, University of Maryland, USA

We discuss processes, tools and algorithms for efficient, continuous testing of large-scale, highly configurable systems. With large-scale continuous testing processes, testing tasks are organized and managed to run across large grids of computing resources, dedicated clusters, project-wide resources or user- volunteered machines, in a distributed, continuous manner. This approach greatly improves test quality and speed, greatly expands developer insight into the system's performance, and enables the creation of sophisticated, very large-scale test processes.

Support for the courses and labs:
Lecture on Combinatorial Testing
Lecture on Software Testing Overview
Lecture on Configurable Systems
Lecture on Testing Configurable Systems
Lecture on White Box Analysis
Monday 6th July
Tuesday 7th July, part 1
Tuesday 7th July, part 2
Wednesday 8th July, part 1
Wednesday 8th July, part 2
Thursday 9th July, part 1
Thursday 9th July, part 2
Friday 10th July, part 1
Friday 10th July, part 2
Friday 10th July, part 3

* Test Driven Development: Practice and Theory
Gerardo Canfora, University of Sannio, Italy
Aaron Visaggio, University of Sannio, Italy

Test Driven Development (TDD) is growing in popularity among researchers and practitioners, due, among other things, to the considerable diffusion of agile methods, as it is one of the key practices of Extreme Programming (XP).
TDD prescribes that the code should only be changed if the corresponding unit tests are not passed: conversely, successful tests imply that the code should not be touched. In this way, testing is strictly interleaved with coding, as test suites and class interfaces are designed jointly, and coding is driven by testing, as the decisions concerning the design of methods are conditioned by the design and the results of tests. Additionally, the test suite is not only the container of the tests to be run, but also an essential component of the system, being used as a part of design documentation, as it captures the dynamic aspects of the system.
This course aims at transferring the necessary know how to put attendees in position of applying TDD in practice. The course will provide theoretical and practical sessions concerning:
a. techniques to design good test suites: update techniques from specialised literature will be discussed; furthermore, a large overview of the empirical evidence about the practice and open questions will be discussed.
b. tools supporting test driven development.
c. maintenance technique for fixing bugs detected in the testing phase: after having identified bugs, proper techniques to repair code must be performed.
Attendees will have the possibility to apply the learnt techniques in practice by taking part into group project-works. Technical session will consist of working on parts of a realistic project in order to make attendees confront with real application’s problems.

Support for the courses and labs:
Lecture 1
Lecture 2
Lecture 3
Literature for the course

* Agile Software Process Management
Jutta Eckstein, IT Communication, Germany

Many teams, projects and even organizations are following meanwhile an agile process. However, not always successful. If you're looking behind the scenery, you will find out that although the agile practices like pair programming or test-driven development are used properly, the agile value system is not implemented. This is due to the fact that the practices can only support but not establish agility.
One of the key activities within agile development is continuous planning. Using short feedback cycles the whole team will be able to improve the system, the estimates and help the customer to understand what his or her requirements really are.
This will make the planning more and more precise over time and allows for strategic software development and risk reduction.
Moreover, with the help of retrospectives problems can be detected early on and corrections can be applied continuously in an easy manner - both is required for the success of every project.
In this course attendees will learn about both the key success factors and common pitfalls in agile software development.
The focus will be on how to apply software process management with an agile attitude and how to establish and preserve a common development culture. Simulations will allow to experience agile projects, so that attendees will get acquainted with that kind of software process.

Support for the courses and labs:
Monday 6th July
Tuesday 7th July
Lab 1 and 2
Wednesday 8th July
Thursday 9th July
Lab 3
Friday 10th July
Literature for the course

* Non-invasive Software Product and Process Measurement
Barbara Russo, Free University of Bozen-Bolzano, Italy
Alberto Sillitti, Free University of Bozen-Bolzano, Italy
Giancarlo Succi, Free University of Bozen-Bolzano, Italy

Measures supply essential data in all the different engineering disciplines. Such data enable and facilitate the understanding of how things work “in reality” and how to make changes to produce desired results. Often, it has been said that a solid and significant process improvement requires a sound measurement program.
In software engineering, it is difficult to collect useful measures. Nearly always, metrics are collected manually with burden for software engineers (and consequently to managers) and manually collected data are often affected by errors, making them unusable.
Altogether, there is an apparent contradiction. On one side, managers and software engineers praise measures from a theoretical standpoint, while in practice the application of measurement is limited. Such contradiction is even more evident in the Agile Community. Agile Methods (AMs) and lean management in general requires a solid measurement program. However, collecting metrics appears to be a non-directly productive activity, and, as such, it is often discarded both by managers and by software engineers.
This behavior affects the ability of researchers and software companies to perform objective evaluations of the new development methods.
Measures are able to provide evidence to identify areas of applicability and a reason for managers to experiment AMs in their projects. However, it seams not possible to use the manual data collection in an effective way. For these reasons, a new generation of non-invasive metrics collection tools has been developed and can be used to collect data without any human effort.

Support for the courses and labs:
Lectures Monday and Tuesday
Lectures on Wednesday and Thursday
Lab Tuesday

   Copyright by the Center for Applied Software Engineering, University of Bolzano/Bozen, based on Joomla!