Resume-aware faculty matching

Find professors who actually fit you

Upload your resume. Four AI agents analyze your background, rank the faculty who fit, inspect their recent research, and help you draft outreach — grounded in their actual work, not templates.

Free to startNo credit cardCancel anytime
Top matches Balanced preset
Dr. Sarah Chen
Stanford · Interpretability · NLP
91
Dr. Marcus Holloway
MIT · Robotics · RL
84
Dr. Aisha Okonkwo
CMU · Fairness · HCI
82
Nova · Professor Researcher · re-ranking top 20…
William G.J. Halfond

William G.J. Halfond

· Professor of Computer ScienceVerified

University of Southern California · Thomas Lord Department of Computer Science

Active 2005–2025

h-index36
Citations4.9k
Papers8819 last 5y
Funding$1.6M
See your match with William G.J. Halfond — sign in to PhdFit.Sign in

About

William G.J. Halfond is an associate professor in computer science at the University of Southern California. He received his Ph.D. in 2010 from the Georgia Institute of Technology, his master's degree from the same institution, and his bachelor's degree in computer science from the University of Virginia. His research is in software engineering, focusing on program analysis and software testing. His work aims to improve quality assurance for web applications, develop developer-oriented techniques to reduce the power consumption of smartphone mobile applications, and enhance software security. Halfond's research broadly concentrates on developing techniques that help developers improve the quality of their web and mobile applications. His group's efforts have emphasized areas such as energy consumption, user interface (UI) appearance, and security—areas of increasing importance. Specifically, his work on energy consumption involves creating techniques that enable developers to understand and modify their mobile apps' energy use, providing fine-grained insights that help save significant energy. His research on UI appearance focuses on more efficiently and accurately identifying errors in an application's UI, alongside developing various analysis techniques for mobile and web apps. Throughout his career, he has received several awards, including the ACM Distinguished Paper Award at the 2009 International Symposium on Software Testing and Analysis, and has been recognized with fellowships such as the Goizueta Foundation Fellowship and the Verizon Foundation Fellowship.

Research topics

  • Computer Science
  • World Wide Web
  • Computer Security
  • Software engineering
  • Human–computer interaction
  • Telecommunications
  • Operating system

