DECODER (2) H2020 Project: Another Look at Improving Efficiency, Speed and Development Protocols in Software Development

Published Apr 23, 2020, 8:03 PM

In this episode, we speak with Victoria Torres from the University of Valencia. She is a project partner in DECODER and she brings a unique perspective of an academic partner.

The DECODER project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement number 824231.

Powerful collaborations, cutting edge science, and curious minds coming together for a glimpse of the future. Stay tuned as we look at the latest updates on some of the most promising technology projects.

In this episode we take another look at the DECODER project. This 36 month effort will streamline software development by building a smarter work environment for software coders. Why does this matter to you? Well perhaps you don't even realize it but software is ubiquitous. There's no escaping it. When it's working like it should, no one notices, when it doesn't the effects could be anywhere from annoying all the way to detrimental. Hello and welcome. I'm your host, Peter Balint from Technikon and today we speak with Victoria Torres, a professor from the department of computer systems and computation at Polytechnic University of Valencia . She is also part of the Dakota consortium in the wake of the covered 19 restrictions we speak with Victoria remotely from her home office in Valencia. Welcome to the show and let's start out with your description of DECODER for the not so technically inclined.

OK, so DECODER is let's say a set of tools that can be used within a software development project that will help all different type of stakeholders participating in the project to better understand all the code documentation, specifications etc. more easily with some assistance and also with visualizing animation tools that can be very useful to really understand what is behind all the code implemented in it

So, we could say that this is a software development tool?

I would say instead of a tool a set of tools because it is many tools that can be used along the different stages of the software lifecycle. So from the very beginning when developers had just creating new artifacts in source code for example or we are including more requirements in our software project but also by the latest stages like for example for testing to verify or validate that all the implemented stuff or the source code is these properly addressing the requirements that were expected at the beginning.

So if the project goes as expected, and there are some developments to come out of the project we could say that the big winner in this would be software developers because this will help them to do their job -it will help them to be more efficient in their job.

Yeah I would say they are the main beneficiaries because as I mentioned the the idea is to provide support to them along the whole software lifecycle independently of the type of methodology they are using during this process. So we we want to provide some kind of support at the earlier stages when they are capturing requirements and how these can be transformed -all the knowledge that can be extracted and linked up later on with source code for example to better improve maintain verify all this source code.

Why is it that this is so important for the EU to promote this idea of software development? I mean, they're putting millions of euros behind this project- what's the idea? What's the EU trying to ensure?

What is clear is that in Europe they realize that there are many software projects that have been already developed -so there are... if you go to GitHub there is many many activities, many projects, many developments many people contributed to different projects so there is already a big amount of software that has been already developed and it is clear that we need means to reuse or to really understand what this is already done. Instead of doing and re-doing the same thing again and again. So, the European Commission so they in the call they already set up different challenges or things that for them were interested like for example; It's important that we can increase the productivity of the software development activities by reusing code and software components. And it's important to have means tools mechanisms that can helps different stakeholders to to do this properly.

OK. Let's say we look at the average EU citizen and we say how does this affect them. It seems like software development is is in everything that we do everything- most things that we own have some bit of code in them. And is it fair to say that the average EU citizen is also a beneficiary of this project?

Yeah I would say that yes because in the end what we are achieving is to have more -let's say more software with more quality is also more reliable more secure because, yeah, if we make sure that all developers or the other people involved in a software project during the development really understands well and is capable of identifying all parts, inconsistencies. So in the end, what we are ending up is with more quality product.

From your perspective what kind of challenges have you encountered so far or what kind of challenges do you anticipate in the future in the remainder of the project?

So in DECODER we are providing a set of tools that are going to be used to process different types of artifacts for example to to process documentation in natural language, to extract some knowledge out of it, to connect it with source code also with different type of models and the thing is for example if when once decoder is finished it would be very interesting for any company willing to use DECODER to, for example,to extend this tools set with new tools that are making different processing that it's necessary for them along a specific state in the development process so the integration or the capability for extending these tools set and that is well integrated with the other tools would be, I would say that would be the main challenge.

OK so you're saying it's possible that developers down the road can actually use your set of tools as as a base and then add onto that as they see fit or in a way that's convenient for their needs?

Exactly yeah. This is the idea, for example we are addressing very specific use cases and we are focused on that but the idea is that the decoder could be use in other use cases you know their fields or it can be exploited by, yeah with other interests and for that we need some kind of extensibility of the DECODER tool sets and especially the integration let's say with all these different tools.

What type of impact can decoder have on students -especially students in a computing engineering environment seeking an engineering degree? How can DECODER affect them?

I think this... what we are doing in the DECODER there would clearly benefit all the programming courses in computer science and undergraduate degrees because software developers are no longer building software applications from scratch but instead from existing code libraries, frameworks that need to be understood properly and used applying new developments. So I think our students have to be ready they need to know that when they go out to work as professionals in the industry so they will be involved in existing software development projects they need to understand what these... all these projects are about. So for sure they will learn at our university how to to proceed in a software development process. They will learn techniques they will learn programming languages but they need to to understand what is already done. So all the tools the tool set I mentioned in another time in this interview in DECODER so... are targeted to process all the artifacts that are already in a software project in order to extract some knowledge that can be used especially for any different stage for any different type of stakeholders along the software development process.

So being on the front lines of education and especially education in the computing engineering kind of field does that give you any sort of advantage in your job in DECODER

