Research Projects

MINCA - Models to Increase the Cost Awareness of Cloud Developers

One of the challenges of modern cloud application development is the management of deployment costs. Automated and semi-automated scaling, pay-per-use pricing, complex multi-factor billing models, and frequent changes in the market make predicting the actual costs of using a given (combination of) cloud services to host a given application so that it exhibits a given level of minimal performance (e.g., response time) difficult for developers. The primary contribution  of MInCA will be an approach to model, predict and optimize the deployment costs of cloud applications, with a specific focus on (micro-)service-based applications. Central to our approach is the notion of a holistic cost model (HCM), which is a multi-view architectural model of the application that integrates modelling the dependencies between services, the deployment of the individual services onto cloud resources,and the application workload (e.g., what load is on what service at what times). We will use the HCM to foster developer awareness of the cost impact of their code changes (e.g., through appropriate visualizations in the Integrated Development Environment, IDE), to support What-If analysis ("What happens if the application gets 50% more users?"), and to enable application-wide deployment optimization (i.e., select optimal deployment options for each service depending on global state and available cloud services).

Duration: September 2016 - November 2019

Funding: SNF (Total Costs: 182.963 CHF)

Contact: Philipp Leitner

DevCloud - Towards Software Developer Targeted Cloud Benchmarketing and Cost Estimation

In cloud-based software development, applications are deployed to virtual machines using a predefined cloud instance type. These types differ in provided performance as well as costs. Software developers currently struggle with selecting the best (i.e., cost-optimal) instance types to deploy their applications. In DevCloud, we provide methods and tooling that enable cloud benchmarking for software developers. Our approach is based on application-specific performance models, which combine a statistical model of cloud instance performance as delivered by cloud benchmarking research, an architectural application model, and example load and usage patterns.

Duration: Jan 2016 - September 2016

Funding: Hasler Foundation (Total Costs: 44.791 CHF)

Contact: Philipp Leitner

CloudWave researches agile development and delivery of adaptive cloud services, which dynamically adjust to changes in their environment so as to optimise service quality and resource utilization. CloudWave will deliver (1) an open architecture and standards-based reference implementation of an advanced cloud software stack, with novel capabilities for adaptation across all cloud layers; and (2) tools and methods for agile development of reliable and adaptable cloud services, facilitated by the new stack. University of Zurich's main interest in CloudWave lies in the idea of Feedback-Driven Development for cloud applications: an cloud-based software development approach, where developers exploit runtime analytics data to incrementally determine and evolve application features, extensions and optimizations, based on observed user needs.

Partners: IBM Israel - Science and Technology Ltd (IL - Coordinator), SAP AG (DE), Intel Performance Learning Solutions Limited (IE), Telecom Italia S.p.A (IT), Atos Spain SA (ES), Cloudmore OÜ (SE), University of Duisburg-Essen (DE), Universita Degli Studi di Messina (IT), Technion Israel Institute of Technology (IL), University of Zurich (CH)

Duration: Nov 2013 - Oct 2016

Funding: The European Commission's FP7 ICT Call 10 (Total Costs: 10'331'392 EUR)

Contact: Philipp Leitner , Thomas Fritz, Harald Gall

Currently, we are witnessing a paradigm shift from the traditional information-oriented Internet into an Internet of Services (IoS). This transition opens up virtually unbounded possibilities for creating and deploying new services. Eventually, the ICT landscape will migrate into a global system where new services are essentially large-scale service chains, combining and integrating the functionality of (possibly huge) numbers of other services offered by third parties, including cloud services. Motivated by this, the aim of ACROSS is to create a European network of experts, from both academia and industry, aiming at the development of autonomous control methods and algorithms for a reliable and quality-aware IoS.

Duration: Nov 2013 - Ongoing

Funding: European Cooperation in Science and Technology (COST)

Contact: Philipp Leitner

Personal Developer Analytics

Most developers nowadays face the problem that there are days when their development work goes well and days when they cannot seem to get anything done. Our aim is to create tools to help developers better reflect and improve on their development work and productivity.

For more information, please contact André Meyer Send Mail or Thomas Fritz Send Mail.

SoSYA - Systems of Systems Analysis

