Artificial intelligence and machine learning exploded the information agenda in 2023 and continue to amaze. Business strives to actively integrate the most advanced neural networks into any processes where they can effectively replace a person. With Chat GPT and similar products, they create content, communicate with clients, draw designs and develop software. Since 2021, the first year, there have been attempts to integrate neural networks into the process of creating industrial code and speed up industrial programming.
There are many neural networks capable of creating programs at the request of the user: OpenAI Codex, CodeT5, Polycoder, Cogram, GitHub Copilot, DeepCode, Kite, TabNine, CodeWP, AskCodi, Codiga, PyCharm, AIXcoder, Ponicode, Jedi, Wing Pro. This is not a complete list of AIs that are able to write and improve code. Meanwhile, the ability of the neural network to replace programmers in industry and the applicability of products such as Chat GPT there requires analysis. In this article, we understand the possibilities of AI, the risks and prospects for using neural networks for industrial programming.
The Problem of Learning Sources
In addition, many industrial programs have severe resource limits, which is not at all consistent with the way we are used to writing code today. For example, when writing an application that runs slowly on an eight-core processor, they are more likely to suggest taking a twenty-core one, instead of optimizing the code for fewer resources. In industrial programming, this approach will not work.
There is a controller, it has kilobytes, maximum megabytes of memory, limited frequency and catastrophically low performance. And there you need a “licked” code. It is often written in a rare, little-known language. Such code can work efficiently with a specific controller and is able to do it quickly without increasing computing resources.
There are a lot of controllers, it’s a giant zoo of devices.
There are logical questions:
1. Can neural networks write code for specific controllers?
2. Can they write in specific programming languages?
For example, can AI produce quality code for widely used Siemens PLCs? It is possible that such neural networks exist and are used within corporations, but there is no information about them in the public domain.
Software reliability and security
It is premature to entrust neural networks with the development of industrial code completely; obviously, no one will agree to this. But the use of neural networks as a tool for such tasks is already justified, it is important that the query context is set by an experienced and knowledgeable programmer who is familiar with how IT systems for industry are developed and work. This way you can reduce risks, but this is already a process in which human competencies are involved.
Bugs, risks and testing
Even if we assume that in a certain system most of the code was generated by a neural network, then especially thorough testing must be carried out before launch and implementation. At the same time, use not only autotests, but also live testers. Whether this method will be cheaper and faster depends on the specific project. Most likely no.
It is important to understand that industrial code should not contain errors that significantly affect production and critical processes. Any problems of this kind with software are huge risks, both losses and emergencies. The nature of the risk will depend on the system the software will run on.
Therefore, industrial code is tested many times, and developers strive to minimize the likelihood of any errors. Ideally, avoid bugs entirely. In other industries, this approach is considered redundant, irrational and wasteful, but for the industry it is the norm.
It is known that neural networks make mistakes quite often, because. learn from the code that people have created. When neural networks become widely used in the development of industrial code, the result will require the development of a special test design.
Short-term prospects for neural networks in industrial software
Today, the most successful application of the same Chat GPT may be assisting in the creation of industrial applications. Neural networks are already taking on the function of a tool in the hands of an experienced programmer or IT system architect. This will significantly reduce the time for simple routine processes in the creation of products. Unfortunately, neural networks are currently not capable of creating a full-fledged application for the entire industry, even after receiving a detailed request.
Training of neural networks, in most cases, takes place on data from Open Source sources. There is certainly some industrial application code and functions in there. It is also known that some of this code is of dubious quality, which increases the risk of errors. Another source of errors is the misinterpretation of queries, context or data during training.
Legal Aspects: Copyright and Risk Liability
The problem of generating someone else’s code, which is already the property of a person or company, is not so acute. Given the use of only open sources for training neural networks, the likelihood of generating something protected by licenses, copyrights and patents is illusory. Concerns about this to a greater extent are the manipulations of radical skeptics who are concerned about copyright compliance, but have little understanding of what kind of code a neural network can write.
A bigger legal problem will be liability for errors in programs created using neural networks. Hypothetically, a situation is possible when industrial code written by AI actualizes a risk that leads to losses, accidents, and even victims.
At the moment, in none of the jurisdictions there are clear legal norms and mechanisms that will impose responsibility on strictly defined participants in the development process. It is likely that the actual responsibility will be borne by the software vendor, and the developers of the neural network will remain on the sidelines. However, it is difficult to guarantee such an outcome of the case, since the sphere is not legally regulated in the full sense, and there have not yet been precedents of this kind.
Forecasts and prospects
Today, some neural networks can be used in industrial programming as tools for experienced developers, for example, when it comes to languages such as Assembler, for example, Open AI Codex or Ponicode. At the same time, it is important to develop testing protocols that will exclude errors and failures in the operation of such code, since the neural network performs a specific task and is not yet able to take into account probabilities and risks not specified in the context.
The massive use of AI and the actual replacement of specialists who create industrial code with neural networks will occur no earlier than in 5-7 years. Such terms can be predicted while maintaining the dynamics of the development of AI as a code generation technology on demand.
Probably, over time, industrial software companies will create and train their own generative neural networks. They will create them for those languages, syntax and requirements that are used in industrial systems. Such products will either be proprietary in-house developments or commercially available under license.