Date of Award
Doctor of Philosophy
Carl K. Chang
The capability to accurately and efficiently obtain users’ new requirements is critical for software evolution, so that timely improvements can be made to systems to adapt to the rapidly changing environment. However, current software evolution cycles are often undesirably long because the elicitation of new requirements is mostly based on system performance or delayed user feedback and slow-paced manual analysis of requirements engineers. In this thesis, I propose a general methodology that employs Conditional Random Fields (CRF) as the mathematical foundation to provide quantitative exploration of users’ new intentions that often indicate their new requirements. My methodology is supposed to be applicable in context-aware software environments, and beneficial for discovering new requirements sooner and considerably shortening software evolution cycles.
First of all, a situation-centric specification language – SiSL, is proposed to formalize the concepts and ontology of the application domains of our methodology. In SiSL, the domain of discourse is divided into five sorts of entities: action, desire, object, situation and situation-sequence. Another two important concepts, context and intention, are defined based on the five basic entities. A set of axioms are proposed to explain the relations among action, context values and desires. Based on the concepts and axioms in SiSL, a domain knowledge base which can completely describe and specify user’s behaviors and desires in human-centric context-aware environments can be constructed.
To infer a user’s desire based on a peculiar form of observations and a specific detection mechanism for user’s new intentions, which may imply new requirements, the Conditional Random Fields (CRF) method is applied as a mathematical foundation to support my research work. In this thesis, the main part of a CRF model, a set of feature functions, specify the relations between observations (actions and context values) and human internal mental states (desires). To infer user’s desires, the CRF model accepts a sequence of observations as the input and calculates the score for each possible sequence-labeling, and outputs the sequence-labeling with the highest score as the inferred desire sequence. By using the CRF method, more accurate desire inference, the precondition for new intention detection, can be achieved compared with other statistical methods.
To detect users’ potential new intentions, a CRF model which encodes users’ standard behavior patterns should be built as the metrics for outlier detection. The training data for building the standard CRF model are collected from observing user behaviors that are expected to conform to the system design. In the result of desire inference using the CRF model, the divergent behaviors will be labeled with desires in low confidence, and they can be singled out and analyzed for eliciting user’s potentially new intentions. Besides the divergent behaviors, user’s desire transitions and erroneous behaviors will also be analyzed for detecting new requirements or system drawbacks. The detected potential user’s new intention will be verified, analyzed and summarized to generate a formally new intention, which will drive system evolution through modifications or acquiring new functionalities to satisfy the new requirements. An experiment on a research library system has been conducted to demonstrate how to apply our methodology in detection of users’ new intentions and driving system evolution. Finally, this thesis discusses the threats to validity for our methodology and experiment.
Xie, Haihua, "Detection of new intentions from users for software service evolution in human-centric context-aware environments using Conditional Random Fields" (2015). Graduate Theses and Dissertations. 14710.