All posts by Ivano Malavolta

We just made ALL the contents of our Green Lab course publicly available

Here you can check out ALL the slides of the Green Lab course, give a look to them for understanding how we (and you!) can measure software for making it more green and sustainable.

We are always happy to share any useful information on the Green Lab course, just drop a line to the instructors of the course:

Beyond Native Apps: Web Technologies to the Rescue! [SPLASH 2016 – Mobile keynote]

Ivano Malavolta, assistant professor of our group, presented an interesting keynote at the Mobile! workshop, co-located with the SPLASH 2016 conference.

Here you can download the companion paper of the talk:, and here you can find the slides:

Here is the abstract of the talk.
This year a billion smartphones will be sold worldwide, with people relying more and more on mobile apps for activities like purchasing products, messaging, accessing digital media, etc. As of today, mobile software development teams can follow a number of different development and distribution strategies, ranging from native apps, to mobile web apps, hybrid apps, and the recently raising progressive web apps.
This talk provides a state-of-the-art overview of the development strategies and technologies for developing mobile apps, each of them with its own advantages and drawbacks. In this context, the use of web technologies is discussed as a promising investment for moving forward one of the most intriguing challenges in the world of mobile apps: its fragmentation with respect to mobile platforms (e.g., Android, Apple iOS, Windows Phone). A discussion of research challenges, and thus opportunities, close the talk.

Talk by Stefano Ruberto (GSSI)

DATE: Tuesday, July 5th, 2016
TIME:  16:00-16:30
ROOM: WN-M639 (Science Building, VU Campus)

Semantic Genetic Programming Frameworks: Alignment in the Error Space and Equivalence classes

Semantics is one of the hottest topics in Genetic Programming. We explain the concepts of error vector and error space directly bound to semantics and, based on these concepts, we introduce the notions of optimally aligned individuals and optimally coplanar individuals. We show that, given optimally aligned individuals, it is possible to construct a globally optimal solution analytically (Error Space Alignment GP (ESAGP) algorithm). Using two complex real-life applications, we provide experimental evidence that exploiting alignments is useful and fast. During future work discussion we propose a framework based on Equivalence Classes that include ESAGP, Linear Scaling GP and other simple variants in a broader family of GP algorithm, and we show some preliminary results.

Stefano Ruberto is PhD student at the Gran Sasso Science Institute (L’Aquila,Italy), and he is working under the supervision of Leonardo Vanneschi (NOVA IMS, Universidade Nova de Lisboa, Portugal) and Ivano Malavolta (Vrije Universiteit Amsterdam).

You can find the slides of his talk here.

Available PhD position on self-adapting intelligent eHealth apps

Research topic: Self-adapting intelligent eHealth Apps
Supervision: Prof. Guszti Eiben (VU, Computational Intelligence), Prof. Patricia Lago (VU, Software and Services),
Co-supervision: Dr. Mark Hoogendoorn (VU, Computational Intelligence), Ivano Malavolta (VU, Software and Services)

Vrije Universiteit Amsterdam is a leading, innovative and growing university that is at the heart of society and actively contributes to new developments in teaching and research. Our university has ten faculties which span a wide range of disciplines, as well as several institutes, foundations, research centres, and support services. Its campus is located in the fastest-growing economic region in the Netherlands (the Zuidas district of Amsterdam), and provides work for over 4,500 staff and scientific education for more than 23,000 students.

Project description

A wealth of eHealth Apps are available for various mobile platforms, e.g. iOS and Android. They support users in their efforts to improve their lifestyle or deal with the effects of diseases. The interventions, prompts and encouragements of the Apps sometimes take context into account, but they are nearly always too rigid: the rules that decide what the App does under which circumstances are the same for every user.
The next generation of eHealth Apps should be able to adapt their behaviour to the user, his/her context and the changes thereof. In addition, personalization from a user and context perspectives assumes a corresponding system adaptation (i.e. personalization from a system perspective). For example, adjusting the security policy during a holiday if medical records of the user need to be shared with a local hospital. This requires that the software dynamically adapts to the context and composes new or equivalent services fitting the contextual change. In addition, in software engineering we typically evaluate how the software performs in terms of “system” qualities (like scalability and security). Instead, eHealth Apps are meant to contribute to “non-system” types of qualities, like optimal physical- or mental condition. These “social” qualities and related metrics should be considered during the design and development of eHealth Apps. Also, we seldom measure either the extent to which software applications do actually realize the above social qualities, or successfully adapt to changes in the user behavior, system status and context. Both aspects are especially important for eHealth Apps, which are meant to bring sustainable social benefits (provide users with a healthy lifestyle) while ensuring technical feasibility. The above motivates the following overall research question: How can we ensure that adaptive software applications will realize the intended sustainable social effects and technical qualities in the eHealth domain?


