Curriculum vitae
My C.V. can be downloaded here [pdf]
Research
My research is in the area evolution of software ecosystems. Software ecosystems are collections of software systems, developed and co-evolving in the same environment.
The environment can be organizational (a company) or social (an open-source community). My current work is based on the social ecosystems.
In the social ecosystem, users (active or passive), contribute content, knowledge, products, solutions, services, connections or behavior to the community.
My research aims at understanding the interconnections of an ecosystem and how it evolves. Understanding the evolution of an ecosystem is central to its wellbeing.
This will in turn propose solutions that will help in reducing the complexity that exists in maintaining and evolving this ecosystem.
Today, when constructing a new software system, many developers build their systems on top of frameworks. The Eclipse framework is one such popular and widely adopted open-source framework that has been evolving for over a decade.
Like many other evolving software systems, the Eclipse SDK framework has both stable and supported APIs (good interfaces) and unstable, discouraged and unsupported non-APIs (bad interfaces). However, despite being discouraged by Eclipse, in our experience, the usage of bad interfaces is not uncommon.
In this thesis, by means of a series of empirical studies, we quantify/qualify some the challenges faced by Eclipse third party plug-ins developers in using the interfaces provided by the Eclipse SDK framework. Furthermore, we propose solutions to the identified challenges, like changes in development strategy to both interface providers and the interface users.
In particular, the lessons learned from this study can provide valuable information in particular to the interface providers, i.e., Eclipse SDK developers, and the interface uses, i.e., Eclipse third party plug-ins developers, in evolving the Eclipse framework ecosystem. In general, the lessons learned can be transferable to other framework ecosystems.