An Infrastructure for Certification and Re-engineering of Open Source Software






17 Nov 12 2nd CROSS Workshop

23 Jun 11 1st CROSS Workshop

22 Jun 10 First paper published! (The GUISurfer tool: ...)

24 Feb 10 Kick-Off Meeting

6 Oct 09 CROSS website launched

Project Summary

The Problem

Over the past decade, the Open Source Software (OSS) phenomenon has had a global impact on the way software systems and software-based services are developed, distributed and deployed. Widely acknowledged benefits of OSS include reliability, low development and maintenance costs, as well as rapid code turnover. Linux distributions, Apache and MySQL, serve among many other examples, as a testimony to its success and resilience.

Companies become aware that integrating OSS into commercial products (made available by liberal OSS licences) reduce development costs while offering high-quality, extensively tested components. Furthermore, Governments become aware of growing dependence on proprietary formats and software in their administration, and regard OSS as a warranty of technological independence (which turns out to a strategic advantage, mainly in the developing world).

However, state-of-the-art OSS, by the very nature of its open, unconventional, distributed development model, makes software quality assessment, let alone full certification, particularly hard to achieve and raises important challenges both from the technical/methodological and the managerial points of view.

This makes the use of OSS, and its integration within industrial-strength applications, with stringent security requirements, a risk. This state of affairs has been identified either in the OSS (as witnessed, for example, in an increasing number of mentions in recent editions of the IFIP Conf. on OSS) and in the Formal Methods communities (OSS as a target domain for FM appears was recognised in recent editions of FM and SEFM international conferences). A series of workshops promoted by the United Nations University, with the acronym OpenCert, have addressed specifically this challenge since 2007. Finally, the relevance of this problem is further emphasised by a number of panels organised in OSS forums (eg, the OSS Watcher) and industry oriented initiatives.

The vision

In such a context, the aim of this project is twofold:

(1) Developing new program understanding and analysis techniques and combine them for quality assessment of open source code. The nature of OSS entails the need for integration of techniques spanning the "micro" to the "macro" levels (e.g., from slicing to architectural recovery) and with different levels of formality (e.g. from statistical analysis based on code metrics to the identification and formal verification of hidden invariants).

(2) Smoothly integrating such techniques into the OSS very peculiar development process without disturbing its collaborative, distributed and heterogeneous character.

The first objective implies to scale up program understanding techniques, and their combination with formal verification methods, to OSS.

Achieving the second, means to establish feedback loops in OSS development, making publicly available a number of interrelated analysis tools, to enhance the overall software quality, but without disturbing the peculiar, but very successful, OSS development life-cycle. The project intends to design and implement an online infrastructure -- the certification portal -- in which independently developed analysis tools (with different levels of sophistication) are to be inserted for monitoring, assessment and, at a later stage, certification of OSS products. Such an infrastructure will allow for the registration of OSS projects, their source code visualisation and analysis at different levels, as well as the rendering of analysis results in suitable, flexible formats to both OSS developers and users.

Such a strategy has potential for a long-term impact on the integration of trustworthy, OSS components, in large, complex systems. The CROSS project will, therefore, develop in interaction with Multicert, one of the leading portuguese companies, using OSS in landmark projects such as electronic voting and the recent Portuguese Citizen Card initiative.

The Team

The team has a mature record in high-level research both in Formal Methods for software certification, a area it pioneered in Portugal 25 years ago, and Program Understanding. Recently, its involvement in the PURe project (2003-06) contributed with several techniques and tools for code analysis and program understanding, with more than 40 papers published. Team members will also build on the experience carried out in the context of the IVY and RESCUE FCT-funded projects, and CACE, EU FP7 project, working on both functional and security requirements in cryptographic software implementations.

Team members are the founders of the successful series of summer schools on Generative and Transformational Techniques in Software Engineering (GTTSE), organized in 2005, 2007 and 2009 in Braga (LNCS, vols. 4143 and 5235, Springer).

On the other hand, the team has been involved in the ongoing debate on OSS certification, having organised, with the United Nations University, the first OpenCert workshop at ETAPS´07, and serving on the steering committee of the follow-up network.

r3 - 08 Oct 2009 - 17:31:38 - MariaJoaoFrade
This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.
Syndicate this site RSSATOM