This research implies specific challenges, from both the perspective of the agent-based adaptation algorithms (driven by machine learning approaches) as well as the software engineering perspective of ensuring that software self-adaptation contributes to both technical and social targets. Typical questions (and related outcomes) include:

  • How to make sure that the agents only provide suggestions that are appropriate?
  • How to guarantee certain agents’ behavior provided that we have a whole system of adaptive agents?
  • How to measure the impact of the agents upon the individual users as well as the community?
  • What type of software practices can directly impact, or indirectly enable, both technical and social qualities in eHeath?
  • How to guarantee the needed level of privacy with respect of users’ health data when dealing with a system that (self-) adapts?
  • Can we identify a suite of combined socio-technical metrics to estimate (at design time) and measure (at runtime) how software and agent technologies contribute to the health and well-being of individuals?


The overall aim is to create the algorithms and the software tools for the next generation of eHealth Apps that can: (1) learn about the individual user and adjust Apps behavior to him/her, (2) guarantee certain behavior in this adaptive setting for Apps of both individual users and interacting user groups, (3) securely share learned behaviours across many of the same Apps to learn about different user groups, (4) adapt according to reusable software patterns, and (5) measure the impact of the Apps upon the community of users in terms of socio-technical feasibility.


To achieve the project objectives we will follow a 3-step strategy.

  1. Firstly we develop algorithms and software engineering techniques for individual and collective learning in eHealth Apps that will guarantee set behavioral outcomes, e.g., guarantee sustainable collective adaptation among multiple agents. In this context, an adaptation issue raised by a specific App can be resolved in the scope of the App itself or in a wider scope with the engagement of other Apps, users, user groups, or supporting systems; the challenge here is to understand these levels and create mechanisms for (i) deciding the right scope for adaptation and (ii) enacting the adaptation efficiently.
  2. We will then evaluate these mechanisms in a simulation setting.
  3. Afterwards, we will validate the whole approach in a simplified real world scenario with members of the participating research groups as users. Simulations and controlled experiments will be measured. Simulation data will be provided to create realistic usage scenarios. Algorithms, Apps, metrics and measures will be synthesized in software patterns or architectural tactics, to create a catalog of reusable software practices for eHealth Apps.

The PhD position

The candidate will be part of international research networks and exploit a variety of development and analysis tools available. The candidate will be appointed in Amsterdam and work primarily in Amsterdam with possible visits to the other labs, universities, industrial partners.
The research groups in Computational Intelligence (CI) and in Software and Services (S2) will be involved in this joint research. The CI group has focused on adaptation of behaviors on an individual and a collective level in both a mobile context as well as robotics, whereas the S2 group has ample expertise in service-oriented design and measurement of the impact of software upon users. As additional new collaboration initiative, IBM Amsterdam has expressed vivid interest in hosting an experiment and offering their environment as open facility for the validation of this research and the Computational Intelligence group has close ties with Philips Research.
The Faculty offers opportunities to attend conferences, to meet other international researchers and to participate in high-quality discussion groups in support of writing papers for top-class publications. Many PhD students of the VU spend some time abroad during their learning path.


We are looking for candidates that hold, or will soon hold, a master degree in Computer Science, preferably with some experience in artificial intelligence, software engineering or both, and a strong motivation to pursue a career in science. Also, candidates who would like to apply should be motivated to do high quality scientific research, should have the ability to collaborate in groups as well as carry out work individually, and should have strong communication skills and flexibility required to collaborate with industrial partners. Proficiency in written and spoken English and academic writing skills are needed as well.


More info can be asked by sending an email to