rm(list = ls())
require(kaiaulu)
require(stringi)
require(visNetwork)
require(igraph)
require(data.table)
require(knitr)

1 Parse R Package

folder_path <- "../R"

2 Dependencies

dependencies <- parse_r_dependencies(folder_path)
head(dependencies)
##       src_functions_call_name src_functions_call_filename
##                        <char>                      <char>
## 1: parse_bugzilla_rest_issues                  bugzilla.R
## 2:       bugzilla_parse_issue                  bugzilla.R
## 3:     bugzilla_parse_comment                  bugzilla.R
## 4:       bugzilla_parse_issue                  bugzilla.R
## 5:     bugzilla_parse_comment                  bugzilla.R
## 6: parse_bugzilla_rest_issues                  bugzilla.R
##              src_functions_caller_name src_functions_caller_filename
##                                 <char>                        <char>
## 1:       download_bugzilla_rest_issues                    bugzilla.R
## 2:                bugzilla_parse_issue                    bugzilla.R
## 3:                bugzilla_parse_issue                    bugzilla.R
## 4:                bugzilla_parse_issue                    bugzilla.R
## 5:                bugzilla_parse_issue                    bugzilla.R
## 6: parse_bugzilla_rest_issues_comments                    bugzilla.R
##    src_line_functions_call_start src_line_functions_call_end
##                            <int>                       <int>
## 1:                            64                          64
## 2:                           336                         336
## 3:                           340                         340
## 4:                           478                         478
## 5:                           483                         483
## 6:                           665                         665

2.1 Function

file_graph <- transform_r_dependencies_to_network(dependencies,dependency_type="file")
project_function_network <- igraph::graph_from_data_frame(d=file_graph[["edgelist"]], 
                      directed = TRUE,
                      vertices = file_graph[["nodes"]])
visIgraph(project_function_network,randomSeed = 1)

2.2 File

function_graph <- transform_r_dependencies_to_network(dependencies,dependency_type="function")
project_function_network <- igraph::graph_from_data_frame(d=function_graph[["edgelist"]], 
                      directed = TRUE,
                      vertices = function_graph[["nodes"]])
visIgraph(project_function_network,randomSeed = 1)