I am recruiting Ph.D. students, undergraduate researchers and visiting scholars starting Spring 2022, Fall 2022 and Spring 2023. Please email me with your CV if you are insterested in joining my group! For more information on the recruitment, please check the recruitment document. The application deadline for Vanderbilt Fall 2022 PhD program is Jan 15, 2022.My first name "Yu" can be confused as "You" sometimes. So people around me may also call me "HuangYu" together :)
My group's work focuses on software engineering and human factors, including user cognition, software infrastructure, sustainability for open source software, software-hardware co-design, and computer science education. Broadly, we solve problems to understand and improve the effectiveness and efficiency of software engineering activities. Our work spans software, hardware, medical imaging, eye tracking, and mobile sensing, collaborating with researchers from Psychology and Neuroscience, and research labs in CS industry. We also work on social aspects in software engineering community.I received my PhD in Computer Science at University of Michigan in 2021. My advisor was Prof. Westley Weimer. I received my MS in Computer Engineering at University of Virginia in 2015 and my BS in Aerospace Engineering from Harbin Institute of Techonology in China in 2011.
Most of my research is interdisciplinary and involves many domains. I am particularly interested in improving the efficiency and effectiveness of computational activities. I like learning and using different techniques to solve impactful and interesting problems no matter it is within my nominal areas of expertise. My work has involved program analysis, embedded systems, mixed-methods studies, medical imaging (fMRI, fNIRS), eye-tracking, cyber human systems, and software-hardware co-design.
My primary research interest is to understand how developers carry out computer science activities and thus help improve software engineering productivity and guide the use and development of supporting tools and environment. Previous studies have helped explore how programmers conduct computing activities, such as code comprehension and code review, but they rely on traditional survey instruments, which may not be reliable, rather than an understanding of fundamental cognitive processes. Advances in medical imaging and eye tracking have recently been applied to software engineering, supporting grounded neurobiological and visual explorations of computing activities. My research is among the first that leverages various objective measures to provide a systematic solution to understand user cognition in programming activities. I focus on understanding the role of spatial ability, fundamental processes and stereotypical associations in software engineering activities by combining medical imaging, such as fMRI and fNIRS, and eye tracking.
I believe that understanding the cognitive processes in software activities is exciting and essential for modern software engineering and education, because it allows us to adapt knowledge from other domains (e.g., Psychology, Biomedical Engineering) to design interventions to enhance the effectiveness in software engineering and computer science pedagogy. My research presents a systematic solution that (1) measures relevant factors objectively in computing tasks, (2) is based on rigorous cognitive (neurological and visual) evidence, (3) helps understand semantically-rich and industry-related software engineering activities (e.g, data structure manipulation, code writing and code review) and (4) provides guidance for actionable mitigations across different demographic groups. Along this line of research, I have worked on:
I strongly value replication of research. Medical imaging studies can be costly and I would like to share our de-identified data with researchers in the community. Our data includes all the medical imaging signals (fMRI and fNIRS), eye-tracking coordinates, stimuli design, experiment interface, training videos, IRB protocols, and survey data. You can find the data and contact infomation at our main project website:
Autonomous vehicle systems (AVS), such as quadcopters, are facing the software engineering challenge of providing failure transparency, or the extent to which failures are invisible to users and applications. The failures can be caused by software bugs, environmental changes, and security attacks. Failure transparency is especially imporant for AVS. For example, if some security attack happens when a quadcopter is flying during a mission, how can we repair the system vulnerability and apply the repair immediately while keeping the quadcopter remain its status and resume the mission later? Furthermore, when mission resumes, how can the quadcopter system continue the mission instead of starting the mission from the beginning (i.e., fly to the home base first)?
To provide such failure transparency for AVS, I designed a type-guided selective checkpointing and restoration algorithm that allows system updates on the fly , maintains critical mission states, minimize space and time overhead compared to failure-free execution, and thus the applications can resume after failures without carrying over tainted data.
This work is under the umbrella project supported by the Air Force Research Laboratory to increase system resiliency for autonomous vehicles.
I am working with Dr. Denae Ford and Dr. Thomas Zimmermann at Microsoft Research, Redmond, on investigating chracteristics and trajectories of Open Source Software (OSS) that aims at solving societal issues.
Open source software is not only for building technical tools to support the developers. Many open-source developers use their technical skills to benefit a common societal good. An example can be medical and resource platforms for tracking COVID-19. However, this special community has been in demand but overlooked. We bring in the notion of Open Source for Social Good (OSS4SG) and present the first study to investigate the basic characterizations of this community. After conducting interviews and surveys with over 500 OSS developers and 1000 projects, we find that OSS4SG covers a very wide range of social topics, it is also distinct from traditional "technical good" OSS on many aspects, including contributors' motivations, factors to consider for project selction and evaluation, and current challenges. We also present implications for researchers, sponsors, and the OSS community to better support OSS4SG.
Ths work is featured in the GitHub Octoverse Report 2020. Currenlty, according to this work, GitHub Social Impact Sector and the Digital Public Goods Alliance are working on the nomination, identification, and verification on open source projects that aim for social good. Want to lend a hand? Contribute here: Community Sourcing Digital Public Goods
Research in Psychology has shown that mental health problems (e.g., social anxiety or depression) are highly associated with impairment in academic functioning and relationships. Such mental health disorders also see a continuous increase in silicon valley. However, only a small portion of people suffereing from mental health problems seek for help. The goal of this work is to provide a non-invasive solution to monitor humans' mental health and help with real-time intervention delivery.
My work leverages the ubiquity of smartphones to measure and monitor the mental well-being of end users via a specially-designed mobile application: Sensus. I use sensing data from modern smartphones (e.g., GPS, accelerometers, text messages, phone calls) and build a framework for integrating and analyzing users’ mobility patterns, micro-behaviors and communication patterns based on linear dynamic systems (LDS). This approach also considers the social context of users' behaviors. This line of research is done in the colaboration with Dr. Laura Barnes and psychologists at the University of Virginia.
Sensus is availale in both Apple App store and Google Playstore:
Before my PhD on software engineering, I worked with Prof. Benton Calhoun at the Univeristy of Virginia on low power VLSI design. I have taped out low power FPGA and level converter chips using IBM130. This series of research inlcudes new CLBs, interconnections and the dynamic voltage scaling mechanism for low power FPGA dsign, as well as an ultra low level converter design that can be applied to energy harvesting systems.