An interview with Dr. Magiel Bruntink, Head of Research at SIG, on how this EU-funded research project is advancing software development in the cloud
Project SENECA, an EU-funded research project coordinated by Software Improvement Group (SIG), brought together three leading universities and three commercial organizations from 2015-2018 to address key issues in software engineering and computing of cloud-based systems.
Now that the project has concluded, Dr. Bruntink shares the initial results and explains how this research is making important contributions to cloud-based software development.
Why is this research relevant and important?
Bruntink: The growth of the cloud market is phenomenal, with cloud business units of top vendors like Amazon and Microsoft seeing sustained growth rates of around 50%. This also reflects the rate at which organizations and individuals are leaving the comfort of tried and tested solutions to move into promising, but uncharted, territory. That’s why it’s so crucial that software engineers working in this domain have scientifically-validated guidelines and sufficient tooling to maintain and enhance the quality, security and sustainability of their code and infrastructure.
What was the project goal?
Bruntink: The goal of SENECA was to provide novel, scientifically-validated solutions in the domain of cloud-based software engineering. For this, the project’s partners, three leading universities and three commercial organizations created an international research and training network. That network offered graduate-level training in a joint academic-industrial research environment focusing on key issues in the domain. Our goal was to have PhD candidates work on problems that they could experience first-hand, collaborate on solutions that matter to the software industry, and finally disseminate those results to top academic venues.
Who took part in the project?
Bruntink: SENECA was a four-year collaboration between academia and industry, with a consortium made up of six organizations across Europe: Software Improvement Group and Delft University of Technology in the Netherlands; Singular Logic and the Athens University of Economics and Business in Greece; and Bitergia and the King Juan Carlos University in Spain. The project began on January 1, 2015 and concluded this past December.
What’s the biggest challenge regarding reliability of cloud-based systems?
Bruntink: The main challenge associated with cloud-based systems is quality – and that’s quality as characterized by an industry standard like ISO 25010: what matters are functional suitability, security, reliability, usability, performance efficiency, maintainability and portability. Important questions regarding quality usually include things like how the quality of a software-defined cloud infrastructure can be measured and assured; how the security of a cloud-based system can be ensured, considering that it may be running on an infrastructure that isn’t trusted; and how the energy-efficiency and CO2 footprints of cloud-based applications can be optimized.
How did SENECA address this challenge?
Bruntink: The project’s international training network was organized along three research lines, each considering a different angle of quality: (1) Product Quality, (2) Process Quality, and (3) Operations Quality. In each of the research lines, researchers leveraged data available on public cloud development infrastructures, such as GitHub. There they were able to observe existing software engineering products and processes, but also test new approaches to code review and testing, for example.
Now that the project has concluded, what are the results?
Bruntink: The project made significant contributions to the practice of code review and testing in cloud-based development, generating the requirements for tool support that engineers are lacking today. Furthermore, outcomes were disseminated on various quality challenges prevalent in today’s cloud-based software systems, such as energy efficiency, security, maintainability and data schema quality. More specifically, SENECA delivered:
- A new code review technique, Test-Driven Review (TDR), to enhance test quality and increase software reliability by employing cloud-based review tools in a new way
- New guidelines for security code reviews, including the recommendation that at least three people are needed to detect the majority of security issues
- A new dataset for practitioners which contains all known security vulnerabilities for the most-reported open-source projects
- A new catalogue that describes practitioners’ requirements and needs regarding code review tools, which will be used in future development of new, enhanced cloud-based tooling
- New metrics to indicate the amount of technical debt and lag that software incurs over its lifetime, allowing practitioners to increase actionability in library selection and risk prevention in the context of cloud ecosystems of software
- Task-specific data on the Energy Delay Product (EDP) of programming languages, allowing practitioners to understand the energy consumption of each and select the most sustainable of 14 languages for 25 common tasks
Another important outcome was the fact that the project has enriched the career development of its cohort of PhD candidates. In the near future, these ten researchers will be able to finalize their PhDs and enter the job market as highly-skilled professionals. They will be well-equipped for either industrial or academic career paths, with ample experience and results under their belts in both domains.
Project SENECA received funding from the European Union’s Horizon 2020 research and innovation program under the Marie Sklodowska-Curie grant agreement No 642954.
More information about project SENECA is available here: senecaproject.github.io.
Dr. Magiel Bruntink is Head of Research at Software Improvement Group (SIG). He has a scientific background in program analysis and empirical study. The majority of his work consists of mixed industry-academic projects positioned within the software engineering domain. Dr. Bruntink holds a PhD in Computer Science from Delft University of Technology.