Press a button to code

Christoph Raab has developed the IAV Code Pilot, a tool for automated code generation. In this interview, he talks about the AI-based technology and how it helps developers to work more effectively. You can also find out how IAV Code Pilot compares to GitHub's Copilot.

Similar to a chatbot, you can have a conversation with the IAV Code Pilot. 

What exactly is the IAV Code Pilot?

The IAV Code Pilot is an AI-based system for the automated generation of program code. Developers install a plugin, often in VS code, which communicates in the background of an AI via a so-called inference server.

And how does it work?

The IAV Code Pilot uses an AI similar to ChatGPT, with technical differences. The plugin allows you to chat and add texts or files. It opens code files and offers automatic suggestions for continuing the written code when programming.

Can IAV Code Pilot program a blog, for example, on demand?

IAV Code Pilot is versatile, including the programming of a blog. It offers intelligent code completion and a chat window, similar to ChatGPT. It can read different formats and interact with the user in parallel. Developers can even ask questions about a code base or instruct the Code Pilot to make suitable implementations.

How else does IAV Code Pilot support users?

IAV Code Pilot makes developers much more efficient and effective. A second aspect is that there is no tool breakage. Developers normally google or read the official documentation if they get stuck. This can be avoided if they use inline code completion for the code file they are currently working on and use the automatically generated suggestions.

So how much time does it save developers?

That depends on the use case and how popular the programming framework is. It works very well with Python and Java. The less established a programming language is, the less the AI knows about it and is therefore less helpful.

How was the IAV Code Pilot trained?

With public data, which is why it also fails with IAV's internal programming languages.

What advantages does IAV Code Pilot offer compared to GitHub's Copilot?

The IAV Code Pilot can be an alternative if data protection and compliance make it impossible to use the GitHub Copilot. We could support OEMs and automotive-specific customers in setting up the IAV Code Pilot in-house. It would also be conceivable that we provide the plugin and the customer uses it as they need it.

How many developers use the IAV Code Pilot?

Around 500 developers use the IAV Code Pilot, with an average of one request per second.

Is it easy to work with the IAV Code Pilot?

You have to familiarize yourself with the inline completion function, as it is not a chat model. The IAV Code Pilot is not trained to hold a conversation, but to complete code and execute simple instructions. The chat within the plugin makes it possible to talk to an AI that has also been trained to do so.

In case of difficulties, you have to start from the beginning. Using the context function, which allows you to add the code base to the context and make detailed requests, can be more demanding.

Can you describe a typical use case?

An example would be that I, as a developer, have various classes and would like to make them available via a specific interface. I can add the classes to the context and ask the Code Pilot to write an interface for them. It does this - without me having to do anything else.

Do you sometimes have cases where something is not right?

Yes, I think it's part of the business that something is wrong, it happens relatively often. Every issue has to be checked for accuracy. If only to ensure that it does not violate IAV compliance when used in projects.

Would you say that code quality has improved thanks to code pilots?

The media report that code quality has worsened due to the use of code pilots. This is because many people do not check whether the code is of high quality and correct. Originally, these tools were intended for beginners. However, I am of the opinion that it is more of a tool for experienced developers. Developers need to know how to use the system and its functions correctly. They need to be experienced in using the tool and know their project well so that the quality is right.

In which programming language does the IAV Code Pilot run?

The entire system is a plugin written in JavaScript. The Inference Server, on which the language model runs, has been implemented in Rust, Python and Intruder.

How secure and trustworthy is the IAV Code Pilot?

From a compliance perspective, it is approved for confidential data and customer data. The chat models are also trained not to offend you and to be helpful. In this sense, you are safe.