Selected publications

  • Automatic Action Space Specification for Deep Reinforcement Learning in Games via Program Analysis

    2025-08-19

    articleSenior author

    Reinforcement learning has numerous applications for the testing and analysis of video game content. However, deploying it in existing games is a challenging engineering effort, requiring suitable representations of states, actions, and rewards based on the game rules. We propose using the program analysis technique of symbolic execution on the game code to automatically determine a precise action model when deploying reinforcement learning in existing games. Our technique automatically computes appropriate discrete action spaces for games, including action masks indicating the validity of actions depending on the agent's current state. We conduct a comprehensive evaluation of the technique on a varied dataset of seven Unity games with the Proximal Policy Optimization (PPO) and Deep Q Learning (DQN) deep reinforcement learning approaches. The results show that the agents using the analysis significantly out-perform those using generic action spaces covering the input device, and perform on par with those using manually specified action spaces.

  • Automated Recognition of Buggy Behaviors from Mobile Bug Reports

    Proceedings of the ACM on software engineering. · 2025-06-19 · 1 citations

    articleOpen accessSenior author

    Bug report reproduction is a crucial but time-consuming task to be carried out during mobile app maintenance. To accelerate this process, researchers have developed automated techniques for reproducing mobile app bug reports. However, due to the lack of an effective mechanism to recognize different buggy behaviors described in the report, existing work is limited to reproducing crash bug reports, or requires developers to manually analyze execution traces to determine if a bug was successfully reproduced. To address this limitation, we introduce a novel technique to automatically identify and extract the buggy behavior from the bug report and detect it during the automated reproduction process. To accommodate various buggy behaviors of mobile app bugs, we conducted an empirical study and created a standardized representation for expressing the bug behavior identified from our study. Given a report, our approach first transforms the documented buggy behavior into this standardized representation, then matches it against real-time device and UI information during the reproduction to recognize the bug. Our empirical evaluation demonstrated that our approach achieved over 90% precision and recall in generating the standardized representation of buggy behaviors. It correctly identified bugs in 83% of the bug reports and enhanced existing reproduction techniques, allowing them to reproduce four times more bug reports.

  • An Empirical Study on Leveraging Images in Automated Bug Report Reproduction

    2025-04-28 · 1 citations

    article

    Automated bug reproduction is a challenging task, with existing tools typically relying on textual steps-to-reproduce, videos, or crash logs in bug reports as input. However, images provided in bug reports have been overlooked. To address this gap, this paper presents an empirical study investigating the necessity of including images as part of the input in automated bug reproduction. We examined the characteristics and patterns of images in bug reports, focusing on (1) the distribution and types of images (e.g., UI screenshots), (2) documentation patterns associated with images (e.g., accompanying text, annotations), and (3) the functional roles they served, particularly their contribution to reproducing bugs. Furthermore, we analyzed the impact of images on the performance of existing tools, identifying the reasons behind their influence and the ways in which they can be leveraged to improve bug reproduction. Our findings reveal several key insights that demonstrate the importance of images in supporting automated bug reproduction. Specifically, we identified six distinct functional roles that images serve in bug reports, each exhibiting unique patterns and specific contributions to the bug reproduction process. This study offers new insights into tool advancement and suggests promising directions for future research.

  • Mobile Bug Report Reproduction via Global Search on the App UI Model

    Proceedings of the ACM on software engineering. · 2024-07-12 · 4 citations

    articleSenior author

    Bug report reproduction is an important, but time-consuming task carried out during mobile app maintenance. To accelerate this task, current research has proposed automated reproduction techniques that rely on a guided dynamic exploration of the app to match bug report steps with UI events in a mobile app. However, these techniques struggle to find the correct match when the bug reports have missing or inaccurately described steps. To address these limitations, we propose a new bug report reproduction technique that uses an app’s UI model to perform a global search across all possible matches between steps and UI actions and identify the most likely match while accounting for the possibility of missing or inaccurate steps. To do this, our approach redefines the bug report reproduction process as a Markov model and finds the best paths through the model using a dynamic programming based technique. We conducted an empirical evaluation on 72 real-world bug reports. Our approach achieved a 94% reproduction rate on the total bug reports and a 93% reproduction rate on bug reports with missing steps, significantly outperforming the state-of-the-art approaches. Our approach was also more effective in finding the matches from the steps to UI events than the state-of-the-art approaches.

  • Automatically Detecting Reflow Accessibility Issues in Responsive Web Pages

    2024-04-12 · 10 citations

    articleOpen accessSenior author

    Many web applications today use responsive design to adjust the view of web pages to match the screen size of end users. People with disabilities often use an alternative view either due to zooming on a desktop device to enlarge text or viewing within a smaller viewport when using assistive technologies. When web pages are not implemented to correctly adjust the page's content across different screen sizes, it can lead to both a loss of content and functionalities between the different versions. Recent studies show that these reflow accessibility issues are among the most prevalent modern web accessibility issues. In this paper, we present a novel automated technique to automatically detect reflow accessibility issues in web pages for keyboard users. The evaluation of our approach on real-world web pages demonstrated its effectiveness in detecting reflow accessibility issues, outperforming state-of-the-art techniques.

  • Feedback-Driven Automated Whole Bug Report Reproduction for Android Apps

    2024-09-11 · 15 citations

    preprintOpen access

    In software development, bug report reproduction is a challenging task. This paper introduces ReBL, a novel feedback-driven approach that leverages GPT-4, a large-scale language model (LLM), to automatically reproduce Android bug reports. Unlike traditional methods, ReBL bypasses the use of Step to Reproduce (S2R) entities. Instead, it leverages the entire textual bug report and employs innovative prompts to enhance GPT’s contextual reasoning. This approach is more flexible and context-aware than the traditional step-by-step entity matching approach, resulting in improved accuracy and effectiveness. In addition to handling crash reports, ReBL has the capability of handling non-crash functional bug reports. Our evaluation of 96 Android bug reports (73 crash and 23 non-crash) demonstrates that ReBL successfully reproduced 90.63% of these reports, averaging only 74.98 seconds per bug report. Additionally, ReBL outperformed three existing tools in both success rate and speed.

  • Automatically Reproducing Android Bug Reports Using Natural Language Processing and Reinforcement Learning

    Zenodo (CERN European Organization for Nuclear Research) · 2023-05-16

    paratextOpen accessSenior author

    This is the artifact of the paper Automatically Reproducing Android Bug Reports Using Natural Language Processing and Reinforcement Learning accepted by ISSTA 2023.

  • Automatically Reproducing Android Bug Reports using Natural Language Processing and Reinforcement Learning

    2023-07-12 · 13 citations

    articleOpen accessSenior author

    As part of the process of resolving issues submitted by users via bug reports, Android developers attempt to reproduce and observe the crashes described by the bug reports. Due to the low-quality of bug reports and the complexity of modern apps, the reproduction process is non-trivial and time-consuming. Therefore, automatic approaches that can help reproduce Android bug reports are in great need. However, current approaches to help developers automatically reproduce bug reports are only able to handle limited forms of natural language text and struggle to successfully reproduce crashes for which the initial bug report had missing or imprecise steps. In this paper, we introduce a new fully automated approach to reproduce crashes from Android bug reports that addresses these limitations. Our approach accomplishes this by leveraging natural language processing techniques to more holistically and accurately analyze the natural language in Android bug reports and designing new techniques, based on reinforcement learning, to guide the search for successful reproducing steps. We conducted an empirical evaluation of our approach on 77 real world bug reports. Our approach achieved 67% precision and 77% recall in accurately extracting reproduction steps from bug reports, reproduced 74% of the total bug reports, and reproduced 64% of the bug reports that contained missing steps, significantly outperforming state of the art techniques.

  • A Component-Sensitive Static Analysis Based Approach for Modeling Intents in Android Apps

    2023-10-01 · 2 citations

    articleSenior author

    The Android Inter Component Communication (ICC) model plays an important role in providing users with a wide range of features both within and across apps. Accurate information about ICCs is important for a range of program analysis-based security and verification techniques. These techniques use static analysis to infer links between Android components in bundles of apps and then identify potential security problems with these communications. However, existing ICC analyses have limitations in terms of their accuracy when Intents are constructed using ICC information. To address these limitations, we introduce a multi-level component-sensitive static analysis technique to efficiently and accurately compute ICC information in these scenarios. We compared our approach with state of the art ICC analysis techniques and found that our approach is more accurate and has a faster execution time.

  • Automatically Reproducing Android Bug Reports Using Natural Language Processing and Reinforcement Learning

    arXiv (Cornell University) · 2023-01-18

    preprintOpen accessSenior author

    As part of the process of resolving issues submitted by users via bug reports, Android developers attempt to reproduce and observe the failures described by the bug report. Due to the low-quality of bug reports and the complexity of modern apps, the reproduction process is non-trivial and time-consuming. Therefore, automatic approaches that can help reproduce Android bug reports are in great need. However, current approaches to help developers automatically reproduce bug reports are only able to handle limited forms of natural language text and struggle to successfully reproduce failures for which the initial bug report had missing or imprecise steps. In this paper, we introduce a new fully automated Android bug report reproduction approach that addresses these limitations. Our approach accomplishes this by leveraging natural language process techniques to more holistically and accurately analyze the natural language in Android bug reports and designing new techniques, based on reinforcement learning, to guide the search for successful reproducing steps. We conducted an empirical evaluation of our approach on 77 real world bug reports. Our approach achieved 67% precision and 77% recall in accurately extracting reproduction steps from bug reports, and reproduced 74% of the bug reports, significantly outperforming state of the art techniques.

