Anas Mahmoud
Louisiana State University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Anas Mahmoud.
ieee international conference on requirements engineering | 2012
Nan Niu; Anas Mahmoud
Modern requirements tracing tools employ information retrieval methods to automatically generate candidate links. Due to the inherent trade-off between recall and precision, such methods cannot achieve a high coverage without also retrieving a great number of false positives, causing a significant drop in result accuracy. In this paper, we propose an approach to improving the quality of candidate link generation for the requirements tracing process. We base our research on the cluster hypothesis which suggests that correct and incorrect links can be grouped in high-quality and low-quality clusters respectively. Result accuracy can thus be enhanced by identifying and filtering out low-quality clusters. We describe our approach by investigating three open-source datasets, and further evaluate our work through an industrial study. The results show that our approach outperforms a baseline pruning strategy and that improvements are still possible.
Proceedings of the 6th International Workshop on Traceability in Emerging Forms of Software Engineering | 2011
Anas Mahmoud; Nan Niu
Requirements-to-source-code traceability employs information retrieval (IR) methods to automatically link requirements to the source code that implements them. A crucial step in this process is indexing, where partial and important information from the software artifacts is converted into a representation that is compatible with the underlying IR model. Source code demands special attention in the indexing process. In this paper, we investigate source code indexing for supporting automatic traceability. We introduce a feature diagram that captures the key components and their relationships in the domain of source code indexing. We then present an experiment to examine the features of the diagram and their dependencies. Results show that utilizing comments has a significant effect on traceability link generation, and stemming is required when comments are considered.
Requirements Engineering | 2015
Anas Mahmoud; Nan Niu
Abstract In this paper, we investigate the potential benefits of utilizing natural language semantics in automated traceability link retrieval. In particular, we evaluate the performance of a wide spectrum of semantically enabled information retrieval methods in capturing and presenting requirements traceability links in software systems. Our objectives are to gain more operational insights into these methods and to provide practical guidelines for the design and development of effective requirements tracing and management tools. To achieve our research objectives, we conduct an experimental analysis using three datasets from various application domains. Results show that considering more semantic relations in traceability link retrieval does not necessarily lead to higher quality results. Instead, a more focused semantic support, that targets specific semantic relations, is expected to have a greater impact on the overall performance of tracing tools. In addition, our analysis shows that explicit semantic methods, that exploit local or domain-specific sources of knowledge, often achieve a more satisfactory performance than latent methods, or methods that derive semantics from external or general-purpose knowledge sources.
Requirements Engineering | 2015
Tanmay Bhowmik; Nan Niu; Juha Savolainen; Anas Mahmoud
Abstract Requirements engineering (RE), framed as a creative problem solving process, plays a key role in innovating more useful and novel requirements and improving a software system’s sustainability. Existing approaches, such as creativity workshops and feature mining from web services, facilitate creativity by exploring a search space of partial and complete possibilities of requirements . To further advance the literature, we study creativity from a combinational perspective, i.e., making unfamiliar connections between familiar possibilities of requirements. In particular, we propose a novel framework that extracts familiar ideas from the requirements and stakeholders’ comments using topic modeling, and automatically generates requirements by obtaining unfamiliar idea combinations by means of flipping the part-of-speech of identified topics. We apply our framework on two large-scale open-source software systems (Firefox and Mylyn) and report two studies to assess the viability of combinational creativity in RE. The results show that the creativity merit of requirements generated by our framework judged by human experts is comparable to that of requirements created manually. Meanwhile, the cost of our framework is significantly less than manual work, measured by time spent generating requirements. Our work illuminates a possible improvement toward interactive generation of creative requirements using mechanism’s outputs .
requirements engineering | 2011
Anas Mahmoud; Nan Niu
Automated tracing tools employ information retrieval (IR) methods to recover traceability links between software artifacts. A large body of research is available on the back-end design of such tools, including artifacts indexing and the underlying IR mechanism. In contrast, less attention has been paid to the front-end presentation of the retrieved results. This paper describes TraCter, a result categorization tool with novel search user interfaces. We discuss the key features of TraCter and its potential improvements over previous work.
2012 4th International Workshop on Search-Driven Development: Users, Infrastructure, Tools, and Evaluation (SUITE) | 2012
Nan Niu; Sandeep Reddivari; Anas Mahmoud; Tanmay Bhowmik; Songhua Xu
Clustering is of great practical value in retrieving reusable requirements artifacts from the ever-growing software project repositories. Despite the development of automated cluster labeling techniques in information retrieval, little is understood about automatic labeling of requirements clusters. In this paper, we review the literature on cluster labeling, and conduct an experiment to evaluate how automated methods perform in labeling requirements clusters. The results show that differential labeling outperforms cluster-internal labeling, and that hybrid method does not necessarily lead to the labels best matching human judgment. Our work sheds light on improving automated ways to support search-driven development.
computer software and applications conference | 2010
Anas Mahmoud; Nan Niu
Requirements tracing is a central activity for software systems quality management. However, in large-scale evolving systems, maintaining traceability information manually can become a tedious task. To address this problem, several dynamic techniques were introduced to provide automatic traceability links generation. These techniques are usually based on information retrieval (IR) methods which link different artifacts based on their syntactic information. This paper reports an ongoing experimental investigation of using semantics-enabled IR methods to generate traceability links. Our goal is to explore dynamic, accurate, and conceptually rich ways to generate and maintain traceability information.
Requirements Engineering | 2016
Anas Mahmoud; Grant Williams
In this paper, we describe a novel unsupervised approach for detecting, classifying, and tracing non-functional software requirements (NFRs). The proposed approach exploits the textual semantics of software functional requirements (FRs) to infer potential quality constraints enforced in the system. In particular, we conduct a systematic analysis of a series of word similarity methods and clustering techniques to generate semantically cohesive clusters of FR words. These clusters are classified into various categories of NFRs based on their semantic similarity to basic NFR labels. Discovered NFRs are then traced to their implementation in the solution space based on their textual semantic similarity to source code artifacts. Three software systems are used to conduct the experimental analysis in this paper. The results show that methods that exploit massive sources of textual human knowledge are more accurate in capturing and modeling the notion of similarity between FR words in a software system. Results also show that hierarchical clustering algorithms are more capable of generating thematic word clusters than partitioning clustering techniques. In terms of performance, our analysis indicates that the proposed approach can discover, classify, and trace NFRs with accuracy levels that can be adequate for practical applications.
ieee international conference on requirements engineering | 2015
Anas Mahmoud
Non-functional requirements (NFRs) are high-level quality constraints that a software system should exhibit. Detecting such constraints early in the process is critical for the stability of software architectural design. However, due to their pervasive nature, and the lack of robust modeling and documentation techniques, NFRs are often overlooked during the requirements elicitation phase. Realizing such constraints at later stages of the development process often leads to architecture erosion and poor traceability. Motivated by these observations, we propose an unsupervised, computationally efficient, and scalable approach for extracting and tracing NFRs in software systems. Based on main assumptions of the cluster hypothesis and information theory, the proposed approach exploits the semantic knowledge embedded in the textual content of requirements specifications to discover, classify, and trace high-level software quality constraints imposed by the systems functional features. Three experimental systems are used to conduct the experimental analysis in this paper. Results show that the proposed approach can discover software NFRs with an average accuracy of 73%, enabling these NFRs to be traced to their implementations with accuracy levels adequate for practical applications.
ieee international conference on requirements engineering | 2013
Anas Mahmoud; Nan Niu
Modern traceability tools employ information retrieval (IR) methods to generate candidate traceability links. These methods track textual signs embedded in the system to establish relationships between software artifacts. However, as software systems evolve, new and inconsistent terminology finds its way into the systems taxonomy, thus corrupting its lexical structure and distorting its traceability tracks. In this paper, we argue that the distorted lexical tracks of the system can be systematically re-established through refactoring, a set of behavior-preserving transformations for keeping the system quality under control during evolution. To test this novel hypothesis, we investigate the effect of integrating various types of refactoring on the performance of requirements-to-code automated tracing methods. In particular, we identify the problems of missing, misplaced, and duplicated signs in software artifacts, and then examine to what extent refactorings that restore, move, and remove textual information can overcome these problems respectively. We conduct our experimental analysis using three datasets from different application domains. Results show that restoring textual information in the system has a positive impact on tracing. In contrast, refactorings that remove redundant information impact tracing negatively. Refactorings that move information among the system modules are found to have no significant effect. Our findings address several issues related to code and requirements evolution, as well as refactoring as a mechanism to enhance the practicality of automated tracing tools.