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

1st CROSS Workshop: 2nd July 2011, Braga


9:20 Welcome (Maria João Frade)
9:30 Learning and Activity Patterns in OSS Communities and their Impact on Software Quality (Antonio Cerrone)
OSS projects can be considered as learning and development environments in which heterogeneous communities get together to exchange knowledge through discussion and put it into practice through actual contributions to software development, revision and testing. OSS communities are open participatory ecosystems in which actors create not only source code but a large variety of resources that include the implicit and explicit definitions of learning processes and the establishment and maintenance of communication and support systems. Productivity, in terms of software development and release, is thus the final act of a very long and complex evolution and growth in the individual and collective knowledge and practise.Individuals' participation in the OSS community evolves through time. It starts from an initial but often significantly long learning process in which communication is heavily used to capture, describe and understand contents, while no production activity is performed. At a later stage the role of communication gradually moves to the proposal of new contents, the defense of the proposed contents and the criticism to existing contents or contents proposed by others. At the same time, during this stage, production activity starts as a trial and error process with a consequent low quality in the resultant product and little or no immediately visible impact on the project productivity. Only during a mature stage the quality and level of code developed, reports and commits become important and communication is mainly used to support own productive contributions and contrast them to others' contributions.This talk presents a framework to analyse learning and activity patterns that characterise participation of individuals in OSS communities. Then it defines notions of OSS quality and relate them to individual and community learning and activity patterns. Finally two new proposals to improve the OSS development process and to realise the OSS learning process in an educational context are presented and then related to OSS quality.
10:30 Coffee break
11:00 The GUISurfer tool (Carlos Silva)
Graphical user interfaces (GUIs) are critical components of today's software. Developers are dedicating a larger portion of code to implementing them. Given their increased importance, correctness of GUIs code is becoming essential. This talk describes GUISurfer, a tool to reverse engineer the GUI layer of interactive computing systems. The ultimate goal of the tool is to enable analysis of interactive system from source code.
11:30 Test case generation from mutated task models (José Creissac Campos)
This talk describes an approach to the model-based testing of graphical user interfaces from task models. Starting from a task model of the system under test, oracles are generated whose behaviour is compared with the execution of the running system. The use of task models means that the effort of producing the test oracles is reduced. It does also mean, however, that the oracles are confined to the set of expected user behaviours for the system. The talk focuses on solving this problem. It shows how task mutations can be generated automatically, enabling a broader range of user behaviours to be considered. A tool, based on a classification of user errors, generates these mutations. A number of examples illustrate the approach.
12:00 CROSS Open Source Software Certification Portal (Pedro Martins)
The CROSS project consists on a combination of tools that, together or singularly perform different analysis on software to create feedback related to performance, errors or overall quality. As consequence, such project needs an infrastructure that not only makes this analysis available to anyone who needs it, but also allows him to adapt both the tools and the analysis to his particular needs. What's more, any user should be able to create his own analysis tools that should seamlessly integrate with the already supported features. In this presentation, we will show how such infrastructure, in the form of an online portal, should be created to perform powerful analysis of software systems, but also how it should easily allow all the community to integrate his own tools and evaluation schemas to fulfill each particular need.
12:30 Lunch
14:00 Infrastructure for Quality Software Development (Miguel Veiga, Multicert SA)
In this talk we present an Infrastructure based on Open Source tools that is used by development teams at Multicert SA. The objective of any software company is to produce software with increasingly higher quality. As such, this infrastructure is designed to be integrated with the development processes currently implemented, in order to make them more efficient and automated as possible and at the same time have a fast and constant feedback about the overall quality of software being developed. All of this in a logic of Continuous Integration and with help of software quality assessment.
15:00 Task 5: Slicing Techniques Applied to OSS (Daniela Cruz)
Overview of task 5 of the project.
15:05 Verifying calling paths with GamaPolarSlicer (Sérgio Areias)
In this presentation it will be introduced GamaPolarSlicer and its role in the verification of calling paths of annotated components. However, due to its limitations, we decided to use as an internal component a symbolic executor that has already proved in practice to be effective and produce good results --- JavaPathFinder. This tool, mainly known as a software model checker, will be introduced and it will be also explained how it complies precisely with our requirements to improve GamaPolarSlicer, extending it to other data types.
15:30 The Role of Best Practices in Assessing Software Quality (Pedro Rangel Henriques)
Thousands of open source software projects are available for collaboration in platforms like Github or Sourceforge. Along the years, open source communities created their own standards and best practices. However, like traditional software, open source software projects have different quality levels. The traditional way to assess the quality of a software project is based on software metrics. Nevertheless, the classic software metrics do not take into account the best practices established by the community. This paper discusses what should be taken into account to measure a project in terms of best practices, having as case study the open source ruby language.
16:00 Comment Analysis for Program Comprehension : the Role of Comments on Program Comprehension (José Freitas)
Comments are considered to be the most practical form to document software, specially for program understandibility purposes. Quality comments must be enlightening by establishing a bridge between the Program and Problem Domain, according to the good practices. This presentation has the goal to describe the work done on the study of Program and Problem domain information included on comments of a set of Java software projects. The work done so far as been the support for the development of a Comment Analysis Program Comprehension tool.
16:30 Coffee break
17:00 Specialized Information Gathering and Sharing (Nuno Carvalho)
This presentation is about tools and techniques that are being used to gather specific information from software packages. How to define where to look for data to increase the accuracy of the information gathered, not only from source code but also from other relevant files (documentation, makefiles, readmes, etc). It will also focus on the environment architecture for the process of gathering information and infering knowledge in the context of the CROSS project.
17:30 Patterns for Architectural Analysis and Systems Integration (Nuno Oliveira)
If, in one way or another, architectural decisions end up hard-wired in the application code, architectural analysis of legacy systems intends to retrace and uncover such decisions from suitable, automatically generated representation structures (typically variants of program dependence graphs). Coordination patterns, in this context, are precise and re-usable abstractions of such decisions that can be analyzed and discovered in the legacy code. In this session I will discuss how to discover and disentangle coordination code resorting to the identification of coordination patterns in source code. In particular, I will introduce CoordL, a language to define coordination patterns that can be built compositionally, from a small set of combinators. CoordL is integrated with CoordInspector -- a tool for coordination analysis -- into an environment which allows the definition and discovery of patterns and their reuse.
18:00 Project meeting

-- MariaJoaoFrade - 09 Jun 2011

r16 - 17 Dec 2012 - 11:02:10 - MariaJoaoFrade
This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.
Syndicate this site RSSATOM