Test-case-based Code Navigation in Dynamically Typed Programming Languages

  • Gabriel Pereira UFRGS
  • Ingrid Nunes UFRGS
  • Marcelo Pimenta UFRGS

Resumo


Providing useful support for developers to understand the source code in maintenance tasks is a challenge. It is even more complicated when dealing with dynamically typed languages, because data types are not explicitly specified. In particular, the construction of call graphs (CGs) is compromised, and they are the basis to build code navigation tools, which are essential for code understanding. To address this problem, we present a technique that leverages automated test cases to build CGs. The technique uses both static and dynamic information and includes offline and online stages to guarantee performance while developers are coding. Our technique is evaluated with developers of a proprietary project, which shows that it increases the precision of CGs.
Palavras-chave: call graph, code navigation, dynamically language, test case
Publicado
19/10/2020
PEREIRA, Gabriel; NUNES, Ingrid; PIMENTA, Marcelo. Test-case-based Code Navigation in Dynamically Typed Programming Languages. In: SIMPÓSIO BRASILEIRO DE COMPONENTES, ARQUITETURAS E REUTILIZAÇÃO DE SOFTWARE (SBCARS), 14. , 2020, Natal/RN. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2020 . p. 81–90.