Home // SnT // News & E... // Natural Language Processing facilitates software development

Natural Language Processing facilitates software development

twitter linkedin facebook email this page
Published on Thursday, 29 March 2018

New Natural Language Processing (NLP) technologies to prevent project failures and delays resulting from inadequate software requirements.

The Interdisciplinary Centre for Security, Reliability and Trust (SnT) at the University of Luxembourg has entered a collaborative research partnership with Canada-based QRA Corp, a developer of systems and requirements engineering technology. This joint research project will explore how NLP can help requirements engineers ensure the quality of their work, translating their requirements texts into precise specifications suitable for automated analysis.

Further, the project will develop techniques for the automated simulation and testing of the resulting requirements and system design models. The collaboration makes QRA the first member of SnT’s Partnership Programme not based in Luxembourg.

Mehrdad Sabetzadeh, Sallam Abualhaija, Lionel Briand and Shiva Nejati

From left: Dr Mehrdad Sabetzadeh, Dr Sallam Abualhaija, Prof. Lionel C. Briand and Dr Shiva Nejati


Translating natural language into computer language

Just as a ship’s navigator needs to know the final destination before planning a route, successful software development relies on a set of clear requirements, defining the expected system behaviour from the start. Inadequate requirements can lead to project failures, delays and even – in domains such as automation and aerospace – loss of life. Ideally therefore, a computer would analyse these requirements, highlighting issues of ambiguity and incompleteness which engineers might otherwise overlook. Many such tools have already been developed, but so far these only work on formal and analysable computer languages, rather than the unanalysable natural languages (such as English) that engineers continue to use. SnT researchers will therefore develop automated tools that work directly on the natural-language documents preferred by engineers.

Extracting the key semantic information

“As humans, much of what we say and write is subject to interpretation, depending on cultural and situational context,” says SnT researcher Dr Mike Sabetzadeh, who is leading the requirements engineering activities in the project. “For example, when we say that something should be done quickly, we assume that somebody else will understand how quickly. Problems arise when such vagueness creeps into documents that need to be very precise and specific, such as requirements for complex systems.” This research will realise Natural Language Processing’s enormous potential both for flagging up such quality issues and extracting the key semantic information from a document and rendering it into precise formulae.

Even with good requirements in place, however, a great deal of effort must then go in to verifying that systems comply with them. “Given the complexity of systems today, this task is beyond human capacity,” says Dr Shiva Nejati who leads the verification activities in the project. “When we write requirements, particularly for cyber physical systems [where software and hardware interact] in automotive and aerospace applications, there might be uncertainty about the system’s environment, or even system components that haven’t been designed yet. This becomes problematic at later stages when defining whether a system has met its requirements.” To cope with such challenges, researchers will use artificial intelligence to build automated verification techniques based on simulations of the environment.

Addressing the industry’s real pain points

“Current challenges in requirements engineering, as illustrated in the project with QRA, show just how important it is for research to be carried out with a deep understanding of industry realities,” says Prof. Lionel Briand, who leads SnT’s activities in the field of software verification and validation. “Academic solutions tend in general to be unrealistic, but in collaboration with QRA we can develop innovative technology that addresses the industry’s real pain points.”

QRA’s Chief Technology Officer Dean Tsaltas shares this opinion: “QRA is thrilled to be working with the world class researchers at SnT. QRA and SnT agree on the best approach to create valuable technology: work with customers on problems they are currently facing. We foresee a long-term, productive relationship between SnT and QRA that results in tools that fundamentally change the way industry approaches requirements engineering and design verification.”

© University of Luxembourg