Please use this identifier to cite or link to this item: http://scholarbank.nus.edu.sg/handle/10635/120127
Title: QUALITY IMPROVEMENT AND VALIDATION TECHNIQUES ON SOFTWARE SPECIFICATION AND DESIGN
Authors: LIU SHUANG
Keywords: Use Case, Natural Language Processing, Model Checking, Active Learning, UML state machines, L*
Issue Date: 24-Mar-2015
Source: LIU SHUANG (2015-03-24). QUALITY IMPROVEMENT AND VALIDATION TECHNIQUES ON SOFTWARE SPECIFICATION AND DESIGN. ScholarBank@NUS Repository.
Abstract: Requirements specifi cation and system design models are the fundamental documents in the software development life cycle. They are the major references for understanding user requirements and to guide later system development and maintenance activities. It has been reported that more than 60% of the errors in software products are introduced during the design phase. Errors introduced in the early phases are much harder and more expensive to detect than errors introduced in the coding phase. It is thus highly desirable to improve the quality of software requirements specifi cations and design models by detecting software defects as early as possible. In this thesis, we are motivated to provide techniques to improve the quality of software requirements specifi cations and design models. For software requirements specifi cations, we propose two works that focus on improving the quality of use cases, which are widely adopted by diff erent software development methodologies to capture user requirements. First, we propose to find defects in use case descriptions to improve the consistency and integrity aspects of a single use case. We adopt advanced natural language processing techniques to automatically extract action tuples and predicates from use case sentences. We formally defi ne common defects, e.g., inconsistency and incompleteness related defects, in use case documents and propose algorithms to find those defects based on the automatically extracted action tuples, predicates and the control flow related information. The found defects are linked to the original descriptions in use cases to aid improving the quality of the use case document. Second, we propose to further improve the use case quality by finding missing scenarios and preconditions/postconditions which involve multiple use cases. We adopt the active learning techniques to learn a Deterministic Finite State Automaton (DFA) for each actor/agent in a use case document. During the learning process, our method finds missing scenarios and missing preconditions/postconditions through interactions with users. The missing scenario is presented as a sequence of actions which is easy to be added to the use case document to improve the integrity of the document. To find sophisticated, nontrivial errors which may be introduced in the system design phase, we propose to improve the quality of UML state machines models, which are widely adopted to capture the dynamic behaviors of system designs. Our work focuses on finding safety and liveness related defects in UML state machines automatically. We provide an operational semantics for the complete syntax of UML state machines and implement the semantics into the PAT framework, which enables model checking on UML state machines to fi nd liveness and safety related defects. We evaluated all of our methods with real world documents or models. The evaluation results show that our methods are e ffective in improving the quality of requirements specifi cations and design models.
URI: http://scholarbank.nus.edu.sg/handle/10635/120127
Appears in Collections:Ph.D Theses (Open)

Show full item record
Files in This Item:
File Description SizeFormatAccess SettingsVersion 
LiuS.pdf1.52 MBAdobe PDF

OPEN

NoneView/Download

Page view(s)

113
checked on Jan 20, 2018

Download(s)

98
checked on Jan 20, 2018

Google ScholarTM

Check


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.