Skip to main content

Software ENgineering in Enterprise Cloud Applications systems

Periodic Reporting for period 2 - SENECA (Software ENgineering in Enterprise Cloud Applications systems)

Reporting period: 2017-01-01 to 2018-12-31

The growth of cloud computing is phenomenal, with vendors experiencing yearly growth above 90%. This reflects the rate at which organizations and individuals are leaving the comfort of tried and tested solutions to move into promising but uncharted territory.

The aim of SENECA was to address key issues in the software engineering of cloud-based systems, including a disciplined approach to their development and operation. The project partners pooled their considerable knowledge and experience to identify areas where applied research, industrial tests, as well as graduate-level training could deliver the most promising results.

The main challenge associated with cloud-based systems is their quality, as characterized (following ISO 25010) by their functional suitability, security, reliability, usability, performance efficiency, maintainability, and portability. Important questions regarding quality include: How can the quality of a software-defined cloud infrastructure be measured and assured? How can the security of a cloud-based system be ensured, taking into account that it may be running on an un-trusted infrastructure? How can the energy-efficiency and CO2 footprints of cloud-based applications be optimized?

SENECA addressed this challenge along the axes of A) cloud-based products and B) the cloud development process and tools. Research along axis A extended from “traditional” quality assurance techniques to the cloud environment, to techniques for optimizing energy consumption by cloud systems without compromising performance or reliability. Research along axis B ranged from combining theory and practice to allow construction of secure systems on top of insecure cloud infrastructures, and to improving testing practices for cloud development.

The project succeeded in significantly advancing the research training and networking capabilities of 10 early stage researchers, and thus meeting the majority of its objectives. These researchers are now well-positioned to complete their PhD degrees in the near future. The academic and industrial project partners have succeeded in collaborating on a large number of diverse research topics within the domain of cloud-based software engineering, resulting in the advancement of the scientific field and many opportunities for exploitation in industrial practice.
"The project successfully organised six network-wide training workshops, which were also open for participation by external researchers and practitioners. The first and second workshops were held in June 2016 in Athens, the third and fourth in June 2017 in Madrid, in co-location with an international academic event, and the fifth and sixth workshops took place July 2018, in Amsterdam, which hosted the major academic events European Conference on Object-Oriented Programming, and International Symposium on Software Testing and Analysis, in the same week. In complement, the fellows each undertook training in summer/winter schools, (international) visits to research institutes, and several secondments within the consortium.

The project members disseminated research results in 32 peer-reviewed publications, among which several in top academic conferences and journals, such as the International Conference on Software Engineering (2018, 2019), the Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2018), the Conference on Computer-Supported Cooperative Work and Social Computing (CSCW 2018), the International Conference on Cloud Computing Technology and Science (CloudCom 2016), the Journal of Systems and Software (2018), and the Journal of Empirical Software Engineering (EMSE 2018).

The project fellows received several awards for their work:

- Gkortzis received the Best Data Showcase Award at Mining Software Repositories, 2018.

- Georgiou received the Best Paper Award at the 15th Annual DMST Student Conference, 2018.

- Pascarella and Spadini received an Honorable Mention Award at the 21st ACM Conference on Computer-Supported Cooperative Work and Social Computing, 2018.

The research efforts in collaboration with industrial partners resulted in several opportunities for further exploitation:

- BugTracking: A tool to assist in the identification of bug reports, in particular on cloud-related platforms, contributed to by Dalipaj and Sekitoleko.

- Integrations of Dalipaj's results in the Bitergia Analytics Dashboard, the key service offering of Bitergia.

- Designite & Designite Java: software design quality assessment tools for C# and Java, Sharma.

- DbDeo: an open-source tool to detect smells in database code (Sharma).

- Puppeteer: a design configuration smell detection tool for Puppet, an automation solution for cloud infrastructures (Sharma).

- Datasets on virtualization technologies and security vulnerabilities in cloud-based systems, Gkortzis.

- Refactoring strategies for microservices to enhance energy efficiency, an important aspect of cloud-based systems (Georgiou).

- Outcomes and recommendations for security code review practices in general and in particular for cloud-based code review practices (di Biase).

- DMM: A new model to measure the maintainability impact of fine-grained code changes (di Biase).

- Outcomes related to information needs of code reviewers using cloud-based reviewing platforms, leading to requirements of future tool support (Pascarella).

- PyDriller: An open-source software repository mining tool for Python, Spadini.

- TDR: A novel test-driven code review method, and initial tool cloud-hosted tool support (Spadini)."
The SENECA project has enriched the career development of its cohort of fellows, such that in the near future they will be able to obtain their PhDs degrees and enter the (European) job market as high-skill professionals. They will be well-equipped for either industrial or academic career paths, with ample experience and results in either domain under their belts.

The heart of SENECA's research program consisted of solving challenges in cloud-based computing and development. SENECA's fellows have become well-versed in this important domain for the growth of the software industry, by delivering scientific outcomes that have advanced the state of the art, and by prototyping diverse opportunities for future exploitation. Among other results, significant contributions were made to the practice of code review in cloud-based development, generating the requirements for tool support that will help enhance the reliability of future cloud-based applications. Furthermore, outcomes were disseminated on alleviating quality challenges prevalent in today's (cloud-based) software systems, such as energy efficiency, security, maintainability and data schema quality.
Outcomes of S. Georgiou's work on task-specific EDP measurements.
Design of A. Gkortzis' vulnerability data collection procedure.
Example visualizations by T. Sharma's tool Designite that detects technical debt in source code.
Detailed design of M. di Biase's Delta Maintainability Model (DMM).
Boxplots showing the impact of utilizing mocking practices, by D. Spadini.