English

CIn - Centro de Informática UFPE




Eventos Relacionados

Defesa de Dissertação de Mestrado Nº1.702: "Using information flow to estimate interference between same-method contributions"

O aluno Roberto Souto Maior de Barros Filho irá defender sua pesquisa no dia 31 de março, às 9h, no Auditório Início: 31/03/2017 às 09:00 Término: 31/03/2017 às 00:00 Local: Auditório do CIn

Pós-Graduação em Ciência da Computação – UFPE
Defesa de Dissertação de Mestrado Nº  1.702

Aluno: Roberto Souto Maior de Barros Filho
Orientador: Prof. Paulo Henrique Monteiro Borba
Título: Using information flow to estimate interference between same-method contributions
Data: 31/03/2017
Hora/Local: 9 horas – Centro de Informática - Auditório
Banca Examinadora:
Prof. Marcelo Bezerra d'Amorim (UFPE / Centro de Informática)
Prof. Uirá Kulesza ( UFRN / Departamento de Informática e Matemática Aplicada)
Prof. Paulo Henrique Monteiro Borba (UFPE / Centro de Informática)

RESUMO:

In a collaborative software development environment, developers often implement their contributions (or tasks) independently using local versions of the files of a system. However, contributions from different developers need to be integrated (merged) to a central version of the system, which may lead to different types of conflicts between those contributions such as syntactic, static semantic or even dynamic semantic conflicts. The first two types are more easily identifiable as they lead to syntactically incorrect programs and to programs with compilations problems respectively. On the other hand, dynamic semantic conflicts, which may be caused by subtle dependencies between contributions, may not be noticed during the integration process, causing variations of behaviour (or bugs) in the system. Previous works use tests to identify this conflict category, an approach which is limited by the quality of the project's test suite. This work's main goal is to understand if Information Flow Control (IFC), a security technique used for discovering leaks in software, could be used to indicate the presence of dynamic semantic conflicts between merge scenario contributions. However, as defining if a dynamic semantic conflict exists involves understanding the expected behaviour of a system and as such behavioural specifications are often hard to capture, formalize and reason about, we instead try to detect a necessary but not sufficient condition for dynamic semantic conflict: a code level adaptation of the notion of interference from Goguen and Meseguer. Furthermore, we limit our scope to interference caused by contributions on the same method. More specifically, we want to answer if the existence of information flow between merge scenario same-method contributions can be used to estimate the existence of interference. Therefore, we conduct an evaluation to understand if information flow may be used to estimate interference. In particular, we use JOANA to do the IFC from Java programs. JOANA does IFC of Java programs by using a System Dependence Graph (SDG), a directed graph representing the information flow through a program. As JOANA accepts different options of SDG, we first establish which of these options of SDG (instance based without exceptions) is appropriate to our context by running JOANA and comparing the results for different options. Additionally, we bring evidence that information flow between same-method contributions occurred for around 64% of the scenarios we evaluated. Finally, we conducted a manual analysis, on 35 scenarios with information flow between same-method contributions, to understand the limitations of using information flow to estimate interference between same-method contributions. In particular, given information flow between same-method contributions existed for a scenario, the manual analysis aimed to establish if there was also interference and if not, for what reason. From the 35 analysed scenarios, for only 15 we considered that an interference in fact existed. We found three different major reasons for finding information flow and no interference: cases related to the nature of changes, to excessive annotation from our strategy and to the conservativeness of the flows identified by ac{joana}.

Palavras-chave: software merging, dynamic semantic conflict, interference, information flow, System Dependence Graph (SDG)
  • © Centro de Informática UFPE - Todos os direitos reservados
    Tel +55 81 2126.8430 - Cidade Universitária - 50740-560 - Recife/PE
Plano4 Consultoria Web