For us it would be very interesting for example to... because we could introduce many of the techniques that have are being developed in the in the project in our curricula for example so that students get some extra knowledge about the latest innovations regarding software development. But yeah, apart from that I think DECODER is more focused to industry to companies that are working on software development.

But as you say the students also this is quite a benefit for them because they could sort of get a glimpse into what sort of really happening in the industry.

From that point of view yes. Because as I mentioned, so they the idea is that they can already experience with the latest innovation in projects such as DECODER so they will be able to bring all this knowledge and experience in to their future life in the companies they will be working at. And for sure so this will be a big advantage for them. And I also think that they will have their chance to see that there are also some research that can be done in in these in the computer science field because maybe they are not willing to go to industry but they prefer to continue their studies doing some PhD for example and in this sense it would be also interesting to see or that they they can see that in these type of projects it's also possible to do some research for completing updates. For example.

Yeah exactly. It sounds like a really great opportunity if you could involve the students in some way which leads me to my next question. What kinds of activities within the scope of decoder are planned with students at the University?

OK, so according to the plan we we have in DECODER, our the idea is to test the results of the DECODER with the students. So for sure the best test will be done also in new companies not the ones included of being partners of DECODER currently but with the students so we can test the results because they will also, as I mentioned, probably will participate or will move to industry once they finish. So up here it would be very interesting to see if the tools the methodology proposed the techniques and so on are valid and are feasible so that and understandable and they can really provide some improvements in terms of productivity in the development process.

OK, and you knew this upfront right? I mean you always knew that you would have students to count on in some capacity so they were built into the project more or less.

Our idea is to to use their students from different degrees related to computer science to perform some experiments to evaluate. Mainly code comprehension and also if they are really... if the tools and assistance provided in DECODER is really helping for example for the [INAUDIBLE] tasks so the idea is that yes we we make experiments with different groups, we will create different groups with different subjects providing all the facilities developed in DECODER and another group without using such facilities and then we need to measure what's the impact of all these tools and support provided to see if there is really an improvement or not. And also I think is since we are introducing some abstraction into DECODER because when we are providing a specific language specifically for the for the validation and verification techniques phase and here the idea... so they will have to deal with some more abstract language and this may introduce some complexity. It will be very interesting to see if the complexity introduced here at this point is too high or it can be well addressed by all the students.

And speaking of computer engineering students? Is there a shortage right now or is there a pretty good flow of people moving from studies to the industry?

Nowadays, for example in Spain I dont know I think in other countries it is even better, I'm not sure but in Spain they are very well demanded because there are now many necessities especially in the fields of artificial intelligence for example and also big data and many students from computer science are required to develop within software within these areas and I would say that most of our students almost in the last course of their degree they are already having some experience with companies and doing some practical activities on most of them are have already job before they finish their degree. So the thing is is quite good. And they also have the possibility I think in Germany and in other countries in England as well so they are very well demanded. So I think in computer science nowadays there is no big issue regarding employment.

Yes and when is it that this project is scheduled to be completed?

So it will end up by the end of 2021 so next year in December and as I mentioned too we are providing support to very specific use cases but I think the natural lifecycle let's say of DECODER would be to extend it with other use cases to integrate it with new tools and so on.

When you say extended do you mean actually extend the project?

Yes. So I mean extend I don't know if the extension means extending the project but at least extending the tool set because many new techniques have been developed and instead of using the algorithms using natural language processing where you're seeing other types of algorithms that can be used for processing our software I don't know. So maybe requirements will be captured in in a different format and then we have to develop new techniques to to process them. So I don't know.

In the end though if you have a lot of knowledge that's gained and perhaps unfinished work, is it possible that there's a second part to this project that could kick off after the first part is complete?

I would like to think that this is the case. I would like to think, so I think it would be interesting to use other different areas that are already in in the computer science or yeah, or maybe not in the computer science but in the psychology or because I mean in the end we have people working in projects who... there are always problems -some technical some personal some social and we're addressing here the technical point of view from the technical point of view but probably there are many other things that can be adressed and would improve their development process. Yeah. Why not.

Interesting you mentioned psychological as it relates to this. Yeah. Who would have thought. And so it seems to me DECODER is sort of filling a need it's not necessarily very visible to the average person although the benefits that could come out of this will affect the average citizen in the European Union in a way that is quite important. I mean bringing down production times making software more secure and more accurate, these are all really important things that helped keep our world safe and secure because we are basically surrounded by software and it has to be as perfect as it can be so decoder is doing a big job in ensuring that safety.

Yeah you have to think for example end users not just software and users but citizens that are us ing products from different type of domains let's say. So they they don't have to know how every product has been developed but for sure they will complain if this product is not fulfilling their expectations regarding security or I don't know just satisfaction, whatever. So for the citizen, DECODER is transparent this means that we are doing things well because we are providing software products that are working safely with some security. So I mean they are not complaining about the product they are working with. So it's like in factories so there are some factories they have introduce many mechanisms to ensure that all their relations are followed and all the workers are safe, the productivity of their of their workers being achieved whatever -all these things are transparent to user in the end to the citizen.

Exactly, these are things we never really sit down and think about. They just happen to ensure that the average person gets what they need. I wanted to say thank you for what you're doing for advancing software in our community and keeping us safe and secure and also contributing to the European Union in this way. It's much appreciated and also thanks for your work with students who are studying computer science. We will need more of them. You're helping to shape the future. So thanks for that.

This podcast was brought to you by Technikon. The decoder project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement number 8 2 4 2 3 1.