Skip to contents

Create a collaboration network as described by Joblin et al. where an edge from developer A to developer B is created if A modifies a file, and B modifies it chronologically immediately after. Note contrary to the paper this definition is for files, not functions, and the weight of the edges is the number of changes to a file, not churn.

Usage

transform_gitlog_to_temporal_network(
  project_git,
  mode = c("author", "committer"),
  lag = "one_lag",
  weight_scheme_function = weight_scheme_sum_edges
)

Arguments

project_git

A parsed git project by parse_gitlog. The name column will be used to label nodes.

mode

author, committer

lag

either the string "one_lag" or "all_lag". See temporal_graph_projection

weight_scheme_function

the weight scheme function. See temporal_graph_projection

References

M. Joblin, W. Mauerer, S. Apel, J. Siegmund and D. Riehle, "From Developer Networks to Verified Communities: A Fine-Grained Approach," 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Florence, 2015, pp. 563-573, doi: 10.1109/ICSE.2015.73.