Programming is predictable
Learn more about the Ctrlflow Insights Code Analysis & Mining Platform
The big challenge developers face today
Software is complex.
And so is software development.
Today’s software systems consist of thousands of components all talking to each other over APIs. In these highly-interconnected systems, even simple tasks often require the use of multiple APIs. But keeping all the nitty-gritty details of every API in mind is impossible — even for senior developers.
Good documentation is key for success
To correctly use an API, it needs to be documented. But writing good documentation is a challenge. Often developers only document the bare minimum, if anything at all. In particular, key details like API contracts or code examples are frequently missing.
How developers compensate for poor documentation
Poor documentation is the productivity killer № 1 as developers have to resort to studying source code to learn how to use an API. But this approach is time-consuming and error-prone. Reading source code accounts for up to half of a developer’s time. Moreover, using a poorly understood API all too often requires trial-and-error and may even introduce new bugs while fixing old ones.
How Ctrlflow Insights changes how we develop software
Source code is the ultimate truth
The patterns how to use an API correctly manifest themselves in source code. But code was never meant to serve as documentation. Hence, gleaning patterns manually from source code is hard work. The question is thus how tools can automate this process, fill the gaps in the documentation, prevent bugs, and thus, save developer time. This is where Ctrlflow Insights comes in.
Static code analysis meets machine learning
Static code analysis help to extract various information from your code, e.g., whether a null value is passed to a method call. But while current tools use such atomic information to spot simple bugs or to compute basic metrics about your code, Ctrlflow Insights further applies machine learning to this information to detect patterns and rules — or their violations — in your code.
Analyzing your company’s source code
Each night Ctrlflow Insights analyzes your company’s Maven or P2 code repositories to extract all API patterns and contracts from your code. This mined knowledge then fuels your bug detectors, code quality metrics, and API documentation. And because it is directly inferred from your code, it is always up-to-date and helps your developers to produce high-quality software every day.
Redefining the i in IDE
Ctrflow Insights integrates with your CI tools to detect bugs and compute code quality metrics. But it delivers its full potential when integrated into the tool where your code is crafted: the IDE. By enriching its built-in code completion, bug detection, and documentation browser with the mined knowledge, Ctrlflow Insights not just integrates with the IDE — it makes it truly intelligent.Learn more about Ctrlflow Insights for Eclipse