Code quality is an abstract concept that fails to get traction at the business level. Consequently, software companies keep trading code quality for new features. The resulting technical debt is estimated to waste up to 42% of developers’ time, causing stress and uncertainty, as well as making our job less enjoyable than it should be. Without clear and quantifiable benefits, it’s hard to build a business case for code quality.
Articles, tutorials, videos and tools to perform software source code analysis in software testing.
This presentation explores the current capabilities of existing C++ static analyzers and discuss some of the enforcements listed in the C++ Core Guidelines from a toolability aspect. It also looks into the recent “Simplify C++” trend in the language’s evolution. Finally, it explores how technology-specific analysis (like MISRA and AUTOSAR) is being adopted.
This talk discusses various advances in program analysis technology that enable a larger class of bugs to be detected earlier in software development projects (and even to be automatically fixed in some cases). It focuses particularly on recent developments that enable tight integration of program analysis tools into DevOps processes.
This presentation reviews recent developments in code analysis as well as the history of static analysis in commercial software and its evolution in the academic world. It provides an overview of the current commercial landscape, and conclude with best practices for organizations looking to bring static analysis into their software development environment and software testing practices.
Specializing static analysis techniques for test suites has yielded interesting results. We’ve previously learned that most tests are simple straight-line code, namely a sequence of setup statements followed by a payload consisting of asserts. We show how static analysis can identify useless setup statements, enabling developers to simplify and speed up their test cases.
Static analysis tools have the potential to significantly improve programmer productivity as well as the safety, reliability and efficiency of the code they write. Modern static analysis has moved well beyond the mental model people often have based on “lint”: just finding simple typos. Static analysis can find subtle, complex bugs early, identify opportunities to improve performance, encourage consistent style and appropriate usage of libraries and APIs.