Browsing by Author "Barcomb, Ann"
Now showing 1 - 8 of 8
Results Per Page
- ItemOpen AccessAnalysis of compatibility in open-source Android mobile applications(2020-11-09) Mukherjee, Debjyoti; Ruhe, Guenther; Reardon, Joel; Barcomb, AnnNon-functional requirements form an intrinsic part of any software system. Compatibility between versions or different platforms of a software product is a form of NFRs. In this thesis, we have studied compatibility in Android mobile applications. We are interested in understanding the different aspects of mobile application incompatibility, their frequency of occurrence, how much effort developers have spent on it, and whether the effort is commensurate with the needs of the users. In this thesis, an analytical compatibility evaluation approach called ACOCUR is proposed. The main characteristics of ACOCUR are: (i) compatibility requirements are automatically identified from user reviews and their types are also determined (ii) compatibility fixes done by developers are systematically analyzed, and (iii) the requirements from users are linked to the fixes to identify the responsiveness of developers to compatibility requirements. We have evaluated open-source mobile applications and have analyzed their commits and reviews to identify the compatibility fixes and requirements respectively. Both the commit messages and reviews have been processed by a pipeline of Natural Language Processing steps. App developers have also been surveyed and their responses have been analyzed to establish the state-of-the-practice and the problems currently faced by developers in this respect. Finally, an automated tool has been developed that implements the ACOCUR methodology to support app developers to identify and analyze compatibility requirements.
- ItemEmbargoAugmenting Accessibility: An Exploration of AR Usability and Adaptations for Nonspeaking Autistic Individuals(2023-09-12) Nazari, Ahmadreza; Krishnamurthy, Diwakar; Far, Behrouz; Barcomb, AnnAbout one-third of autistic people are nonspeaking, and most are never provided access to an effective alternative to speech. Thoughtfully designed Augmented Reality (AR) applications could provide members of this population with structured learning opportunities, including training on skills that underlie alternative forms of communication. Yet, a considerable gap exists in research exploring AR's use for nonspeaking autistic individuals– a gap this work seeks to address. A fundamental step toward bridging this gap is to investigate nonspeaking autistic people's ability to tolerate a head-mounted AR device and to interact with virtual objects. This thesis presents the first study to examine the usability of an interactive AR-based application by this population. 17 nonspeaking autistic subjects were recruited to play a HoloLens 2 game that involved holographic animations and buttons. Almost all subjects tolerated the device long enough to begin the game, and most completed increasingly challenging tasks that involved pressing holographic buttons. These findings contradict prevailing assumptions about nonspeaking autistic people and open up exciting possibilities for AR-based applications for this population targeting areas such as communication and education. Building upon these findings and recognizing that nonspeaking autistic individuals often have motor skill challenges, this thesis introduces a novel system to enhance the accessibility of AR by optimizing the placement of virtual content using Behavioural Cloning. Specifically, this work targets nonspeaking autistic individuals who are learning to communicate by pointing to letters on a physical letterboard with the help of a caregiver. Observing the real-world interactions between a subject and their caregiver, the proposed system automatically derives a personalized virtual object placement policy. We show that the proposed approach requires only modest training effort and places a virtual object accurately, closely mirroring how the caregiver caters to the user's unique motor skills and movement patterns. This work represents a significant additional step toward enabling AR applications for this population. In summary, this thesis presents empirical evidence that supports the use of AR for assisting nonspeaking autistic people. It also introduces a system for a personalized AR experience to improve the accessibility of this technology. The contributions of this thesis pave the way for broader future applications of AR for this understudied and underserved population.
- ItemOpen AccessAutomated Bug Severity Prediction using Source Code Metrics, Static Analysis, and Code Representation(2022-09-12) Mashhadi, Ehsan; Hemmati, Hadi; Barcomb, Ann; Tan, BenjaminIn the past couple of decades, significant research efforts are devoted to the prediction of software bugs. However, most existing work in this domain treats all bugs the same, which is not the case in practice. It is important for a defect prediction method to estimate the severity of the identified bugs so that the higher severity ones get immediate attention. In this thesis, we provide a quantitative and qualitative study on two popular datasets (Defects4J and Bugs.jar), using 10 common source code metrics, and also two popular static analysis tools (SpotBugs and Infer) for analyzing their capability in predicting defects and their severity. We studied 3,358 buggy methods with different severity labels from 19 Java open-source projects. Results show that although code metrics are powerful in predicting buggy code, they cannot estimate the severity level of the bugs. In addition, we observed that static analysis tools have weak performance in both predicting bugs (F1 score range of 3.1%-7.1%) and their severity label (F1 score under 2%). We also manually studied the characteristics of the severe bugs to identify possible reasons behind the weak performance of code metrics and static analysis tools. Also, our categorization shows that Security bugs have high severity in most cases while Edge/Boundary faults have low severity. Furthermore, we show that code metrics and static analysis methods can be complementary in terms of estimating bug severity. For finding the effectiveness of machine learning models in predicting bug severity, we train 8 different models on code metrics only as a baseline and evaluate them based on different evaluation metrics. The overall result was not promising, but the Decision Tree and Random Forest models have better results. Then, we leveraged the pre-trained CodeBERT model to use code representation by feeding the source code input only, and the results improved significantly in the range of 29%-140% for different metrics. We also integrated code metrics into the CodeBERT model by providing two architectures named ConcatInline and ConcatCLS which enhance the CodeBERT model efficacy.
- ItemOpen AccessA collaborative autoethnographic analysis of industry-academia collaboration for software engineering education development(Canadian Engineering Education Association, 2022-06) Marasco, Emily; Barcomb, Ann; Dwomoh, Gloria; Eguia, Daniel; Jaffary, Abbas; Johnson, Garth; Leonard, Lance; Shupe, RyanAs engineering educators seek to prepare students for future careers, it can be challenging to keep course materials current with industry practices and knowledge. Students also often experience a disconnect between their studies and perceived relevance to future industry roles. This study examines the potential impact of an industry-academia collaboration on the development and improvement of software engineering education while addressing these issues. A collaborative autoethnographic approach is used to concurrently analyze the experiences of both industry and academic participants in the collaboration. Common themes across the collected personal reflections show that varied benefits were experienced by all stakeholders while contributing to an improved student experience.
- ItemOpen AccessEarly Identification of Youth at Risk of Long Term Emergency Homeless Shelter Use: An Evaluation of Interpretable Machine Learning models(2023-12-18) Annaa, Osman Jakpa; Messier, Geoffrey; Yanushkevich, Svetlana; Barcomb, AnnHomelessness is a serious violation of one’s dignity, and youth who are long-term shelter users are particularly vulnerable members of a vulnerable demographic. The commitment to prevent and eliminate homelessness, particularly among the youth, is a shared responsibility. Programmes aiming at providing homeless people with permanent housing, mostly identify people who have lived with the condition for an extended period of time for support. Allowing young people to be homeless for an extended period of time before intervening, exposes them to several kinds of hardships on the streets. Early identification of youth at risk of becoming a long term shelter user is a proactive and a more humane way of addressing the problem. Machine learning is brought forth as a tool to augment the expertise of shelter staff in identifying youth at risk of long-term shelter use. Machine learning algorithms are utilised to predict youth at risk of long-term shelter use with the clients’ first 30, 60, 90, 120, or 180 days of shelter access records. A real time program delivery approach was incorporated in the experiments as a supplement to existing other methods in fighting homelessness. Interpretable machine learning models capable of ultimately producing classification rules in DNF format are evaluated. The level of control over the complexity of the generated rules, coupled with statistical evaluation metrics are employed in the evaluation.
- ItemOpen AccessEvaluation of Volunteering Capabilities in an Open-Source Software Community(2023-12-19) Hariharan, Aadharsh; Barcomb, Ann; De Carli, Lorenzo; Krishnamurthy, DiwakarOpen-source software is a cornerstone of modern technology. Embodying principles of transparency, collaboration, and innovation, it nurtures a vibrant ecosystem that empowers individuals, businesses, and communities. Open-source software has impacted software development significantly; the longevity of open-source projects is essential to the entire field of software development. Challenges faced by open-source software communities include the management of contributors, effective utilization of them, retention of existing contributors, and recruitment of new contributors. For projects where most contributors are volunteers – which remains the case for several projects such as Gnome, Perl, and Python – attracting and retaining volunteers becomes crucial to success. Crowston (2011) argued that because of the high mobility of knowledge workers, even paid employees require personal motivation to participate in projects. In this sense, they should also be viewed as volunteers. Numerous studies explore the dynamics of open-source communities and volunteer contributions. This research has yielded models to assess the volunteering prowess of open-source software communities, and proposed solutions to address challenges. However, most studies have taken a collective approach, encompassing multiple open-source software communities, which presents a generalized perspective. Utilizing a fusion of quantitative and qualitative techniques, this research project gauges the degree of relevance and applicability of existing theories, models, and solutions within the unique context of the Perl and Raku community. This case study offers valuable insights into the community's existing skills, capabilities, and resources available for constructive contributions to growth and development. These insights are instrumental in identifying and implementing strategies to attract and retain volunteers within the community. Conflict within communities can be a significant factor in retaining volunteers, and the latter portion of the thesis emphasizes identifying techniques to address these challenges.
- ItemEmbargoInterpretable Deep Learning Models for Wearable Data in Sleep and Stress Analysis: Bridging the Gap between Predictive Accuracy and Explainability in Personalized Health Monitoring(2024-01-26) Barati, Ronak; Moshirpour, Mohammad; Duffett-Leger, Linda; Moshirpour, Mohammad; Duffett-Leger, Linda; Barcomb, Ann; Sameet Deshpande, GouriThis study integrates wearable technology, machine learning, and personal health to analyze human sleep patterns and stress levels. It aims to understand the impact of daily activities and physiological metrics on individual well-being, utilizing a broad data set from various individuals. The research compiles three interrelated studies, offering a detailed view of personalized health monitoring and its potential for future applications. The first study utilizes LSTM networks, as well as RNN, complemented by Explainable AI, particularly LIME. This approach provides a deep dive into the rich, extensive data gathered from smartwatches, revealing how our daily routines—our steps, heart rates, stress, and physical activities—influence the sleep duration of our different levels of sleep Through this in-depth analysis, not only are we able to uncover the subtle but significant ways in which our lives influence our sleep, but the data allows us to develop tailored health interventions specific to everyone. The second study makes use of data from wearable devices to classify sleep levels using seven machine-learning models. Throughout this journey, stress plays a pivotal role in affecting sleep quality. The comparison of models with and without stress data suggests a compelling case for holistic health monitoring. An important finding of models that incorporate stress data is that psychological factors play a significant role in understanding and improving sleep health. The implications of this insight have a significant supporting on the development of wearable technologies and health monitoring systems, advancing our understanding of sleep disorders and treating them. In our final study, smartwatch data from first responders and their families were analyzed over three years using machine learning classifiers like SVM, Logistic Regression, KNN, Decision Trees, Random Forests, Naive Bayes, and XGBoost. The comparison between datasets with and without sleep data showed that sleep inclusion significantly boosts stress prediction accuracy to 98%, underlining the relationship between sleep and stress. This research offers vital stress management insights, especially for first responders.
- ItemOpen AccessTowards Usable API Documentation(2023-07) Khan, Junaed Younus; Uddin, Gias; Barcomb, Ann; Walker, Robert JamesThe learning and usage of an API is supported by documentation. Like source code, API documentation is itself a software product. Several research results show that bad design in API documentation can make the reuse of API features difficult. Indeed, similar to code smells, poorly designed API documentation can also exhibit 'smells'. Such documentation smells can be described as bad documentation styles that do not necessarily produce incorrect documentation but make the documentation difficult to understand and use. This thesis aims to enhance API documentation usability by addressing such documentation smells in three phases. In the first phase, we developed a catalog of five API documentation smells consulting literature on API documentation issues and online developer discussion. We validated their presence in the real world by creating a benchmark of 1K official Java API documentation units and conducting a survey of 21 developers. The developers confirmed that these smells hinder their productivity and called for automatic detection and fixing. In the second phase, we developed machine-learning models to detect the smells using the 1K benchmark, however, they performed poorly when evaluated on larger and more diverse documentation sources. We explored more advanced models; employed re-training and hyperparameter tuning to further improve the performance. Our best-performing model, RoBERTa, achieved F1-scores of 0.71-0.93 in detecting different smells. In the third phase, we first focused on evaluating the feasibility and impact of fixing various smells in the eyes of practitioners. Through a second survey of 30 practitioners, we found that fixing the lazy smell was perceived as the most feasible and impactful. However, there was no universal consensus on whether and how other smells can/should be fixed. Finally, we proposed a two-stage pipeline for fixing lazy documentation, involving additional textual description and documentation-specific code example generation. Our approach utilized a large language model, GPT- 3, to generate enhanced documentation based on non-lazy examples and to produce code examples. The generated code examples were refined iteratively until they were error-free. Our technique demonstrated a high success rate with a significant number of lazy documentation instances being fixed and error-free code examples being generated.