Theses and Dissertations - Department of Computer Science
Permanent URI for this collection
Browse
Browsing Theses and Dissertations - Department of Computer Science by Author "Carver, Jeffrey"
Now showing 1 - 5 of 5
Results Per Page
Sort Options
Item Change Analysis Across Version Histories of Systems Models(University of Alabama Libraries, 2021) Popoola, Saheed; Gray, Jeff; University of Alabama TuscaloosaModel-Based Systems Engineering (MBSE) elevates models as first-class artifacts throughout the development process of a system’s lifecycle. This makes it easier to develop standard tools for automated analysis and overall management of a system process; thereby, saving cost and minimizing errors. Like all systems artifacts, models are subject to continuous change and the execution of changes may significantly affect model maintenance. Existing work has already investigated processes and techniques to support, analyze and mitigate the impact of changes to models. However, most of these works often focus on the analysis of changes between two sets of models and do not take a holistic approach to the entire version history of models. To support change analysis across the entire version history, we developed a Change Analyzer that can be used to query and extract change information across successive versions of a model. We then used the Change Analyzer to mine several versions of Simulink models, computed the differences across the versions, and classified the computed differences into appropriate maintenance categories in order to generate information related to understanding the rationale of the design decisions that necessitated the observed changes. To study the impact of changes on the models, we used the Change Analyzer to analyze the evolution of seven bad smells in 81 LabVIEW models across 10 open-source repositories, and four bad smells in 575 Simulink models across 31 open-source repositories. The evaluation of the Change Analyzer indicates that it can be used to construct concise queries that execute faster than a generic model-based query engine. The results of the change analysis process also show a high similarity of the recovered design decisions with the manually identified decisions, even though the manual identification process takes much more time and often does not provide additional information about the changes executed to implement the design decisions. Furthermore, we discovered that adaptive maintenance tasks often lead to an increase in the number of smells in systems models, but corrective maintenance tasks often correlate with a decrease in the number of smells.Item An Investigation into Bad Smells in Model-Based Systems Engineering(University of Alabama Libraries, 2021) Zhao, Xin; Gray, Jeff; University of Alabama TuscaloosaSystems engineering is a multi-disciplinary approach to design, realize, manage and operate a system, which consists of hardware, software, process and personnel. Engineers and scientists from different domains often create domain-specific software artifacts - systems models to describe phenomena in the process of system development. Systems models are frequently tied to external instrumentation and devices that coordinate experimentation and observation. The methodologies and tools that support systems modeling often lack the capabilities that are found in software engineering environments and practice, limiting the potential analysis capabilities that can be realized by the software adopted in the system. Moreover, due to the different focus of interest, systems engineers may lack systematic software engineering knowledge compared with software engineers, creating a knowledge gap between systems engineers and software engineers. To assist engineers in developing systems models, this dissertation first mined systems engineers' questions they post on the discussion forum to understand the challenges and issues they face during the development of systems models. The examination results show that systems engineers have a great number of questions and problems related to bad smells in systems models. Motivated by this observation, the goal of my research is to assist systems engineers with a better understanding of bad smells in systems models from three aspects: 1) the summarization of bad smells in systems models; 2) the evaluation of bad smells from systems engineers; and 3) the identification of prominent bad smells in systems models. The work presented in this dissertation has informed the systems engineering community by an empirical investigation of bad smells in systems models.Item Redefining privacy: case study of smart health applications(University of Alabama Libraries, 2019) Al-Zyoud, Mahran; Carver, Jeffrey; University of Alabama TuscaloosaSmart health utilizes the unique capabilities of smart devices to improve healthcare. The smart devices continuously collect and transfer large amounts of useful data about the users' health. As data collection and sharing are two inevitable norms in this connected world, concerns have also been growing about the privacy of health information. Any mismatch between what the user really wants to share and what the devices share could either cause a privacy breach or limit a beneficial service. Understanding what influences information sharing can help resolve mismatches and brings protection and benefits to all stakeholders. The primary goal of this dissertation is to better understand the variability of privacy perceptions among different individuals and reflect this understanding into smart health applications. Towards this goal, this dissertation presents three studies. The first study is a systematic literature review conducted to identify the reported privacy concerns and the suggested solutions and to examine whether the context is part of any effort to describe a concern or form a solution. The study reveals 7 categories of privacy concerns and 5 categories of privacy solutions. I present a mapping between these major concerns and solutions to highlight areas in need of additional research. The results also revealed that there is a lack of both user-centric and context-aware solutions. The second study further empirically investigates the role of context and culture on the sharing decision. It describes a multicultural survey and another cross-cultural survey. The results support the intuitive view of how variable privacy perception is among different users and how understanding a user's culture could play a role in offering a smarter, dynamic set of privacy settings that reflects his privacy needs. Finally, the third study aims at providing a solution that helps users configure their privacy settings. The solution utilizes machine learning to predict the most suitable configuration for the user. As a proof of concept, I implemented and evaluated a prototype of a recommender system. Usage of such recommender systems helps make changing privacy settings less burden in addition to better reflecting the true privacy preferences of users.Item A state-based approach to context modeling and computing(University of Alabama Libraries, 2019) Yue, Songhui; Smith, Randy; University of Alabama TuscaloosaContext-aware computing is one of the most essential computing paradigms in pervasive computing. However, current context-aware computing is still in lack of good representation models, particularly in modeling proactive behaviors and historical context data. State diagrams have proven to be an effective modeling method for modeling system behaviors. For context-aware computing, explicitly putting forward states of high-level context can be beneficial and intrigue new angles of understanding and modeling activities. In this dissertation, I propose a state-based context model, and based on the model, I introduce Context State Machines (CSM) for simulating state changes of context attribute, situation, and context, which imply important behaviors of related to context. This research develops and demonstrates CSMs for known context-aware problems from the literature including a smart elevator control system. First of all, the smart elevator, as a context- aware application in the literature, is introduced. Secondly, I introduce the implementation of the CSM engine. Thirdly, I describe two context-aware scenarios, and show the model can help automatically capture the contexts and reason the context without the inference from the developers, and it is the first time in literature to apply state-based modeling approach and the CSM engine to a real-world context-aware system. To evaluate the CSM engine as well as the CSM modeling approach, I generate high-level contextual testing data to feed the engine. I surveyed the data quality issues regarding context- aware software and rubrics of the data quality and dimensionality are developed to address the challenges of applying context to context-aware systems. The rubrics are applied in the generation of synthetic data for feeding the CSM engine in this dissertation.Item Understanding Social Debt in Software Engineering(University of Alabama Libraries, 2021) Caballero Espinosa, Eduardo Anel; Carver, Jeffrey; University of Alabama TuscaloosaContext: Social debt describes the accumulation of costs to software projects resulting from community smells, i.e., suboptimal working environment conditions. The study of social debt is recent in the software engineering context. Thus, there is a need for a standard reference on this problem and learning how to manage it. Objective: The goal of this article-style dissertation is to offer a comprehensive and common body of knowledge on social debt and community smells in software engineering. Method: To reach the main goal, this dissertation consist of a systematic mapping study, a systematic literature review, a survey-based empirical study, and a theoretical study. Results: The results include inventories of relevant studies on social debt and community smells, educational material on social debt and community smells for software engineering professionals, and Community Smell Stages Framework that explains the origin and evolution of community smells. We also identified the impact of community smells on software development teams' performance by studying the connection between community smells and teamwork. Furthermore, we developed a survey-based framework to validate the community smells affecting cooperation in practice and generated useful visualization approaches. We also produced a set of hypotheses about the community smells and how their effects represent potential ethical violations in work environments. Conclusion: Social debt and community smells have the potential for becoming the sources of prolific human-centric research in software engineering. There is a need for more real-world empirical research to validate the findings reported in this dissertation and generalize the results.