Department of Electrical and Computer Engineering Graduate Theses

Browse

Recent Submissions

Now showing 1 - 5 of 433
  • Item
    Neural Network-based Model Predictive Controller for Modular Multilevel Converters
    Electrical and Computer Engineering; Alireza, Bakhshai
    This thesis explores advanced control strategies for Modular Multilevel Converters (MMCs) to meet the growing demand for efficient and reliable power conversion systems. It compares two approaches: Model Predictive Control (MPC) and Neural Network trained with MPC data. These strategies aim to enhance MMC performance, adaptability, and reduce the computational burden in high-voltage applications. The thesis begins by introducing the fundamental principles of MPC and its application in MMCs. It explores the benefits and limitations of classical control methods, motivating the need for advanced control strategies. The MPC approach is discussed in detail, highlighting its ability to achieve fast dynamic response, eliminate traditional proportional-integral (PI) regulators and pulse width modulation (PWM) schemes, and handle multiple control objectives. Additionally, the integration of neural networks into MMC control is explored. It emphasizes its advantages, such as approximation capabilities and adaptability with reduced computational burden compared to MPC. The training process for the neural network controller, encompassing data collection, network architecture selection, and training methodologies is explained. The thesis presents simulation results and comparative analyses of the MPC and neural network control. The performance of each control strategy is evaluated based on different control objectives, such as output current tracking, voltage balancing, and robustness to parameter uncertainties. The results demonstrate the effectiveness of both approaches in improving the control performance of MMCs. Furthermore, the thesis investigates online weighting factor selection in MPC to improve adaptability. It discusses dynamically adjusting weighting factors based on system conditions and demonstrates the enhanced performance of neural network control with online weighting factor selection through simulation results. In conclusion, this thesis provides valuable insights into advanced control strategies for MMCs. It highlights the benefits of both MPC and neural network control approaches in terms of improved control performance and adaptability. The comparative analysis contributes to a better understanding of the strengths and limitations of each approach, enabling researchers and practitioners to make informed decisions regarding control strategy selection for MMC-based systems. The findings of this thesis pave the way for further advancements in control techniques for MMCs, facilitating the development of more efficient and reliable power conversion systems.
  • Item
    Empirical Studies on Managing Code Clone Evolution Using Machine Learning Techniques
    Ehsan, Osama; Electrical and Computer Engineering; Zou, Ying
    The duplication of code snippets with or without minor modifications creates a code clone. The number of code clones is expected to increase as the software expands in size. The maintenance of code clones can be challenging and costly for software maintainers as software evolves. For example, changes made to one copy of a code snippet may require updating the other copies. Prior studies show that there can be up to 21% code clones in a software project and the inconsistent nature of code clone evolution can induce software bugs in the future. Poorly maintained software projects are often closed or abandoned. Software developers have limited resources to keep track of code clones and fix the code clones that can be harmful. Prior studies focus on the detection of code clones and analysis of the clone patterns. However, there is limited support provided to developers to work on more harmful clones. In this thesis, we leverage the information available (e.g., issue reports, commits, and pull requests) from open-source software projects. We apply AI and machine learning approaches to help the software developers monitor the evolution of clones and provide intelligent approaches to help developers maintain the code clones better. In particular, we conduct four studies: (1) a study to rank the code clones in software projects based on the bug-proneness of clones to have fewer bugs in the future; (2) a study to estimate the effort needed to propagate code clone changes to clone siblings and conduct a user survey to identify the usefulness of our approach; (3) an empirical study to predict late propagation and the associated bugs in software projects; and (4) a study to predict the degree of inconsistency in a clone group, the lifetime of bugs to survive in a software project, and suggest if inconsistent changes in a clone group should be propagated or not at the pull request level. Overall, the research in this thesis provides intelligent approaches to aid developers to better maintain the evolution of the code clones.
  • Item
    Toward Self-Supervised and Privacy-Preserving Remote Heart Rate Estimation from Facial Videos
    Gupta, Divij; Electrical and Computer Engineering; Etemad, Ali
    Remote heart rate (HR) estimation has become increasingly feasible through advances in deep learning in recent years. A popular approach for this purpose is remote photoplethysmography (rPPG) which aims to measure the volumetric changes in blood flow using computer vision techniques, which in turn can be used for remote HR estimation. While there are several challenges faced by modern deep learning solutions for rPPG estimation, in this thesis, we focus on addressing two major problems. First, is the reliance on large amounts of labeled data for effective training. Second, is the privacy concerns when performing remote HR estimation, which is caused due to the use of videos of face in this process. To reduce the reliance of video representation learning on labeled data as well as for improved performance, we introduce a solution based on self-supervised contrastive learning for remote HR monitoring, which makes use of various augmentations of the original input videos to learn robust spatiotemporal video representations. We propose the use of 3 spatial and 3 temporal augmentations for training an encoder through our contrastive framework, followed by fine-tuning of the encoder for rPPG and HR estimation. Our experiments on two publicly available datasets, COHFACE and PURE showcase the improvement of our proposed approach over several related works as well as supervised learning baselines, as our results approach the state-of-the-art. We also perform thorough experiments to showcase the effects of using different design choices such as the video representation learning method, the augmentations used in the pre-training stage, and others. We also demonstrate the robustness of our proposed method over the supervised learning approaches on reduced amounts of labeled data. To address the second problem (privacy), we propose a data perturbation method that involves extraction of certain areas of the face with less identity-related information, followed by pixel shuffling, and blurring. Our experiments on two rPPG datasets (PURE and UBFC) show that our approach reduces the accuracy of facial recognition algorithms by over 60%, with minimal impact on rPPG extraction. We also test our method on three facial recognition datasets (LFW, CALFW, and AgeDB), where our approach reduced performance by nearly 50%. Our findings demonstrate the potential of our approach as an effective privacy-preserving solution for rPPG estimation.
  • Item
    Empirical Studies on Energy Consumption Issues Based on Stack Overflow and Google Chrome Extensions
    Jin, Bihui; Electrical and Computer Engineering; Zou, Ying
    The advancement of technology has driven a rise in energy consumption, while energy-related issues prospectively influence every avenue in the software life cycle from design and implementation to maintenance. To conserve energy, prolong battery life, and enhance user experience, the energy consumption of software applications has been becoming a critical issue for practitioners to consider in their daily development processes. To address this issue, researchers and practitioners have been exploring various approaches to optimize energy consumption in computing systems. In this thesis, we present empirical studies to garner insights into developing energy-efficient software from two perspectives: (1) understanding practitioners’ perception of energy consumption; and (2) evaluating the impact of extensions on Google Chrome browser performance. In the first part of this thesis, we investigate practitioners' concerns about energy consumption on Stack Overflow (SO). Our findings reveal that the practitioners' intent to initiate discussions in the energy domain is intimately related to the usage of concepts. We also identify six common topics regarding energy consumption questions. Questions related to computing resources are the most concerning topic, while monitoring is the most challenging topic, taking the longest time to receive an accepted answer. We also notice that practitioners consider energy consumption at different levels during application development. In the second part, we delve into the impact of browser extensions on energy consumption and page load time. We conduct experiments to study the performance implications of 61 extensions across 11 categories on Google Chrome, the most popular browser. Our observations indicate that browser performance can be negatively affected by the use of extensions, even when they are not active or used in unexpected circumstances. We also find that highly-rated extensions and those with larger code sizes tend to be more energy-efficient. In summary, this thesis provides insights into the practical issues related to energy consumption in software development. We believe our findings can raise practitioners' awareness about the energy impact on software from various perspectives and can aid in the development of energy-efficient software.
  • Item
    In-Distribution and Out-of-Distribution Self-Supervised ECG Representation Learning For Arrhythmia Detection
    Soltanieh, Sahar; Electrical and Computer Engineering; Etemad, Ali; Hashemi, Javad
    This thesis presents a systematic investigation into the effectiveness of self-supervised learning (SSL) methods for electrocardiogram (ECG) arrhythmia detection. We begin by conducting a novel distribution analysis on three popular ECG-based arrhythmia datasets: PTB-XL, Chapman, and Ribeiro. To the best of our knowledge, our study is the first to quantify these distributions in this area. We then perform a comprehensive set of experiments using different augmentations and parameters to evaluate the effectiveness of various SSL methods, namely SimCRL, BYOL, and SwAV, for ECG representation learning, where we observe the best performance achieved by SwAV. Furthermore, our analysis shows that SSL methods achieve highly competitive results to those achieved by supervised state-of-the-art methods. To further assess the performance of these methods on both in-distribution (ID) and out-of-distribution (OOD) ECG data, we conduct cross-dataset training and testing experiments. Our comprehensive experiments show almost identical results when comparing ID and OOD schemes, indicating that SSL techniques can learn highly effective representations that generalize well across different OOD datasets. This finding can have major implications for ECG-based arrhythmia detection. Lastly, to further analyze our results, we perform detailed per-disease studies on the performance of the SSL methods on the three datasets.