SciTools recently met with NASA’s Independent Verification and Validation (IV&V) team to explore how they leverage Understand to ensure the safety and reliability of mission-critical software.
A Journey Through Time and Code
Johannes Lang, an Embedded Software Engineer at R-Stahl Germany, reflects on his two-decade journey with Understand, illustrating how the tool revolutionized his team’s approach to software development.
Finding Shared Global Objects
Having problems with threading? Check out these plugins to identify shared global objects. The plugins also use a cool trick: architectures as entity tags to store information like thread priorities.
Duplicate Lines of Code
Revisiting how we detect and report duplicate lines of code, and creating a plugin metric to report it.
Overly Complex Files
Frustrated by vague code quality metrics? Explore how to translate CBR Insight’s metrics for file complexity, thresholds, and comment to code ratio into equivalent custom Understand metrics to gain a more nuanced understanding of your code’s quality.
Git Plugins for Understand
Cool Git plugins for Understand to access commits, authors, owners, cohesion, coupling, and dates.
Cognitive Complexity Metric Plugin
A detailed technical description of how to calculate cognitive complexity using Understand’s API and why the cognitive complexity metric could be important to you.
Dependency Networks with Understand
A script to calculate and display design structure matrices based on file dependencies—plus lots of cool metrics based on the matrix.
Custom Report: Finding Parameter Values
Understand’s Python API makes it a great platform for creating quick tools to explore exactly what you are interested in. In this case, I was curious if a default parameter was ever set to a non-default value or if a given parameter is always the same value. Check out these two custom interactive reports that show parameter values for each call.
Feasting on My Own Dog Food
Understand complements my primary editor, VS Code, rather than replacing it. It’s an essential part of my workflow for personal projects, especially when it comes to easily visualizing the underlying types of variables and functions. It’s the best of both worlds!