Anas Mahmoud 0001

dblp:22/8904 · DBLP profile ↗
← Back
42ranked-venue papers
13as first author
8since 2021 · last 2026
0000-0001-8353-5286ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 41 · 13 first-author · 8 since 2021Applied, interdisciplinary, general and emerging computing · 2 · 1 first-authorArtificial intelligence and machine learning · 1
YearPublicationVenuePosition
2026 No Country for Indie Developers: A Study of Google Play's Closed Testing Requirements for New Personal Developer Accounts
abstract
In November 2023, Google Play introduced new closed testing requirements for apps submitted by developers operating with personal accounts, or indie app developers. These requirements mandate that at least 20 testers must remain opted-in (use the app) for at least 14 consecutive days before the app can be published on the Play Store. According to Google, these new requirements aim to ensure the quality and security of submitted apps. However, for individual developers operating without organizational support, adhering to such requirements can pose logistical challenges and lead to production delays. To understand these challenges, in this article, we qualitatively analyze app developers’ discussions of Google Play’s new closed testing requirements on Reddit. Additionally, we report insights from a survey of 14 indie app developers who recently passed the requirements or are actively seeking compliance. Our results show that Google Play’s closed testing requirements for indie apps are commonly perceived as discriminatory, imposing logistical and bureaucratic barriers on small-scale creators in their quest to compete in the mobile app market. Our analysis also uncovers the strategies the Android developer community has adapted to navigate such requirements. Based on our findings, we propose several guidelines to help indie app developers integrate the testing requirements into their workflow. We further suggest design strategies to mitigate the impact of such requirements on innovation, fairness, and competition in the mobile app market.
Grishma Shrestha, Shristi Shrestha, Anas Mahmoud 0001
ACM Trans. Softw. Eng. Methodol.3
2025 Mobile application review summarization using chain of density prompting
Shristi Shrestha, Anas Mahmoud 0001
Autom. Softw. Eng.2
2022 Domain-Specific Analysis of Mobile App Reviews Using Keyword-Assisted Topic Models
abstract
Mobile application (app) reviews contain valuable information for app developers. A plethora of supervised and unsupervised techniques have been proposed in the literature to synthesize useful user feedback from app reviews. However, traditional supervised classification algorithms require extensive manual effort to label ground truth data, while unsupervised text mining techniques, such as topic models, often produce suboptimal results due to the sparsity of useful information in the reviews. To overcome these limitations, in this paper, we propose a fully automatic and unsupervised approach for extracting useful information from mobile app reviews. The proposed approach is based on keyATM, a keyword-assisted approach for generating topic models. keyATM overcomes the problem of data sparsity by using seeding keywords extracted directly from the review corpus. These keywords are then used to generate meaningful domain-specific topics. Our approach is evaluated over two datasets of mobile app reviews sampled from the domains of Investing and Food Delivery apps. The results show that our approach produces significantly more coherent topics than traditional topic modeling techniques.
Miroslav Tushev, Fahimeh Ebrahimi, Anas Mahmoud 0001
ICSE3
2022 Unsupervised Summarization of Privacy Concerns in Mobile Application Reviews
abstract
The proliferation of mobile applications (app) over the past decade has imposed unprecedented challenges on end-users privacy. Apps constantly demand access to sensitive user information in exchange for more personalized services. These—mostly unjustifiable—data collection tactics have raised major privacy concerns among mobile app users. Such concerns are commonly expressed in mobile app reviews, however, they are typically overshadowed by more generic categories of user feedback, such as app reliability and usability. This makes extracting user privacy concerns manually, or even using automated tools, a challenging and time-consuming task. To address these challenges, in this paper, we propose an effective unsupervised approach for summarizing user privacy concerns in mobile app reviews. Our analysis is conducted using a dataset of 2.6 million app reviews sampled from three different application domains. The results show that users in different application domains express their privacy concerns using domain-specific vocabulary. This domain knowledge can be leveraged to help unsupervised automated text summarization algorithms to generate concise and comprehensive summaries of privacy concerns in app review collections. Our analysis is intended to help app developers quickly and accurately identify the most critical privacy concerns in their domain of operation, and ultimately, alter their data collection practices to address these concerns.
Fahimeh Ebrahimi, Anas Mahmoud 0001
ASE2
2022 Classifying Mobile Applications Using Word Embeddings
abstract
Modern application stores enable developers to classify their apps by choosing from a set of generic categories, or genres, such as health, games, and music. These categories are typically static—new categories do not necessarily emerge over time to reflect innovations in the mobile software landscape. With thousands of apps classified under each category, locating apps that match a specific consumer interest can be a challenging task. To overcome this challenge, in this article, we propose an automated approach for classifying mobile apps into more focused categories of functionally related application domains. Our aim is to enhance apps visibility and discoverability. Specifically, we employ word embeddings to generate numeric semantic representations of app descriptions. These representations are then classified to generate more cohesive categories of apps. Our empirical investigation is conducted using a dataset of 600 apps, sampled from the Education, Health&Fitness, and Medical categories of the Apple App Store. The results show that our classification algorithms achieve their best performance when app descriptions are vectorized using GloVe, a count-based model of word embeddings. Our findings are further validated using a dataset of Sharing Economy apps and the results are evaluated by 12 human subjects. The results show that GloVe combined with Support Vector Machines can produce app classifications that are aligned to a large extent with human-generated classifications.
Fahimeh Ebrahimi, Miroslav Tushev, Anas Mahmoud 0001
ACM Trans. Softw. Eng. Methodol.3
2022 A Systematic Literature Review of Anti-Discrimination Design Strategies in the Digital Sharing Economy
abstract
Applications of the Digital Sharing Economy (DSE), such as Uber, Airbnb, and TaskRabbit, have become a main facilitator of economic growth and shared prosperity in modern-day societies. However, recent research has revealed that the participation of minority groups in DSE activities is often hindered by different forms of bias and discrimination. Evidence of such behavior has been documented across almost all domains of DSE, including ridesharing, lodging, and freelancing. However, little is known about the underlying design decisions of DSE platforms which allow certain demographics of the market to gain unfair advantage over others. To bridge this knowledge gap, in this paper, we systematically synthesize evidence from 58 interdisciplinary studies to identify the pervasive discrimination concerns affecting DSE platforms along with their triggering features and mitigation strategies. Our objective is to consolidate such interdisciplinary evidence from a software design point of view. Our results show that existing evidence is mainly geared towards documenting and mitigating issues of racism and sexism affecting platforms of ridesharing, lodging, and freelancing. Our review further shows that discrimination concerns in the DSE market are commonly enabled by features of user profiles and commonly impact reputation systems.
Miroslav Tushev, Fahimeh Ebrahimi, Anas Mahmoud 0001
IEEE Trans. Software Eng.3
2021 Analysis of Non-Discrimination Policies in the Sharing Economy
abstract
Recent research has exposed a serious discrimination problem affecting applications of the Digital Sharing Economy (DSE), such as Uber, Airbnb, and TaskRabbit. To control for this problem, several DSE apps have crafted a new form of usage policies, known as non-discrimination policies (NDPs). These policies are intended to outline end-users' rights of equal treatment and describe how acts of bias and discrimination over DSE apps are identified and prevented. However, there is still a major knowledge gap in how such non-code artifacts can be formulated, structured, and evolved. To bridge this gap, in this paper, we introduce a first-of-its-kind framework for analyzing and evaluating the content of NDPs in the DSE market. Our analysis is conducted using a dataset of 108 DSE apps, sampled from a broad range of application domains. Our results show that, a) most DSE apps do not provide a separate NDP, b) the majority of existing policies are either extremely brief or combined as sub-statements of other usage policies, and c) most apps do not provide a clear statement of how their NDPs are enforced. Our analysis in this paper is intended to assist DSE app developers with drafting and evolving more comprehensive NDPs as well as help end-users of these apps to make more informed socioeconomic decisions in one of the fastest growing software ecosystems in the world.
Miroslav Tushev, Fahimeh Ebrahimi, Anas Mahmoud 0001
ICSME3
2021 Mobile app privacy in software engineering research: A systematic mapping study
Fahimeh Ebrahimi, Miroslav Tushev, Anas Mahmoud 0001
Inf. Softw. Technol.3
2020 On Combining IR Methods to Improve Bug Localization
abstract
Information Retrieval (IR) methods have been recently employed to provide automatic support for bug localization tasks. However, for an IR-based bug localization tool to be useful, it has to achieve adequate retrieval accuracy. Lower precision and recall can leave developers with large amounts of incorrect information to wade through. To address this issue, in this paper, we systematically investigate the impact of combining various IR methods on the retrieval accuracy of bug localization engines. The main assumption is that different IR methods, targeting different dimensions of similarity between artifacts, can be used to enhance the confidence in each others' results. Five benchmark systems from different application domains are used to conduct our analysis. The results show that a) near-optimal global configurations can be determined for different combinations of IR methods, b) optimized IR-hybrids can significantly outperform individual methods as well as other unoptimized methods, and c) hybrid methods achieve their best performance when utilizing information-theoretic IR methods. Our findings can be used to enhance the practicality of IR-based bug localization tools and minimize the cognitive overload developers often face when locating bugs.
Saket Khatiwada, Miroslav Tushev, Anas Mahmoud 0001
ICPC3
2020 Linguistic Documentation of Software History
abstract
Open Source Software (OSS) projects start with an initial vocabulary, often determined by the first generation of developers. This vocabulary, embedded in code identifier names and internal code comments, goes through multiple rounds of change, influenced by the interrelated patterns of human (e.g., developers joining and departing) and system (e.g., maintenance activities) interactions. Capturing the dynamics of this change is crucial for understanding and synthesizing code changes over time. However, existing code evolution analysis tools, available in modern version control systems such as GitHub and SourceForge, often overlook the linguistic aspects of code evolution. To bridge this gap, in this paper, we propose to study code evolution in OSS projects through the lens of developers' language, also known as code lexicon. Our analysis is conducted using 32 OSS projects sampled from a broad range of application domains. Our results show that different maintenance activities impact code lexicon differently. These insights lay out a preliminary foundation for modeling the linguistic history of OSS projects. In the long run, this foundation will be utilized to provide support for basic program comprehension tasks and help researchers gain new insights into the complex interplay between linguistic change and various system and human aspects of OSS development.
Miroslav Tushev, Anas Mahmoud 0001
ICPC2
2020 Digital Discrimination in Sharing Economy A Requirements Engineering Perspective
abstract
Recent evidence has revealed that Sharing Economy platforms such as Uber, Airbnb, and TaskRabbit, have become active hubs for digital discrimination. This new form of discrimination refers to a phenomenon where a business transaction is influenced by race, gender, age, or any other non-business related characteristic of providers or consumers. Existing research often tackles this problem from a socio-economic and regulatory points of view. However, the research on the design aspects of Sharing Economy software, which enable such complex sociotechnical problems to emerge online, is still underdeveloped. To bridge this gap, in this paper, we propose a new perspective on digital discrimination, tackling the problem from a Requirements Engineering point of view. Specifically, we analyze a large dataset of online user feedback as well as synthesize existing literature to identify and classify pervasive discrimination concerns in the Sharing Economy market. Based on this analysis, we devise a crowd-driven domain model to represent these concerns along with their relations to the functional features and user goals of Sharing Economy platforms. This model is intended to provide requirements engineers, working on Sharing Economy software, with systematic insights into the complex types of socio-technical problems that can emerge in the operational environments of their systems.
Miroslav Tushev, Fahimeh Ebrahimi, Anas Mahmoud 0001
RE3
2020 Modeling user concerns in Sharing Economy: the case of food delivery apps
Grant Williams, Miroslav Tushev, Fahimeh Ebrahimi, Anas Mahmoud 0001
Autom. Softw. Eng.4
2020 Video Game Development in a Rush: A Survey of the Global Game Jam Participants
abstract
Video game development is a complex endeavor, often involving complex software, large organizations, and aggressive release deadlines. Several studies have reported that periods of “crunch time” are prevalent in the video game industry, but there are few studies on the effects of time pressure. We conducted a survey with participants of the Global Game Jam (GGJ), a 48-h hackathon. Based on 198 responses, the results suggest the following: iterative brainstorming is the most popular method for conceptualizing initial requirements; continuous integration, minimum viable product, scope management, version control, and stand-up meetings are frequently applied development practices; regular communication, internal playtesting, and dynamic and proactive planning are the most common quality assurance activities; and familiarity with agile development has a weak correlation with perception of success in the GGJ. We conclude that GGJ teams rely on ad hoc approaches to the development and face-to-face communication, and recommend some complementary practices with limited overhead. Furthermore, as our findings are similar to recommendations for software startups, we posit that game jams and the startup scene share contextual similarities. Finally, we discuss the drawbacks of systemic “crunch time” and argue that game jam organizers are in a good position to problematize the phenomenon.
Markus Borg, Vahid Garousi, Anas Mahmoud 0001, Thomas Olsson 0001, Oskar Stålberg
IEEE Trans. Games3
2019 Linguistic Change in Open Source Software
abstract
In this paper, we seek to advance the state-of-the-art in code evolution analysis research and practice by statistically analyzing, interpreting, and formally describing the evolution of code lexicon in Open Source Software (OSS). The underlying hypothesis is that, similar to natural language, code lexicon falls under the remit of evolutionary principles. Therefore, adapting theories and statistical models of natural language evolution to code is expected to provide unique insights into software evolution. Our analysis in this paper is conducted using 2,000 OSS systems sampled from a broad range of application domains. Our results show that a) OSS projects exhibit a significant shift in their linguistic identity over time, b) different syntactic structures of code lexicon evolve differently, c) different factors of OSS development and different maintenance activities impact code lexicon differently. These insights lay out a preliminary foundation for modeling the linguistic history of OSS projects. In the long run, this foundation will be utilized to provide support for basic software maintenance and program comprehension activities, and gain new theoretical insights into the complex interplay between linguistic change and various system and human aspects of OSS development.
Miroslav Tushev, Saket Khatiwada, Anas Mahmoud 0001
ICSME3
2019 Mining non-functional requirements from App store reviews
Nishant Jha, Anas Mahmoud 0001
Empir. Softw. Eng.2
2018 Modeling User Concerns in the App Store: A Case Study on the Rise and Fall of Yik Yak
abstract
Mobile application (app) stores have lowered the barriers to app market entry, leading to an accelerated and unprecedented pace of mobile software production. To survive in such a highly competitive and vibrant market, release engineering decisions should be driven by a systematic analysis of the complex interplay between the user, system, and market components of the mobile app ecosystem. To demonstrate the feasibility and value of such analysis, in this paper, we present a case study on the rise and fall of Yik Yak, one of the most popular social networking apps at its peak. In particular, we identify and analyze the design decisions that led to the downfall of Yik Yak and track rival apps' attempts to take advantage of this failure. We further perform a systematic in-depth analysis to identify the main user concerns in the domain of anonymous social networking apps and model their relations to the core features of the domain. Such a model can be utilized by app developers to devise sustainable release engineering strategies that can address urgent user concerns and maintain market viability.
Grant Williams, Anas Mahmoud 0001
RE2
2018 Using frame semantics for classifying and summarizing application store reviews
Nishant Jha, Anas Mahmoud 0001
Empir. Softw. Eng.2
2018 Just enough semantics: An information theoretic approach for IR-based software bug localization
Saket Khatiwada, Miroslav Tushev, Anas Mahmoud 0001
Inf. Softw. Technol.3
2017 Analyzing user comments on YouTube coding tutorial videos
abstract
Video coding tutorials enable expert and noviceprogrammers to visually observe real developers write, debug, and execute code. Previous research in this domain has focusedon helping programmers find relevant content in coding tutorialvideos as well as understanding the motivation and needs ofcontent creators. In this paper, we focus on the link connectingprogrammers creating coding videos with their audience. Morespecifically, we analyze user comments on YouTube codingtutorial videos. Our main objective is to help content creators toeffectively understand the needs and concerns of their viewers, thus respond faster to these concerns and deliver higher-qualitycontent. A dataset of 6000 comments sampled from 12 YouTubecoding videos is used to conduct our analysis. Important userquestions and concerns are then automatically classified andsummarized. The results show that Support Vector Machinescan detect useful viewers' comments on coding videos with anaverage accuracy of 77%. The results also show that SumBasic, an extractive frequency-based summarization technique withredundancy control, can sufficiently capture the main concernspresent in viewers' comments.
Elizabeth Poché, Nishant Jha, Grant Williams, Jazmine Staten, Miles Vesper, Anas Mahmoud 0001
ICPC6
2017 Mining Twitter Feeds for Software User Requirements
abstract
Twitter enables large populations of end-users of software to publicly share their experiences and concerns about software systems in the form of micro-blogs. Such data can be collected and classified to help software developers infer users' needs, detect bugs in their code, and plan for future releases of their systems. However, automatically capturing, classifying, and presenting useful tweets is not a trivial task. Challenges stem from the scale of the data available, its unique format, diverse nature, and high percentage of irrelevant information and spam. Motivated by these challenges, this paper reports on a three-fold study that is aimed at leveraging Twitter as a main source of software user requirements. The main objective is to enable a responsive, interactive, and adaptive data-driven requirements engineering process. Our analysis is conducted using 4,000 tweets collected from the Twitter feeds of 10 software systems sampled from a broad range of application domains. The results reveal that around 50% of collected tweets contain useful technical information. The results also show that text classifiers such as Support Vector Machines and Naive Bayes can be very effective in capturing and categorizing technically informative tweets. Additionally, the paper describes and evaluates multiple summarization strategies for generating meaningful summaries of informative software-relevant tweets.
Grant Williams, Anas Mahmoud 0001
RE2
2017 Mining User Requirements from Application Store Reviews Using Frame Semantics
Nishant Jha, Anas Mahmoud 0001
REFSQ2
2017 Semantic topic models for source code analysis
Anas Mahmoud 0001, Gary L. Bradshaw
Empir. Softw. Eng.1
2016 STAC: A tool for Static Textual Analysis of Code
abstract
Static textual analysis techniques have been recently applied to process and synthesize source code. The underlying tenet is that important information is embedded in code identifiers and internal code comments. Such information can be analyzed to provide automatic aid for several software engineering activities. To facilitate this line of work, we present STAC, a tool for supporting Static Textual Analysis of Code. STAC is designed as a light-weight stand-alone tool that provides a practical one-stop solution for code indexing. Code indexing is the process of extracting important textual information from source code. Accurate indexing has been found to significantly influence the performance of code retrieval and analysis methods. STAC provides features for extracting and processing textual patterns found in Java, C++, and C# code artifacts. These features include identifier splitting, stemming, lemmatization, and spell-checking. STAC is also provided as an API to help researchers to integrate basic code indexing features into their code.
Saket Khatiwada, Michael Kelly, Anas Mahmoud 0001
ICPC3
2016 Detecting, classifying, and tracing non-functional software requirements
Anas Mahmoud 0001, Grant Williams
Requir. Eng.1
2015 An information theoretic approach for extracting and tracing non-functional requirements
abstract
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 system's 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.
Anas Mahmoud 0001
RE1
2015 Exploiting online human knowledge in Requirements Engineering
abstract
Data-driven Natural Language Processing (NLP) methods have noticeably advanced in the past few years. These advances can be tied to the drastic growth of the quality of collaborative knowledge bases (KB) available on the World Wide Web. Such KBs contain vast amounts of up-to-date structured human knowledge and common sense data that can be exploited by NLP methods to discover otherwise-unseen semantic dimensions in text, aiding in tasks related to natural language understanding, classification, and retrieval. Motivated by these observations, we describe our research agenda for exploiting online human knowledge in Requirements Engineering (RE). The underlying assumption is that requirements are a product of the human domain knowledge that is expressed mainly in natural language. In particular, our research is focused on methods that exploit the online encyclopedia Wikipedia as a textual corpus. Wikipedia provides access to a massive number of real-world concepts organized in hierarchical semantic structures. Such knowledge can be analyzed to provide automated support for several exhaustive RE activities including requirements elicitation, understanding, modeling, traceability, and reuse, across multiple application domains. This paper describes our preliminary findings in this domain, current state of research, and prospects of our future work.
Anas Mahmoud 0001, Doris L. Carver
RE1
2015 Leveraging topic modeling and part-of-speech tagging to support combinational creativity in requirements engineering
Tanmay Bhowmik, Nan Niu, Juha Savolainen, Anas Mahmoud 0001
Requir. Eng.4
2015 On the role of semantics in automated requirements tracing
Anas Mahmoud 0001, Nan Niu
Requir. Eng.1
2015 Estimating Semantic Relatedness in Source Code
abstract
Contemporary software engineering tools exploit semantic relations between individual code terms to aid in code analysis and retrieval tasks. Such tools employ word similarity methods, often used in natural language processing (nlp), to analyze the textual content of source code. However, the notion of similarity in source code is different from natural language. Source code often includes unnatural domain-specific terms (e.g., abbreviations and acronyms), and such terms might be related due to their structural relations rather than linguistic aspects. Therefore, applying natural language similarity methods to source code without adjustment can produce low-quality and error-prone results. Motivated by these observations, we systematically investigate the performance of several semantic-relatedness methods in the context of software. Our main objective is to identify the most effective semantic schemes in capturing association relations between source code terms. To provide an unbiased comparison, different methods are compared against human-generated relatedness information using terms from three software systems. Results show that corpus-based methods tend to outperform methods that exploit external sources of semantic knowledge. However, due to inherent code limitations, the performance of such methods is still suboptimal. To address these limitations, we propose Normalized Software Distance (nsd), an information-theoretic method that captures semantic relatedness in source code by exploiting the distributional cues of code terms across the system.nsdovercomes data sparsity and lack of context problems often associated with source code, achieving higher levels of resemblance to the human perception of relatedness at the term and the text levels of code.
Anas Mahmoud 0001, Gary L. Bradshaw
ACM Trans. Softw. Eng. Methodol.1
2014 Automated support for combinational creativity in requirements engineering
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 support 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 applies part-of-speech tagging to obtain unfamiliar idea combinations. We apply our framework on two large open source software systems and further report a human subject evaluation. The results show that our framework complements existing approaches by generating original and relevant requirements in an automated manner.
Tanmay Bhowmik, Nan Niu, Anas Mahmoud 0001, Juha Savolainen
RE3
2014 Supporting requirements to code traceability through refactoring
Anas Mahmoud 0001, Nan Niu
Requir. Eng.1
2013 Departures from optimality: understanding human analyst's information foraging in assisted requirements tracing
abstract
Studying human analyst's behavior in automated tracing is a new research thrust. Building on a growing body of work in this area, we offer a novel approach to understanding requirements analyst's information seeking and gathering. We model analysts as predators in pursuit of prey - the relevant traceability information, and leverage the optimality models to characterize a rational decision process. The behavior of real analysts with that of the optimal information forager is then compared and contrasted. The results show that the analysts' information diets are much wider than the theory's predictions, and their residing in low-profitability information patches is much longer than the optimal residence time. These uncovered discrepancies not only offer concrete insights into the obstacles faced by analysts, but also lead to principled ways to increase practical tool support for overcoming the obstacles.
Nan Niu, Anas Mahmoud 0001, Zhangji Chen, Gary L. Bradshaw
ICSE2
2013 Evaluating software clustering algorithms in the context of program comprehension
abstract
We propose a novel approach for evaluating software clustering algorithms in the context of program comprehension. Based on the assumption that program comprehension is a task-driven activity, our approach utilizes interaction logs from previous maintenance sessions to automatically devise multiple comprehension-aware and task-sensitive decompositions of software systems. These decompositions are then used as authoritative figures to evaluate the effectiveness of various clustering algorithms. Our approach addresses several challenges associated with evaluating clustering algorithms externally using expert-driven authoritative decompositions. Such limitations include the subjectivity of human experts, the availability of such authoritative figures, and the decaying structure of software systems. We conduct an experimental analysis using two datasets, including an open-source system and a proprietary system, to test the applicability of our approach and validate our research claims.
Anas Mahmoud 0001, Nan Niu
ICPC1
2013 Supporting requirements traceability through refactoring
abstract
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 system's 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.
Anas Mahmoud 0001, Nan Niu
RE1
2012 A Framework for Examining Topical Locality in Object-Oriented Software
abstract
The software entities of an object-oriented system should be organized in such a way that "spatial relatedness entails semantic relatedness". We refer this as the tenet of "topical locality" and argue that it is fundamental for the code base to be navigable. In this paper, we propose a novel experimental framework to test this key tenet and use large-scale open-source projects to assess three relationships. In particular, we find that: (1) class name along with header comments conveys class body's topic; (2) a code line is indicative of its surroundings; and (3) a contiguous code fragment may serve as a snapshot of the entire class. Our work not only shows the foundations necessary for the success of many code navigation approaches, but also opens avenues for further tool enhancements.
Nan Niu, Juha Savolainen, Tanmay Bhowmik, Anas Mahmoud 0001, Sandeep Reddivari
COMPSAC4
2012 Toward an effective automated tracing process
abstract
The research on automated tracing has noticeably advanced in the past few years. Various methodologies and tools have been proposed in the literature to provide automatic support for establishing and maintaining traceability information in software systems. This movement is motivated by the increasing attention traceability has been receiving as a de jure standard in software quality assurance. Following that effort, in this research proposal we describe several research directions related to enhancing the effectiveness of automated tracing tools and techniques. Our main research objective is to advance the state of the art in this filed. We present our suggested contributions through a set of incremental enhancements over the conventional automated tracing process, and briefly describe a set of strategies for assessing these contributions impact on the process.
Anas Mahmoud 0001
ICPC1
2012 A semantic relatedness approach for traceability link recovery
abstract
Human analysts working with automated tracing tools need to directly vet candidate traceability links in order to determine the true traceability information. Currently, human intervention happens at the end of the traceability process, after candidate traceability links have already been generated. This often leads to a decline in the results' accuracy. In this paper, we propose an approach, based on semantic relatedness (SR), which brings human judgment to an earlier stage of the tracing process by integrating it into the underlying retrieval mechanism. SR tries to mimic human mental model of relevance by considering a broad range of semantic relations, hence producing more semantically meaningful results. We evaluated our approach using three datasets from different application domains, and assessed the tracing results via six different performance measures concerning both result quality and browsability. The empirical evaluation results show that our SR approach achieves a significantly better performance in recovering true links than a standard Vector Space Model (VSM) in all datasets. Our approach also achieves a significantly better precision than Latent Semantic Indexing (LSI) in two of our datasets.
Anas Mahmoud 0001, Nan Niu, Songhua Xu
ICPC1
2012 Enhancing candidate link generation for requirements tracing: The cluster hypothesis revisited
abstract
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.
Nan Niu, Anas Mahmoud 0001
RE2
2011 Information foraging as a foundation for code navigation
abstract
A major software engineering challenge is to understand the fundamental mechanisms that underlie the developer's code navigation behavior. We propose a novel and unified theory based on the premise that we can study developer's information seeking strategies in light of the foraging principles that evolved to help our animal ancestors to find food. Our preliminary study on code navigation graphs suggests that the tenets of information foraging provide valuable insight into software maintenance. Our research opens the avenue towards the development of ecologically valid tool support to augment developers' code search skills.
Nan Niu, Anas Mahmoud 0001, Gary L. Bradshaw
ICSE2
2011 Faceted Navigation for Software Exploration
abstract
Much of developers' time is spent in exploring and understanding an unfamiliar software space. In this paper, we present a novel approach that characterizes the code fragments along several orthogonal dimensions in order for developers to navigate complex software spaces in a flexible manner. Central to our approach are hierarchical faceted categories (HFC), which have become especially successful in supporting exploratory web search activities. We apply the HFC approach for exploring a sizeable open-source software system. Our preliminary evaluation shows that HFC are promising in supporting software exploration tasks.
Nan Niu, Anas Mahmoud 0001, Xiaoyong Yang
ICPC2
2011 TraCter: A tool for candidate traceability link clustering
abstract
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.
Anas Mahmoud 0001, Nan Niu
RE1
2010 Using Semantics-Enabled Information Retrieval in Requirements Tracing: An Ongoing Experimental Investigation
abstract
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.
Anas Mahmoud 0001, Nan Niu
COMPSAC1