Learning Environmental Assumptions via Natural Language Processing (NLP)

What went wrong in Ariane 5 rocket’s launch? A software error, but not a bug in the source code implementation, rather a flawed environmental assumption: The assumed maximum horizontal velocity based on the previous system (Ariane 4) did not hold for Ariane 5. As a result, an overflow error occurred and both the primary and backup guidance components failed. Unfortunately, the Ariane 5 accident was only one of the many system failures arising from missing or invalid environmental assumptions. This Protégé research project is aimed at using natural language processing (NLP) techniques and artificial intelligence to learn environmental assumptions from online human knowledge sources (e.g., Wikipedia), and further use these assumptions to carry out requirements-based testing activities in order to uncover defects and errors. The research will investigate NLP methods (e.g., dependency parsing) to discover linguistic constructs, and then use unsupervised learning and generative models to produce relevant and useful conditions about the environment in which a software-intensive system operates. The Protégé student will join a team of graduate students in the Software Engineering Research Lab to develop novel and scalable ways to improve software quality.

Rocket launch

On June 4, 1996 an unmanned Ariane 5 rocket launched by the European Space Agency exploded just forty seconds after its lift-off from Kourou, French Guiana. Image source: Hackaday


Headshot of Nan Niu

Nan Niu

Associate Professor, CEAS - Computing Sciences & Informatics

832 Rhodes Hall


My current research interests focus on the information seeking strategies that developers use in software engineering. I take an ecological-evolutionary, foraging-theoretic approach to understanding and improving developers' search for relevant information in their daily activities, such as debugging, refactoring, and reuse. My research group investigates how the task environment and the information environment re-shape developers' behaviors, or more accurately, how the developers' behaviors and their environments co-evolve, each shaping the other in important ways. My CAREER project (see http://ceas.uc.edu/news-1415/niu-receives-nsf-career-award.html) links software developers' rational behaviors together with their social information foraging, learning, and co-creation.