78,240 research outputs found
Generation of UML class diagram from software requirement specification using natural language processing
Any software development process starts with requirement analysis. The phase from requirement analysis to chalking out a design is acknowledged as the most intricate and troublesome exercises in programming advancement. Failures brought about throughout this action could be very unmanageable to alter in later periods of programming advancement. One primary purpose behind such potential issues is on account of the prerequisite determination being in natural language form. To conquer this, a tool has been designed, which plans can give semi-automatized aid for designers to produce UML class model from software specifications utilizing Natural Language Processing techniques. The proposed technique outlines the class diagram in a standard configuration and additionally records out the relationship between classes
Automatic Generation of Acceptance Test Cases from Use Case Specifications: an NLP-based Approach
Acceptance testing is a validation activity performed to ensure the conformance of software systems with respect to their functional requirements. In safety critical systems, it plays a crucial role since it is enforced by software standards, which mandate that each requirement be validated by such testing in a clearly traceable manner. Test engineers need to identify all the representative test execution scenarios from requirements, determine the runtime conditions that trigger these scenarios, and finally provide the input data that satisfy these conditions. Given that requirements specifications are typically large and often provided in natural language (e.g., use case specifications), the generation of acceptance test cases tends to be expensive and error-prone. In this paper, we present Use Case Modeling for System-level, Acceptance Tests Generation (UMTG), an approach that supports the generation of executable, system-level, acceptance test cases from requirements specifications in natural language, with the goal of reducing the manual effort required to generate test cases and ensuring requirements coverage. More specifically, UMTG automates the generation of acceptance test cases based on use case specifications and a domain model for the system under test, which are commonly produced in many development environments. Unlike existing approaches, it does not impose strong restrictions on the expressiveness of use case specifications. We rely on recent advances in natural language processing to automatically identify test scenarios and to generate formal constraints that capture conditions triggering the execution of the scenarios, thus enabling the generation of test data. In two industrial case studies, UMTG automatically and correctly translated 95% of the use case specification steps into formal constraints required for test data generation; furthermore, it generated test cases that exercise not only all the test scenarios manually implemented by experts, but also some critical scenarios not previously considered
Automatic Transformation of Natural to Unified Modeling Language: A Systematic Review
Context: Processing Software Requirement Specifications (SRS) manually takes
a much longer time for requirement analysts in software engineering.
Researchers have been working on making an automatic approach to ease this
task. Most of the existing approaches require some intervention from an analyst
or are challenging to use. Some automatic and semi-automatic approaches were
developed based on heuristic rules or machine learning algorithms. However,
there are various constraints to the existing approaches of UML generation,
such as restriction on ambiguity, length or structure, anaphora,
incompleteness, atomicity of input text, requirements of domain ontology, etc.
Objective: This study aims to better understand the effectiveness of existing
systems and provide a conceptual framework with further improvement guidelines.
Method: We performed a systematic literature review (SLR). We conducted our
study selection into two phases and selected 70 papers. We conducted
quantitative and qualitative analyses by manually extracting information,
cross-checking, and validating our findings. Result: We described the existing
approaches and revealed the issues observed in these works. We identified and
clustered both the limitations and benefits of selected articles. Conclusion:
This research upholds the necessity of a common dataset and evaluation
framework to extend the research consistently. It also describes the
significance of natural language processing obstacles researchers face. In
addition, it creates a path forward for future research
Using NLP tools in the specification phase
The software quality control is one of the main topics in the Software
Engineering area. To put the effort in the quality control during the
specification phase leads us to detect possible mistakes in an early
steps and, easily, to correct them before the design and implementation
steps start. In this framework the goal of SAREL system, a
knowledge-based system, is twofold. On one hand, to help software
engineers in the creation of quality Software Requirements
Specifications. On the other hand, to analyze the correspondence between
two different conceptual representations associated with two different
Software Requirements Specification documents.
For the first goal, a set of NLP and Knowledge management tools is
applied to obtain a conceptual representation that can be validated and
managed by the software engineer.
For the second goal we have established some correspondence measures in
order to get a comparison between two conceptual representations. This
information will be useful during the interaction.Postprint (published version
Automated Quality Assessment of Natural Language Requirements
High demands on quality and increasing complexity are major challenges in the development of industrial software in general. The development of automotive software in particular is subject to additional safety, security, and legal demands. In such software projects, the specification of requirements is the first concrete output of the development process and usually the basis for communication between manufacturers and development partners. The quality of this output is therefore decisive for the success of a software development project.
In recent years, many efforts in academia and practice have been targeted towards securing and improving the quality of requirement specifications. Early improvement approaches concentrated on the assistance of developers in formulating their requirements. Other approaches focus on the use of formal methods; but despite several advantages, these are not widely applied in practice today. Most software requirements today are informal and still specified in natural language.
Current and previous research mainly focuses on quality characteristics agreed upon by the software engineering community. They are described in the standard ISO/IEC/IEEE 29148:2011, which offers nine essential characteristics for requirements quality. Several approaches focus additionally on measurable indicators that can be derived from text. More recent publications target the automated analysis of requirements by assessing their quality characteristics and by utilizing methods from natural language processing and techniques from machine learning.
This thesis focuses in particular on the reliability and accuracy in the assessment of requirements and addresses the relationships between textual indicators and quality characteristics as defined by global standards. In addition, an automated quality assessment of natural language requirements is implemented by using machine learning techniques. For this purpose, labeled data is captured through assessment sessions. In these sessions, experts from the automotive industry manually assess the quality characteristics of natural language requirements.% as defined in ISO 29148.
The research is carried out in cooperation with an international engineering and consulting company and enables us to access requirements from automotive software development projects of safety and comfort functions. We demonstrate the applicability of our approach for real requirements and present promising results for an industry-wide application
The Synonym management process in SAREL
The specification phase is one of the most important and least supported
parts of the software development process. The SAREL system has been
conceived as a knowledge-based tool to improve the specification phase.
The purpose of SAREL (Assistance System for Writing Software
Specifications in Natural Language) is to assist engineers in the
creation of software specifications written in Natural Language (NL).
These documents are divided into several parts. We can distinguish the
Introduction and the Overall Description as parts that should be used in
the Knowledge Base construction. The information contained in the
Specific Requirements Section corresponds to the information represented
in the Requirements Base. In order to obtain high-quality software
requirements specification the writing norms that define the linguistic
restrictions required and the software engineering constraints related
to the quality factors have been taken into account. One of the controls
performed is the lexical analysis that verifies the words belong to the
application domain lexicon which consists of the Required and the
Extended lexicon. In this sense a synonym management process is needed
in order to get a quality software specification. The aim of this paper
is to present the synonym management process performed during the
Knowledge Base construction. Such process makes use of the Spanish
Wordnet developed inside the Eurowordnet project. This process generates
both the Required lexicon and the Extended lexicon that will be used
during the Requirements Base construction.Postprint (published version
Specification Patterns for Robotic Missions
Mobile and general-purpose robots increasingly support our everyday life,
requiring dependable robotics control software. Creating such software mainly
amounts to implementing their complex behaviors known as missions. Recognizing
the need, a large number of domain-specific specification languages has been
proposed. These, in addition to traditional logical languages, allow the use of
formally specified missions for synthesis, verification, simulation, or guiding
the implementation. For instance, the logical language LTL is commonly used by
experts to specify missions, as an input for planners, which synthesize the
behavior a robot should have. Unfortunately, domain-specific languages are
usually tied to specific robot models, while logical languages such as LTL are
difficult to use by non-experts. We present a catalog of 22 mission
specification patterns for mobile robots, together with tooling for
instantiating, composing, and compiling the patterns to create mission
specifications. The patterns provide solutions for recurrent specification
problems, each of which detailing the usage intent, known uses, relationships
to other patterns, and---most importantly---a template mission specification in
temporal logic. Our tooling produces specifications expressed in the LTL and
CTL temporal logics to be used by planners, simulators, or model checkers. The
patterns originate from 245 realistic textual mission requirements extracted
from the robotics literature, and they are evaluated upon a total of 441
real-world mission requirements and 1251 mission specifications. Five of these
reflect scenarios we defined with two well-known industrial partners developing
human-size robots. We validated our patterns' correctness with simulators and
two real robots
Natural Language Processing of Requirements for Model-Based Product Design with ENOVIA CATIA V6
The enterprise level software application that supports the strategic product-centric, lifecycle-oriented and information-driven Product Lifecycle Management business approach should enable engineers to develop and manage requirements within a Functional Digital Mock-Up. The integrated, model-based product design ENOVIA/CATIA V6 RFLP environment makes it possible to use parametric modelling among requirements, functions, logical units and physical organs. Simulation can therefore be used to verify that the design artefacts comply with the requirements. Nevertheless, when dealing with document-based specifications, the definition of the knowledge parameters for each requirement is a labour-intensive task. Indeed, analysts have no other alternative than to go through the voluminous specifications, to identify the performance requirements and design constraints, and to translate them into knowledge parameters. We propose to use natural language processing techniques to automatically generate Parametric Property-Based Requirements from unstructured and semi-structured specifications. We illustrate our approach through the design of a mechanical ring
- …