Given today’s plentitude of software systems, we need to address the complexity of what is called software ecosystems or systems of systems. Such systems of systems and the associated knowledge are the most valuable asset of their owners: they typically form the very basis for the success of companies, organizations, or communities. They have become a reality of the current IT landscape, where companies and open source communities manage in parallel dozens or hundreds of projects belonging to the same product family or IT portfolio. The challenges in this context are not only an exploding amount of information, but also completely novel types of data not taken into account so far: systems have multi-dimensional dependency relationships between them. Indeed, managing the co-evolution of systems, application programming interfaces (APIs), services, and libraries is emerging as one of the next grand challenges of software engineering. We argue that there is a need for novel approaches to analyze systems of systems and to tackle the challenges that they pose.

The goal of this project SoSYA is to build on our previous work on distributed collaborative software analysis in the context of the predecessor project DiCoSA, and to devise theories, models, and prototypes for “systems of systems analysis.” In particular, we will address theories and models for systems of systems, algorithms and techniques for systems of systems analysis, and methods for tangible rendering of systems of systems.

Duration: Oct 2010 - Sep 2013

Principal investigators: Harald Gall, Michele Lanza (Univ. of Lugano)
PhD students: Giacomo Ghezzi, Alberto Bacchelli, and two more to be hired

Funding: Swiss National Science Foundation (SNF)

DiCoSA - Distributed Collaborative Software Analysis

The goal of the DiCoSA project is to devise a distributed and col laborative software analysis platform to allow for interoperability of software quality analysis tools across organisational boundaries. Such tools will adhere to specific meta-models and ontologies for their category of analysis and offer a common service interface that enables their composite use on the Internet. These distributed analysis services shall be widely accessible in an incrementally augmented software quality analysis portal, where organisations and research groups can share their tools.

Duration: Oct 2007 - Sep 2010

Principal investigators: Harald Gall, Michele Lanza (Univ. of Lugano)

Funding: Swiss National Science Foundation (SNF)

Enterprise Computing

The goal of this ProDoc in Enterprise Computing is to establish a graduate school that, in close collaboration with industry, prepares highly skilled professionals and researchers who (1) are familiar with the problems encountered in enterprise computing; (2) contribute to formalizing the problems and outlining comprehensive solutions; and (3) are well versed in the all the areas that are relevant to enterprise computing (with an emphasis on data management, distributed systems, operating systems and networking, and software engineering). The graduates of the program will then have the necessary background to lead new research in the area and formulate teaching plans more adequate to industrial needs, or to join the Swiss industry, thereby enhancing the expertise available in the Swiss IT market.

Duration: Oct 2008 - Sep 2011

Principal Investigators: Gustavo Alonso (ETHZ), Harald Gall, Nesime Tatbul (ETHZ)

Funding: Swiss National Science Foundation (SNF), ProDoc Programme

EvoSpaces II - Virtual Collaborative Spaces for Software Evolution

This project will make a significant contribution to current software visualization: multi-dimensional software structures can be effectively navigated and analyzed by new means of metaphors and visualization. This project devises a collaborative multi-level and multi-user software analysis platform by means of visualization, interaction, and navigation both for single and multiple users to facilitate software comprehension and evolution tasks for large software systems.

Duration: Jan 2008 - Dec 2009

Principal investigators: Harald Gall, Michele Lanza (Univ. of Lugano), Philippe Dugerdil (Univ. of Applied Sciences, Geneva)

Funding: Hasler Foundation, Bern, Switzerland

ProMedServices - Proactive Software Service Improvement

The goal of ProMedServices (Proactive Software Service Improvement for Large-Scale Distributed Systems) is to extend and develop new techniques in software analysis and software service development and to prove their practical applicability in a large distributed system in a critical field. To achieve these goals, the project will formulate methods and develop techniques for detecting software decay. We will integrate expertise from areas of software evolution, distributed and mobile systems as well as service engineering to explore new ways for software service improvement on a large scale. Techniques from architecture reconstruction, refactoring, service engineering and testing will be combined in a software service evolution toolbox to provide a software architect with pro-active tools and processes to ensure and improve software service quality during software development.

Duration: Jan 2007 - Dec 2008

Principal investigators: Harald Gall (Project Leader), Martin Kropp (FHNW), Christian Lovis and Antoine Geissbühler (both from Geneva University Hospitals)

Funding: Hasler Foundation, Bern, Switzerland

