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.
See also
Other edgelists:
transform_commit_message_id_to_network()
,
transform_cve_cwe_file_to_network()
,
transform_dependencies_to_network()
,
transform_dependencies_to_sdsmj()
,
transform_gitlog_to_bipartite_network()
,
transform_gitlog_to_entity_bipartite_network()
,
transform_gitlog_to_entity_temporal_network()
,
transform_gitlog_to_hdsmj()
,
transform_reply_to_bipartite_network()
,
transform_temporal_gitlog_to_adsmj()