Software is one of the pillars of the entire productive sector and our society in general. It is present everywhere and everything depends on it, from the correct functioning of critical infrastructures such as energy supply and transport, to the intelligent devices that connect us to the Internet, among many other examples. However, the development of these programmes is still very costly, mainly due to the ever-increasing complexity of computer systems.
Now, researchers from the Universitat Politècnica de València (UPV), belonging to the Valencian Institute of Artificial Intelligence (VRAIN), have participated in the development of an innovative methodology and tools that facilitate the creation of new software to the maximum, notably increasing the productivity of developers. This is the main result of DECODER, a European project coordinated by the Austrian company Technikon, in which five other companies from France, Spain and Germany have also participated.
"A typical software development process requires interactions of many stakeholders, at very different levels of abstraction. This makes the development, and also the maintenance of software systems, extremely complicated and inefficient: a lot of time is wasted and wrong decisions are made because a lot of information about a project is not properly collected and documented. Software engineers need help with software development, and this is what DECODER provides," says Tanja Vos, researcher at the PROS centre from the VRAIN Institute of the Politècnica de València.
DECODER offers programmers an intelligent system integrated by open source software tools and an innovative methodology that facilitates their daily work. "Nowadays there are many tools that allow us to extract information about a software, whether from its code, requirements, etc. What we have done is to bring them all together in a central repository, the Persistance Knowledge Monitor-PKM. By using it, the software developers will be able to make much better, faster and smarter decisions for the correct functioning of the software program they are working on," adds Tanja Vos.
Simultaneously, the tools and methodology developed in the framework of this project also reduce the learning curve and increase the productivity of both programmers and maintainers.
"Let's imagine that a company needs software with certain requirements and has a new team of developers: the learning curve for those who join the company and have to develop the programme is currently very complex. This PKM makes their work easier, increases their productivity, gives them more information, allows them to provide intelligent solutions, to guarantee the quality, security and functionality of the software, in a much shorter time than is currently required," explains Tanja Vos. For maintenance engineers, PKM will give them instant knowledge of all the "secrets" of the software in question. "It allows them to know what, how and with which tools it was developed, and thus to extract knowledge from the project that would be difficult to obtain from existing software repositories," adds Vos.