Ctrlflow Blog

Categories


Recent Posts


Ctrlflow: The Wisdom of the Crowds for Java Programmers

CtrlflowCtrlflow
This is the fifth post in our new series of blog posts on AI in software development but the first to showcase one of our own tools.

Ctrlflow Insights

Ctrlflow Insights is a tool suite that helps you build the best code possible. It consists of three components: intelligent content assist, a code explorer, and data-mined documentation. All components use machine learning to leverage the “wisdom of the crowds” to assist you while coding – directly in your Java IDE.

What Does It Do?

Ctrlflow Insights includes an intelligent content assist, which enhances the IDE’s built-in code completion with recommendations: It predicts which methods you are likely to call based on how other developers have used the class before. You thus benefit from the wisdom of the crowds and can let your code completion guide you through unfamiliar APIs.

The code explorer component of Ctrlflow allows you to dig deeper and search for code examples both locally and in Open Source programs in the Web. The code explorer can answer common questions like what argument to pass to a method or how to obtain an instance of a given type.

Unlike other example search engines like Kite (see this post) or Codota (post), Insights’ code explorer aggregates similar results. Thus, you can quickly glean the essence of code examples – and how often they occur in the wild.

Finally, Ctrlflow Insights provides you with augmented documentation. Its statistics again help you spot common patterns and avoid common mistakes, like forgetting to make a mandatory super call.

Where’s the AI?

Ctrlflow Insights is the product of a decade of research, first a Darmstadt University of Technology, Germany, and now at Codetrails. The code mining platform developed by Codetrails powers all three components of the suite with static analysis and machine learning in equal measure.

Ctrlflow’s intelligent content assist is a recommender system tailored to the need of software developers. The code explorer combines information retrieval with aggregation and fingerprinting of code examples. The augmented documentation has access to all kinds of statistics about your code.

Where Can I Try it?

If you are one of the 4 million users of the Eclipse IDE, you’ve likely used Ctrlflow’s intelligent content assist already: Since 2012, Codetrails has teamed up with the Eclipse Foundation to data-mine the Eclipse codebase and deliver recommendations for all Eclipse APIs and the Java class library itself.

If you want to try Ctrlflow on your own APIs, you can download of the Single-User Edition and data-mine the code in your Eclipse workspace. To mine the code kept in your company’s repositories instead, have a look at the Enterprise Edition.

If you are working in a small team or are driving an open-source project there is free version available. Just get in touch with the support team via this form.


Dr. Marcel BruchAbout the author: Dr. Marcel Bruch is the founder of Codetrails and holds a PhD from Darmstadt University of Technology. He leads the Eclipse Code Recommenders project, which brought AI-powered developer assistance tools to over 4 million users.