All Collections
Softagram attributes explained
Softagram attributes explained

List of available attributes and their descriptions

Matti Mäki avatar
Written by Matti Mäki
Updated over a week ago

You might've wondered what do all those different attributes in Softagram Desktop mean: commit_count_30, user_count, used_count, fix_to_change and so on. Wonder no more, here's a comprehensive list with explanations, in alphabetic order.

Numeric attributes

aggregated_incoming_dependency_count Rarely used. Count of incoming dependencies for an element and all of its child elements, including internal dependencies between child elements.

aggregated_outgoing_dependency_count Rarely used. Count of outgoing dependencies for an element and all of its child elements, including internal dependencies between child elements.

author_count_N Amount of developers who have created commits during last N days

bugfix_commit_count_N Number of commits that are identified as bug fixes during last N days. Fix commits are identified by certain keywords during analysis.

childcount Number of direct child elements of an element.

commit_count_N Number of commits during last N days, counted back from the newest commit timestamp.

coupling Architectural quality metric about how coupled or decoupled the elements are. This is calculated based on the amount of external outgoing dependencies and the amount of internal dependencies. The heatmap shows good coupling values with lighter colour and bad values with more red colour. Higher the number, worse the indicator is from the architectural integrity point of view. Read more on a separate Coupling metric page 

days_since_modified Number of days since the element was last time changed. Good for spotting out abandoned parts of the codebase.

external_incoming_dependency_count Count of incoming dependencies for an element and all of its child elements, including only dependencies that come from outside of the element in question. E.g. if element A has children B and C, then dependencies to B and C from outside are also counted into A's external_incoming_dependency_count. Good for spotting the most critical parts of codebase in terms of "how many others depend on this part of the codebase".

external_outgoing_dependency_count Count of outgoing dependencies from an element and all of its child elements, including only dependencies towards elements that are outside of the element in question.

fix_to_change_N Ratio of bug fix commits to all commits during last N days. See also bugfix_commit_count_N

Count of incoming direct dependencies to this element.

loc Lines of code of the element, excluding blanks and comments.

loc_java, loc_c, etc. Lines of code for each programming language, excluding blanks and comments. Only calculated on project level, not for individual repos, folders or files.

outgoing_dependency_count Count of outgoing direct dependencies from this element.

risk_level How risky it is to change this element, based on a weighed combination of metrics including incoming dependency counts, code complexity, change density and historical ratio of bug fixing.

testcode_loc Lines of code of test code, based on common naming practices of test files, and folders containing test code.

Non-numeric attributes

author_list_N List of developers who have committed during last N days.

branch_when_analyzed Analyzed git branch name

commit_time_when_analyzed Commit timestamp of the revision that was analyzed

commit_hash_when_analyzed SHA1 commit hash of the revision that was analyzed

description Documentation of the element, if available in source code

last_modified Timestamp of last commit that modified this element

latest_commits Timestamp, author and title of last 10 commits for this element (file, folder, repository)

license List of open source licenses that apply to this element. Good for eg. finding out incompatible or harmful licenses from the codebase.

namespace Namespace or package of a class (if available)

params List of function parameters

repo_url Git repository clone URL

type Type of the element (e.g. repo, folder, file, class, function, variable)

In case you didn't find the attribute you were looking for, please ping us in the chat and we'll add it asap.

Did this answer your question?