SACM - United States of America

Permanent URI for this collectionhttps://drepo.sdl.edu.sa/handle/20.500.14154/9668

Browse

Search Results

Now showing 1 - 5 of 5
  • ItemRestricted
    INSIGHTS AND STRATEGIES FOR IMPROVING SOFTWARE DEVELOPER PRODUCTIVITY
    (University of North Texas, 2024-12) Alhumud, Waleed Ghazi; Bryce, Renee
    This dissertation explores several methods and insights to enhance productivity by saving time and effort, improving testing skills, and reducing testing costs. The first contribution provides software testing tools based on selected criteria. Holding team-based competitions to detect faults in different programming languages is introduced in the second contribution. In the last contribution, we utilize an optimization technique of regression testing to enhance software developers’ productivity. The results indicate that using software testing tools based on selected criteria saves time and effort by automating repetitive tasks and detecting faults early. Additionally, improving testing skills and learning new programming languages through holding team-based competitions to catch bugs in different languages leads to enhanced productivity. More than 93% of the participants agree that these competitions not only increase their testing skills but also assist them in learning new languages. Moreover, utilizing test suite prioritization might improve software developers’ productivity by reducing testing costs and time by executing only half of the prioritized test suites to obtain 100% of code coverage utilizing our proposed criteria. The contributions in this dissertation aid in the ongoing effort to advance testing practices in software development. They provide methods for practitioners and organizations to improve software quality by enhancing software developers’ productivity.
    17 0
  • Thumbnail Image
    ItemRestricted
    EMPIRICAL EXPLORATION OF SOFTWARE TESTING
    (New Jersey Institute of Technology, 2024-04-18) Alblwi, Samia; Mili, Ali; Oria, Vincent
    Despite several advances in software engineering research and development, the quality of software products remains a considerable challenge. For all its theoretical limitations, software testing remains the main method used in practice to control, enhance, and certify software quality. This doctoral work comprises several empirical studies aimed at analyzing and assessing common software testing approaches, methods, and assumptions. In particular, the concept of mutant subsumption is generalized by taking into account the possibility for a base program and its mutants to diverge for some inputs, demonstrating the impact of this generalization on how subsumption is defined. The problem of mutant set minimization is revisited and recast as an optimization problem by specifying under what condition the objective function is optimized. Empirical evidence shows that the mutation coverage of a test suite depends broadly on the mutant generation operators used with the same tool and varies even more broadly across tools. The effectiveness of a test suite is defined by its ability to reveal program failures, and the extent to which traditional syntactic coverage metrics correlate with this measure of effectiveness is considered.
    11 0
  • Thumbnail Image
    ItemRestricted
    Development Techniques for Large Language Models for Low Resource Languages
    (University of Texas at Dallas, 2023-12) Alsarra, Sultan; Khan, Latifur
    Recent advancements in Natural Language Processing (NLP) driven by large language models have brought about transformative changes in various sectors reliant on extensive text-based research. This dissertation is the culmination of techniques designed for crafting domain-specific large language models tailored to low-resource languages, offering invaluable support to researchers engaged in large-scale text analysis. The primary focus of these models is to address the nuances of politics, conflicts, and violence in the Middle East and Latin America using domain-specific, pre-trained large language models in Arabic and Spanish. Throughout the development of these language models, we construct a multitude of downstream tasks, including named entity recognition, binary classification, multi-label classification, and question answering. Additionally, we lay out a roadmap for the creation of domain-specific large language models. Our core objective is to contribute by devising NLP strategies and methodologies that surmount the challenges posed by low-resource languages. This contribution extends to curating an extensive corpus of texts centered around regional politics and conflicts in Spanish and Arabic, thereby enriching research in the domain of NLP large language models for low-resource languages. We assess the performance of our models against the Bidirectional Encoder Representations from Transformers (BERT) model as a baseline. Our findings unequivocally establish that the utilization of domain-specific pre-trained language models markedly enhances the performance of NLP models in the realm of politics and conflict analysis. This is observed in both Arabic and Spanish, spanning diverse types of downstream tasks. Consequently, our work equips researchers in the realm of large language models for low-resource languages with potent tools. Simultaneously, it offers political and conflict analysts, including policymakers, scholars, and practitioners, novel approaches and instruments for deciphering the intricate dynamics of local politics and conflicts, directly in Arabic and Spanish.
    83 0
  • Thumbnail Image
    ItemRestricted
    Toward Better Understanding and Documentation of Rationale for Code Changes
    (Saudi Digital Library, 2023-07-28) Al Safwan, Khadijah; Servant, Francisco Javier
    Software development is driven by the development team’s decisions. Communicating the rationale behind these decisions is essential for the project's success. Although the software engineering community recognizes the need and importance of rationale, there has been a lack of in-depth study of rationale for code changes. To bridge this gap, this dissertation examines the rationale behind code changes in-depth and breadth. This work includes two studies and an experiment. The first study aims to understand software developers’ need. It finds that software developers need to investigate code changes to understand their rationale when working on diverse tasks. The study also reveals that software developers decompose the rationale of code commits into 15 separate components that they could seek when searching for rationale. The second study surveys software developers’ experiences with rationale. It uncovers issues and challenges that software developers encounter while searching for and recording rationale for code changes. The study highlights rationale components that are needed and hard to find. Additionally, it discusses factors leading software developers to give up their search for the rationale of code changes. Finally, the experiment predicts the documentation of rationale components in pull request templates. Multiple statistical models are built to predict if rationale components’ headers will not be filled. The trained models are effective in achieving high accuracy and recall. Overall, this work’s findings shed light on the need for rationale and offer deep insights for fulfilling this important information need.
    19 0
  • Thumbnail Image
    ItemRestricted
    Hypothesis-Based Debuggers
    (2023-05-19) Alaboudi, Abdulaziz; LaToza, Thomas
    Debugging has traditionally been described as a process of formulating and testing hypotheses about defects, but there has been a lack of tools to assist developers in this crucial process. While prior work has mainly focused on fault localization, developing tools that automatically locate buggy code, the effectiveness of these tools compared to those that may help developers find and test hypotheses remain unclear. I conducted a randomized controlled experiment to address this question. The results showed that a tool that helped identify the correct hypothesis improved developers' success in fixing defects six times compared to a fault localization tool. This finding underscores the potential effectiveness of debuggers that assist in finding and testing hypotheses. To design effective debuggers to support formulating and testing hypotheses, a deeper understanding of debugging behavior is required. To fill this knowledge gap, I created a new dataset of debugging work using live-streamed programming videos. I used it to study two behaviors based on the hypothesis debugging model: the broader activities developers engage in during debugging and the edit-run cycle behavior developers engage in while testing hypotheses. These studies revealed several interesting findings about debugging behavior, suggesting that debuggers should aim to reduce the amount of work spent switching between activities and rerunning the program to find and test hypotheses in debugging. This dissertation introduces the concept of hypothesis-based debuggers, representing a new type of debugger designed to streamline identifying and testing hypotheses. Unlike traditional debuggers that require manual switching between activities to gather information about the defect, hypothesis-based debuggers automate gathering all necessary information about the defect and use it to identify relevant hypotheses. Instead of ineffectively testing multiple hypotheses, hypothesis-based debuggers rank hypotheses based on their relevance and offer a step-by-step testing plan for each relevant hypothesis. To validate the effectiveness of hypothesis-based debuggers, I implemented and evaluated a debugger named Hypothesizer. Results showed that Hypothesizer significantly improves the success rate of fixing defects compared to traditional debuggers and Stack Overflow. Hypothesizer simplifies the process of observing defect behavior, assists developers in identifying the correct hypothesis, and helps them effectively verify or refute relevant hypotheses, even with limited knowledge of the codebase.
    27 0

Copyright owned by the Saudi Digital Library (SDL) © 2025