Large software systems need to be evolved to cope with their changing environment, e. g. to incorporate new functionalities, or to better use the underlying hardware. This paper proposes an approach to reveal which parts of a system can be isolated in a module, and which parts can potentially run in parallel. We use a graph representation for the data extracted from a target software system and for the queries that express our desired analyses. Then we employ a matching framework performing queries on the target graph. The data representation is highly flexible and supports several analyses, shown in our experiments.

Program Analysis and Graph Pattern Matching to Reveal Modularity and Potential for Parallelism

2018

Abstract

Large software systems need to be evolved to cope with their changing environment, e. g. to incorporate new functionalities, or to better use the underlying hardware. This paper proposes an approach to reveal which parts of a system can be isolated in a module, and which parts can potentially run in parallel. We use a graph representation for the data extracted from a target software system and for the queries that express our desired analyses. Then we employ a matching framework performing queries on the target graph. The data representation is highly flexible and supports several analyses, shown in our experiments.
2018
Static analysis
data dependence
mining software repositories
refactoring
parallelism
big data
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14243/377795
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact