?>

Go to content

Home
ETSIINF en Twitter ETSIINF en Facebook
Inicio > About us > Press office > Talk by Professor Moreno Navarro

A machine generating quality computer programs is quite feasible using rigorous technology

Talk given by Professor Moreno Navarro during Madrid’s Science Week

[3 December 2007]. With an annual growth rate of 2%, the software market now totals around 20 thousand million euros all over the world, of which Europe accounts for a third. The Spanish market is growing at a rate of 8% a year. These are figures proffered by Juan José Moreno Navarro, a professor at the Universidad Politécnica de Madrid’s School of Computing, in a talk on “Software Development Technologies: Challenges for Cutting-Edge Research”, which he gave recently during the Science Week in Madrid.

Juan José Moreno Navarro is also Associate Director of IMDEA-Software (Madrid Institute of Software Development Technologies Research). Additionally, he chaired the Scientific Committee of Spain’s National Computing Congresses (CEDI) in 2005 and 2007 and was awarded the Ramón Llull National Computing Prize in 2006.

Juan José Moreno Navarro explained that software systems are one of the key sources of economic growth. To prove his point, he gave the example of the United States, where this sector accounts for 30% of the economy and employs three million people. Other countries, like Finland, Israel and Ireland, are feeling similar effects.

Moreno Navarro also mentioned that the telecommunications sector spends 65% of research expenditure on software and the digital leisure sector, 60%. Additionally, he reported that the aerospace sector spends 45% of its design research expenditure on software, and the percentage for the automobile and the medical equipment sectors is 35% and 33%, respectively.

The example of the Paris Metro

To illustrate the importance of the software sector on today’s society, Professor Moreno Navarro drew attention to the fact that both the traffic and the trains of the Paris Metro’s Line 14 are fully software controlled. He added that the system has 100,000 specification lines, including refinements, as well as 87,000 lines of Ada (semi automatic) code, plus 27,000 (semi-automatic) tests.  It was implemented using the correctness by construction (CbyC) technique, on which his research group is also working. Moreno Navarro explained that not a single error was detected in this fully automated Metro line when the system was validated using conventional techniques, and version 1.0, deployed in October 1998, is still in use.

However, he added, a 2002 survey by America's National Institute of Standards and Technology (NIST) found that software failures were commonplace and that their cost came close to 60 thousand million dollars a year. This accounted for 0.6% of the United States’ GNP. According to the same source, 80% of software development costs went into identifying and putting right faults.

This is because, according to Moreno Navarro, most of the software produced is still of poor quality. There are many causes, especially incorrect validations and the use of inadequate and non-rigorous methodologies.

New paradigm: intensive software

Due to the demands of the new paradigm of intensive software systems, like global computing systems (Internet, grids, service-oriented computing, etc.), however, software engineering needs to remedy this state of affairs.

Intensive systems are programmable systems typically based on sensors and several integrated controllers. In the future, they will act as global computers in highly dynamic environments.

Service-oriented computing refers to autonomous, platform-independent computational entities that can be described, published, discovered and automatically assembled to develop massively distributed, interoperable and evolvable systems.

A machine that generates quality programs

Moreno Navarro suggested that the solution to software failures is to be found in a much needed machine capable of generating high-quality programs, which he believes could quite possibly be built from rigorous technology.

Rigorous technology encompasses methods, models, languages and tools with a rigorous semantics based on the human reasoning mode (mathematics/logic), specification languages, declarative programming languages, formal methods, formal verification and validation, program synthesis and mapping, etc.

He concluded in this respect that engineering is riddled with examples where reliability is achieved through a sound and rigorous modelling of the problems combined with production experience. That is the model that software engineers should adopt.