NEPOMUK aims at empowering individual knowledge workers to better exploit their personal information space and to maintain fruitful communication and exchange within social networks across organizational boundaries. NEPOMUK brings together researchers, industrial software developers, and representative industrial users, to develop a comprehensive solution for extending the personal desktop into a collaboration environment which supports both the personal information management and the sharing and exchange across social and organizational relations. This solution is called the Social Semantic Desktop.

Duration: Jan 2006 - Dec 2009

Principal investigators at s.e.a.l.: Harald Gall, Gerald Reif

Funding: EU IP - 6th Framework European Union Integrated Project

EvoSpaces - Multi-dimensional Navigation Spaces for SW Evolution

In the current information technology society we are relying more and more on software systems. Maintenance has been identified to be the primary factor of the total cost of large software systems (more than 90% of the total cost). One of the key difficulties encountered in software maintenance is given by the intrinsic complexity of those systems, whose size can easily reach the tens of millions of lines of source code. Software complexity is recognized as one of the major challenges to the development and maintenance of industrial size software projects.

To that respect, the key aspect of software is that it is a virtual product. In other words, it is difficult to grasp the full complexity of a system that one cannot see or touch. However, many attempts to visually represent the structure of software systems have been proposed, essentially through flat representations. However, the quantity of information that can be represented in 2D drawings is limited. Handling the complexity and observing the evolution of very large software systems needs the analysis of large complex data models and the creation of condensed views on the system. In the context of visualization, software metrics have been used to compute and enrich such condensed views. However, current techniques concentrate on visualizing data of one particular software release, providing insufficient support for visualizing data of several releases. The goal of this project is to exploit multi-dimensional navigation spaces to efficiently visualize evolving software systems.

Duration: Jan 2006 - Dec 2007

Principal investigators: Harald Gall, Michele Lanza (Univ. of Lugano), Philippe Dugerdil (Univ. of Applied Sciences, Geneva)

Funding: Hasler Foundation, Bern, Switzerland

In an information technology society that is increasingly relying on software, software productivity and quality continue to fall short of expectations: software systems suffer from signs of aging as they are adapted to changing requirements. The main reason for this problem is that software maintenance and software change is still undervalued in traditional software development processes. The only way to overcome or avoid the negative effects of software aging is by placing change in the center of the software development process. Without explicit and immediate support for change and evolution, software systems become more and more complex, fragile and unreliable. This negative spiral is rapidly shortening due to hardware and business innovations, changes in legislation and continuing internationalisation. We must therefore advance beyond the engineering metaphor of current software development, and provide more and better support for software change and evolution. The goal of this project is to investigate means to analyze and control the evolution of a software system at various levels.

We tackle these questions by exploiting and understanding the huge amounts of information which reside in versioning and bug tracking systems, but which seem to be largely ignored by software industry. We focus on large-scale software systems both from the open source and the industrial area.

Duration: July 2005 - June 2007 (extened until Sep 2007)

Principal investigators: Harald Gall, Michele Lanza (Univ. of Lugano)

Funding: Swiss National Science Foundation (SNF).

SCSS - Service-Centric Software Systems

Service-Centric Software Systems (SCSS) are software systems that are constructed from autonomous services and bring new challenges for software engineering. Flexible, adaptable and interoperable software services require the creation of new efficient methods, techniques and tools. This concerns subjects such as service life-cycle, service description, interoperability, service levels, and service evolution.

In this project we devise such service-centric technologies for this new kind of software architectures.

Duration: Nov 2006 - now

Principal investigator: Harald Gall (Project Leader)
PhD students: Michael Würsch, Emanuel Giger

SVC Fundamental Programming Modules

The Fundamental Programming Modules project will develop a blended learning basic programming course particularly targeted to courses where entry levels of students and learning objectives are quite different, directed both to informatics students and to students in other technical domains requiring programming skills. For this purpose, the course is conceived as a set of self-contained modules which can be used, according to the target students, at three different levels (beginners, intermediate and advanced). This allows also the instructor to individually assign modules (at different levels) from students with different entry requirements.

The project is realised by the new Faculty of informatics of the University of Lugano, by the Department of Informatics of the University of Zurich and by the Department of Innovative Technologies of SUPSI: the three partners bring complementary competences, especially concerning the programming language used to teach students; this will allow to develop also a set of language-specific modules illustrating the fundamental concepts. All three partners will enforce the modules in their regular course, for a total number of nearly 300 students. However, the course has a large use potential also in other Swiss universities and UAS, as well as in continuing education. Finally, didactical and technical support, as the whole implementation, will be ensured by the eLab USI-SUPSI.

