Function reference
-
io_make_folder()
- Make Folder
-
io_delete_folder()
- Delete Folder
-
io_make_file()
- Make File
-
make_temporary_file()
- Make Temporary File
-
read_temporary_file()
- Read Temporary File
Static Dependencies
Identification of static dependencies from source code. See the File Networks or Kaiaulu Architecture Notebooks for examples.
-
parse_dependencies()
- Parse dependencies from Depends
-
parse_r_dependencies()
- Parse R File and Function Dependencies
-
transform_dependencies_to_network()
- Transform parsed dependencies into a network
-
transform_r_dependencies_to_network()
- Transform parsed R dependencies into a graph
Gang of Four Patterns
Gang of Four pattern detection using sub-graphs. See the Graph GoF Notebook for examples.
-
parse_gof_patterns()
- Parse GoF Patterns
-
write_gof_patterns()
- Write GoF Patterns
-
subset_gof_class()
- Subset GoF Classes
Syntax Extraction
Annotate and query source code elements, such as identifiers and docstrings. See the Text GoF Notebook for examples.
-
annotate_src_text()
- Creates srcML XML
-
query_src_text()
- Query srcML XML
-
query_src_text_class_names()
- Query srcML Class Names
-
query_src_text_namespace()
- Query srcML Namespace
Git Log
Git Log Numstat and Git Blame Parsers. See the Git Log Notebook for examples.
-
parse_gitlog()
- Parse Gitlog from Perceval
-
parse_git_blame()
- Parse the git blame message of a file
-
parse_gitlog_entity()
- Parse Git log entities by line additions
-
parse_commit_message_id()
- Adds a column commit_message_id containing the parsed commit message
-
transform_gitlog_to_bipartite_network()
- Transform parsed git repo into an edgelist
-
transform_gitlog_to_temporal_network()
- Create time-ordered contribution network
-
transform_gitlog_to_entity_bipartite_network()
- Transform parsed git repo into an edgelist
-
transform_gitlog_to_entity_temporal_network()
- Create time-ordered contribution network
-
transform_commit_message_id_to_network()
- Transform parsed git repo commit messages id and files into an edgelist
-
git_add()
- Git Add
-
git_commit()
- Git Commit
-
git_init()
- Git Init
-
git_mv()
- Git Mv
-
git_checkout()
- Performs a git checkout on specified repo
-
git_head()
- Gets the current commit hash head of the git repo
-
git_log()
- Saves gitlog to a path
-
git_blame()
- Git blame wrapper
-
git_create_sample_log()
- Creates a sample git log with one commit
-
git_delete_sample_log()
- Removes sample folder and git log
Filters
Filters for file extensions, and substrings, such as test files, and time intervals. See the Git Log and Line Metrics Notebooks for examples.
-
filter_by_file_extension()
- Filter commit files by extension
-
filter_by_filepath_substring()
- Filter by filepath substring
-
filter_by_commit_interval()
- Filter by commit interval
-
filter_by_last_files_change()
- Filter Git Log by all last files changes in snapshot
-
filter_by_commit_size()
- Filter by number of files in commit
Download, parsing and data generation of mailing lists. See the Download Mbox and Reply Notebooks for details.
-
download_pipermail()
- Download all pipermail files in an archive
-
convert_pipermail_to_mbox()
- Convert pipermail archive files (.txt and .txt.gz) into an mbox format for use with
parse_mbox
-
download_mod_mbox()
- Compose mod_mbox archives (.mbox) into a single mbox file for use with
parse_mbox
-
download_mod_mbox_per_month()
- Compose mod_mbox archives (.mbox) into a single mbox file for use with
parse_mbox
-
parse_mbox()
- Parse mbox from Perceval
-
make_mbox_reply()
- Create Mbox Reply String
-
make_mbox_mailing_list()
- Takes in mbox replies and creates a .mbox file
JIRA
Downloading, parsing, data generation and network transformations of JIRA. See the JIRA Notebook for details.
-
parse_jira()
- Parse Jira issue and comments
-
parse_jira_replies()
- Format Parsed Jira to Replies
-
parse_jira_rss_xml()
- Parse Jira Issue RSS XML Feed
-
make_jira_issue()
- Create JirAgileR Issue
-
make_jira_issue_tracker()
- Make Jira Issue Tracker
GitHub
Functions to interact and download data from GitHub API. See the GitHub API Notebook to learn how to set an API Key, and how to use it to download issues and comments on the GitHub Downloader and Parser Notebook.
-
github_api_rate_limit()
- Returns token remaining available requests.
-
parse_github_replies()
- Parse GitHub Issue and Pull Request Comments
-
github_api_project_issue_events()
- Download Project Issue Events
-
github_parse_project_issue_events()
- Parse Issue Events JSON to Table
-
github_api_project_issue()
- Download Project Issues
-
github_parse_project_issue()
- Parse Issues JSON to Table
-
github_api_project_pull_request()
- Download Project Pull Requests
-
github_parse_project_pull_request()
- Parse Pull Requests JSON to Table
Issue and Pull Request Comments
GitHub’s assumes Issues and Pull Requests to be the same in regards to comments.
-
github_api_project_issue_or_pr_comments()
- Download Project Issue's or Pull Request's Comments
-
github_parse_project_issue_or_pr_comments()
- Parse Issues' or Pull Requests' Comments JSON to Table
-
github_api_project_commits()
- Download Project Commits
-
github_parse_project_commits()
- Parse Commits JSON to Table
-
github_api_project_contributors()
- Download Project Contributors
Bugzilla
Downloading and parsing of Bugzilla. See the _bugzilla_showcase.Rmd Notebook source code for examples.
-
download_bugzilla_perceval_traditional_issue_comments()
- Download Bugzilla issues and comments using Perceval traditional backend.
-
download_bugzilla_perceval_rest_issue_comments()
- Download Bugzilla issues and comments using Perceval REST API backend.
-
download_bugzilla_rest_issues()
- Download Bugzilla issues using the Bugzilla REST API
-
download_bugzilla_rest_comments()
- Download Bugzilla comments using the Bugzilla REST API
-
download_bugzilla_rest_issues_comments()
- Download project data (issues and comments) from bugzilla site Note: The first comment in every issue is the issue description
-
parse_bugzilla_perceval_traditional_issue_comments()
- Parse Bugzilla data obtained from Perceval traditional Bugzilla backend
-
parse_bugzilla_perceval_rest_issue_comments()
- Parse Bugzilla data obtained from Perceval REST API Bugzilla backend
-
parse_bugzilla_rest_issues()
- Parse Bugzilla issues data obtained from json files from Bugzilla crawler
-
parse_bugzilla_rest_comments()
- Parse Bugzilla comments data obtained from json files from Bugzilla crawler
parse_bugzilla_rest_comments
-
parse_bugzilla_rest_issues_comments()
- Parse Bugzilla issues and comments data table
-
transform_reply_to_bipartite_network()
- Transform parsed mbox or parsed jira replies into a network
Software Vulnerabilities
Software Vulnerabilities feed parsers. See the Software Vulnerability Notebook for examples.
-
parse_nvdfeed()
- Parse NVD Feed CVEs, descriptions and CWE ids
-
transform_cve_cwe_file_to_network()
- Transform parsed cveid and nvdfeed into a network
Identity
Provide the same id to authors who use variations of names or emails. See the Social Smells Notebook for examples.
-
format_name_email()
- Format Name and Email
-
split_name_email()
- Split Name and Email
-
is_same_identity()
- Compares identities in a list by index
-
assign_exact_identity()
- Identify authors with different names and emails
-
identity_match()
- Assign Common Id to Nodes and Edgelists to Git and Mbox
-
interval_commit_metric()
- Calculate Metric for Commit Interval
-
get_date_from_commit_hash()
- Get datetime from commit hash in a git log
Metrics
Various metrics used to estimate code quality, complexity and effort. For example usage, see File Line Metrics, Causal Flaws, or Bug Count Notebooks.
-
parse_line_metrics()
- Parse File Line Metrics
-
metric_file_bug_frequency()
- File Bug Frequency
-
metric_file_non_bug_frequency()
- File Non Bug Frequency
-
metric_file_bug_churn()
- File Bug Churn
-
metric_file_non_bug_churn()
- File Non Bug Churn
-
metric_file_churn()
- File Churn
-
metric_churn_per_commit_interval()
- Churn Metric per Commit Interval
-
metric_churn_per_commit_per_file()
- Churn Metric per Commit per File
-
commit_message_id_coverage()
- Commit Message Id Coverage Metric
-
metric_churn()
- Churn Metric
-
model_directed_graph()
- Create a directed graph model
-
bipartite_graph_projection()
- Apply a bipartite graph projection
-
temporal_graph_projection()
- Apply a temporal graph projection
-
weight_scheme_sum_edges()
- Weight Edge Sum Projection Scheme
-
weight_scheme_count_deleted_nodes()
- Weight Number of Deleted Nodes Projection Scheme
-
weight_scheme_cum_temporal()
- Weight Cumulative Temporal Projection Scheme
-
weight_scheme_pairwise_cum_temporal()
- Weight Pair-wise Cumulative Temporal Projection Scheme
-
community_oslom()
- OSLOM Community Detection
-
recolor_network_by_community()
- Re-color OSLOM Community IDs
-
graph_to_dsmj()
- Exports a graph as a dsmj.
Social-Technical Congruence and Social Smells
Sub-graph patterns that identify bad social practices. See Social Motifs, or Social Smells Notebooks.
-
motif_factory()
- Motif Factory
-
motif_factory_triangle()
- Triangle Motif
-
motif_factory_square()
- Square Motif
-
motif_factory_anti_triangle()
- Anti-Triangle Motif
-
motif_factory_anti_square()
- Anti-Square Motif
-
smell_missing_links()
- Missing link Social Smell
-
smell_organizational_silo()
- Organizational Silo Social Smell
-
smell_sociotechnical_congruence()
- Estimates Socio-Technical Congruence
-
smell_radio_silence()
- Radio Silence Social Smell.
Architectural Flaws
Sub-graph patterns that identify bad architectural practices. Requires a DV8 Archdia license (https://archdia.com). See the Architectural Flaws Notebook for examples.
Design Structure Matrix (DSM)
Parsing DSMs from raw data, convert between JSON DSMs and DV8’s binary DSMs, combine DSMs, and DSM export to Excel.
-
gitlog_to_hdsmj()
- Transforms a gitlog table to a historical DSM JSON file.
-
dv8_gitlog_to_gitnumstat()
- Transforms a git log to a git numstat file.
-
dv8_gitnumstat_to_hdsmb()
- Converts a git log text file into a hdsmb binary file
-
dependencies_to_sdsmj()
- Transforms a dependencies table to a structural DSM JSON file.
-
dv8_depends_to_sdsmj()
- Creates dependencies using Depends
-
dv8_dsmj_to_dsmb()
- Transforms a DV8 binary DSM file to a DSM JSON file.
-
dv8_dsmb_to_dsmj()
- Export a dsmb binary file as a separate json file
-
dv8_hdsmb_sdsmb_to_mdsmb()
- Merge history DSM and structural DSM to merged DSM.
-
dv8_mdsmb_drhier_to_excel()
- Export a mdsmb binary file into a spreadsheet
-
transform_dependencies_to_sdsmj()
- Transform parsed dependencies into a structural dsm.json file.
-
transform_gitlog_to_hdsmj()
- Transform parsed git repo into a history dsm.json file.
-
transform_temporal_gitlog_to_adsmj()
- Transform parsed git repo into an author dsm.json file.
-
dv8_mdsmb_to_flaws()
- Computes the Architectural Flaws folder
-
parse_dv8_architectural_flaws()
- Parse Architecture Flaws Map
-
dv8_mdsmb_to_decoupling_level()
- Computes the Decoupling Level from a mdsm binary file
-
parse_dv8_metrics_decoupling_level()
- Parses the decoupling level JSON file
-
dv8_mdsmb_to_hierclsxb()
- Computes the design rule hierarchy for a mdsm binary file
Clustering
Hierarchical Clustering, Parsing into R Memory, and Clustering conversion between JSON and DV8’s binary.
-
dv8_clsxb_to_clsxj()
- Transforms a DV8 binary cluster file to a json cluster file.
-
dv8_clsxj_to_clsxb()
- Convert a json cluster file, clsxj, to a binary cluster file, clsxb.
-
parse_dv8_clusters()
- Parses a DV8 json cluster file to R data.table.