Recent grants

Frequent coauthors

  • Alessandro Orso

    Georgia Institute of Technology

    15 shared
  • Ding Li

    South China University of Technology

    14 shared
  • Sonal Mahajan

    Savitribai Phule Pune University

    13 shared
  • Ramesh Govindan

    University of Southern California

    11 shared
  • Ali S. Alotaibi

    University of Southern California

    10 shared
  • Paul Chiou

    University of Southern California

    8 shared
  • Abdulmajeed Alameer

    King Saud University

    8 shared
  • Mian Wan

    University of Southern California

    7 shared

Education

  • Ph.D., Computer Science

    University of Southern California

    1991
  • M.S., Computer Science

    University of Southern California

    1986
  • B.S., Computer Science

    University of Southern California

    1984

Awards & honors

  • ACM Distinguished Paper Award (2009)
  • International Conference on Software Testing Best Presentati…
  • Goizueta Foundation Fellowship (2009)
  • Shackelford Fellow (2005)
  • Verizon Foundation Fellowship (2003)
  • Resume-aware match score
  • Save to shortlist
  • AI-drafted outreach

See your match with William G.J. Halfond

PhdFit ranks faculty by your research interests, methods, and publications — grounded in their actual work, not templates.

  • Free to start
  • No credit card
  • 30-second signup