Opendata, web and dolomites

Report

Teaser, summary, work performed and final results

Periodic Reporting for period 1 - OPENREQ (Intelligent Recommendation Decision Technologies for Community-Driven Requirements Engineering)

Teaser

Requirements engineering (RE) is a key activity in ICT projects, answering questions like: • What are the user’s current needs and what requirements satisfy them? • How much would a requirement cost and in which release should it be delivered? • Which requirements can...

Summary

Requirements engineering (RE) is a key activity in ICT projects, answering questions like:
• What are the user’s current needs and what requirements satisfy them?
• How much would a requirement cost and in which release should it be delivered?
• Which requirements can be reused from similar projects?
• Are there hidden dependencies or inconsistencies among requirements?
• What are the acceptable trade-offs for the stakeholders, including the users?
To find a satisfactory, answer to these questions is essential for the success of software projects. In fact, RE is considered one of the most critical activities in ICT projects. Therefore, a poor RE approach is a major risk which can lead to the failure of a software project, since it is the basis for all subsequent development, deployment, and maintenance activities.
Thus, improving the RE processes can reduce the overall costs of software, increase the stakeholders’ satisfaction, and improve the time to market

OpenReq intends to provide the right answers to those questions. The goal of the project is to develop, evaluate, and transfer innovative methods, algorithms, and tools for community-driven Requirements Engineering in large and distributed software-intensive projects. This will be done by developing, evaluating and disseminating a fully integrated open-source requirements management platform and a set of connectors with the following decision-making capabilities:
• Requirements Intelligence: monitors the actual software usage, collects stakeholders’ and users’ feedback (e.g. from social media), aggregates and visualizes this information as predictive analytics.
• Stakeholder’s Personal Recommender: implements advanced recommendation and machine-learning algorithms to assist requirements work, improve a requirement’s quality, estimate its properties or predict relevant stakeholders.
• Group Decision Support: enables the stakeholders’ participation, the resolution of preference conflicts, and the identification of consensus, e.g. during release planning.
• Dependency Management: semi-automatically identifies requirements dependencies, supports requirements reasoning and reuse of requirements knowledge.

The project success will be evaluated in a series of trials in the domains of telecom, transportation, and cross-platform open source software

Work performed

OpenReq is structured into three wide overlapping phases:
Phase 1: environment definition, positioning beyond state of the art, specifications and design
Phase 2: concurrent component development, first prototype integration and setting up of trials’ scenarios and tools
Phase 3: validation by trials, tuning, completing the scope of the project by extending the functionalities of the prototype and preparing for exploitation

After 18 months of work, Phases 1 and 2 are practically finished and Phase 3 has started and will be fully addressed during the second half of the project.
The project started with the identification and documentation of the functional and non-functional requirements of OpenReq, through a series of structured interviews carried by the research and development partners at the trial partners’ sites, in order to obtain first-hand information about the trial scenarios, how requirements engineering was addressed and which were the main needs and challenges to be found.
From the set of requirements obtained in this way, an overall architecture for Openreq was designed, as well as the customization needed for each of the trials. OpenReq is made up of four components:
• Requirements Intelligence
• Stakeholders’ Personal Recommender
• Group Decision Support
• Dependency Management
For each of them the current state of the art was monitored and documented, and research was done to enable the design and implementation of the functionalities derived from the identified requirements and the defined architecture.
Each component has been developed as a set of microservices that can also be used and combined independently, and can therefore be partially integrated into other tools.
With some of the developed services, we have produced the first OpenReq prototype, OpenReq Live, a showcase of diverse functionalities addressing one of the main aspects of requirements engineering, release planning. Some OpenReq Live functionalities are:
• the automated extraction of requirements from free-text documents,
• the planning of upcoming releases,
• the motivation of stakeholders to more intensively engage into requirements engineering processes,
• the indication of issues such as inconsistencies in stakeholder preferences related to the assignment of requirements to releases
At the same time, OpenReq instances are being prepared to address the different trial scenarios. One of them, the cross-platform open source software trial, implemented at our partner Qt, has overcome the preparation phase and has started to run.
The transport scenario trial, to be run at Siemens, is just starting and has already produced an interface between OpenReq and DOORS. The telecom scenario to be carried at WINDTRE will start soon and advances have been made to handle twitter information, which is the base for requirements extraction in this context.
Finally, at vogella, OpenReq services are being integrated into ECLIPSE.

Final results

Advances in the state of the art have been achieved by the partners working in the four main research areas of the project:
• Requirements Intelligence
o Classifying legacy requirements to (Non)Functional Requirements with high accuracy
o Identification of (non-) informative user reviews in different domains and languages
o Mining user rationale from software reviews
o Software feature extraction from plain text
o Automatically identifying issues newcomers (stakeholder /developers) can resolve

• Stakeholders’ Personal Recommender
o Identification of similar requirements done with a hybrid recommender based on a combination of content-based recommenders and NLP techniques:
o Easy integration of a classification component

• Group Decision Support
o Efficient direct diagnosis
o Efficient reconfiguration of release plans
o Learning heuristics based constraint reasoning
o Explanations for groups
o Evaluation metrics for group recommendations
o Argumentation-based group decision making
o Bias-aware User Interfaces
o Manipulation-aware User Interfaces
o Decision Biases (e.g., anchoring, primacy-recency, group polarization, hidden profiles and recsys).

• Dependency Management
o Application of AI technologies to requirements engineering
o Model based inferences about dependencies
o Natural language processing for dependency detection
o Experiences and experiments with effectiveness of different algorithms
o In the context of requirements engineering
o Adaptations based on context

The research in the project has produced till now sixteen accepted and presented scientific publications, with some more already accepted to be presented in the near future.

We expect OpenReq to have a positive impact on the overall Requirements Engineering process, with economic and societal repercussions. Its use will result in requirements of higher quality, containing less faults, and enabling an easier and controlled evolution of software-enabled products and services. By using OpenReq, we estimate significant reductions in RE activities costs and, therefore, in total software project costs.

Website & more info

More info: https://www.openreq.eu.