Continuously Improving Analysis of C/C++/Objective-C Code

by nicolas bontoux|

Today we have improved the functionality of SonarCloud centered around the analysis of C/C++/Objective-C code. We recently overhauled the design and functionality of these analyzers to allow more complex rule creation and improve accuracy. It’s an important change and we’d like to take a moment to provide you with the reason behind our decision.

Overcoming Challenges

Quality scanning of any language presents a challenge and analysis of C/C++/Objective-C is especially difficult and tricky. Compilation data is required in order to accurately parse and understand the code, advanced language features (e.g. templates) need to be understood and multiple architectures exist, etc, etc.

For some time, we’ve been tackling this complexity, continuously delivering more rules and features for C/C++/Objective-C while encountering additional roadblocks. These technical challenges and obstacles impacted our delivery velocity and hindered our ability to write increasingly advanced rules. Ultimately, we realized that to keep the momentum and deliver great features, we had to first step back.

Building Momentum

So, it was time for a redesign. A redesign that would pave the way for years to come by solving some fundamental limitations inherent in the past design. More importantly, this would give us the ability to unleash more rules, more features and just more good vibes. Already today you may notice new C/C++/Objective-C bugs and vulnerabilities being detected by SonarCloud in your projects, thanks to improved accuracy.

We strive to take honest looks at our products, recognize when limitations exist and fix them with determination and good spirit. It’s something we take seriously at SonarSource and today we’re excited to share this news with all C/C++/Objective-C developers!  

Enjoy and be sure to check out our Community Forum for product help and to leave us suggestions!