Duration: Jan 2006 – Dec 2007

Principal investigators: Mehdi Jazayeri, Michele Lanza (Univ of Lugano), Harald Gall, Roberto Mastropietro (University of applied sciences of southern Switzerland)

Funding: Swiss National Science Foundation (SNF), Swiss Virtual Campus

SEA project

The research project SEA (Software Evolution Analysis) addresses the importance of software evolution and reegineering of large-scale software systems. Gaining higher level evolutionary information about large software systems is a key challenge in dealing with increasing complexity and architectural deterioration. Modification reports and problem reports taken from systems such as CVS and Bugzilla contain an overwhelming amount of information about the reasons and effects of particular changes. Such reports can be analyzed to provide a clearer picture about the problems concerning a particular feature or a set of features. Hidden dependencies of structurally unrelated but over time logically coupled files exhibit a high potential to illustrate feature evolution and possible architectural deterioration.

Duration: ongoing

Principal investigators: Harald Gall, Martin Pinzger

The ITEA project SERIOUS (Software Evolution, Refactoring, Improvement of Operational & Usable Systems) aims at the break-through of turning the current practice of handcrafted evolution to methodologically sound techniques supported by industry-adoptable tools including corresponding development processes for the evolution of operational software-intensive systems. In the SERIOUS project the software evolution related issues are addressed which is currently hardly explored territory in software engineering.

Duration: 2005 - 2008

Principal investigators: Harald Gall, Martin Pinzger

The goal of the ESF scientific network RELEASE (Research Links to Explore and Advance Software Evolution) is to facilitate interdisciplinary exchange of ideas and interaction on software evolution in a broad sense. In general, the focus of interest will be on guiding principles of, and better tools for software evolution. The goal will be to suitably link theory-based and empirical approaches, to enhance mutual exchange of ideas and to foster collaborative research amongst the leading European groups on these topics. The topics will naturally include the use of mathematical formalisms as a foundation for industrial tools and processes to support software evolution. This cross fertilisation between mathematics and computer science on the one hand, and between process aspects and technological aspects on the other hand, is intended to lead to a better understanding of software evolution as a whole, which should lead to better tool support for all aspects of software evolution.

Duration: Oct 2002 - Dec 2005

System families are strategic assets, which can be used for European advancement. Prime export products are based on system families and, as the importance of technology increases, most of those products have become information intensive. The structuring of systems into families allows for sharing design effort and as such counters the impact of ever growing complexity. This makes it possible to sustain, even increase, the rate of product introduction. The companies participating in this consortium have investigated and developed technology for system families now for seven years and experiences gained so far are very significant. In particular, they were involved in the ITEA projects ESAPS, and CAFÉ, focussed on a similar subject. This has lead to a recognized European community on the subject of System Family Engineering. The FAMILIES project aims at growing the community, consolidating results into fact-based management for the practices of FAMILIES and its preceding projects, and to explore fields that were not covered in the previous projects, in order to complete the Framework.

Duration: 2003 - 2005

The CAFÉ project develops concepts for product family engineering, based on its core process, consisting of six core sub-processes, and intends to bring these concepts to maturity so that they can be applied in concrete projects by developing methods and procedures from these concepts. It is based on the same core process, with focus on the very early and late sub-processes, and the major activities shown at the arrows. The results of the CAFÉ project, encompassing the structure of the assets and the knowledge about methods and procedures, will be used for tools and concrete applications (upper right corner).

Duration: 2001 - 2003


MOTION (MObile Teamwork Infrastructure for Organisations Networking) was a successful European project aiming at the development and validation of an innovative multi-service business architecture to support teamwork and distributed working methods in largely distributed production environments. An emerging direction of manufacturing is leading to a growing need for geographically distributed product development: products are built up of components developed by units located in different cities or countries. MOTION addressed this important business area, and developed an innovative peer-to-peer teamwork service architecture that supports several key requirements for distributed business processes, including: efficient information sharing across a widely distributed enterprise environment; constant and timely update of the distributed knowledge base, with many different sites acting both as potential users as well as potential providers of information; shared access to different, integrated manufacturing engineering services, supporting both local activities as well as mobile working. Many essential parts of this technology have been published in conferences and journals. For more information see our publications page.

Duration: 2000 - 2002