Abdulaziz Alaboudi

Software engineering Ph.D student
George Mason University

Office: 4404 Engineering Building
Email: aalaboud@gmu.edu

I am a member of the Developer Experience Design Lab (Devuxd) lead by Prof. Thomas D. LaToza. Our mission is to first understand developers' needs and then craft innovative development tools that help them build high quality software in less time.

Education



Work Experience

View my full CV.

Research

A. Alaboudi and T. D. LaToza, “Supporting software engineering research and education by annotating public videos of developers programming,” in Proceedings of the ICSE Workshop on Cooperative and Human Aspects of Software Engineering, 2019


  Software engineering has long studied how software developers work, building a body of work which forms the foundation of many software engineering best practices, tools, and theories. Recently, some developers have begun recording videos of themselves engaged in programming tasks contributing to open source projects, enabling them to share knowledge and socialize with other developers. We believe that these videos offer an important opportunity for both software engineering research and education. In this paper, we discuss the potential use of these videos as well as open questions for how to best enable this envisioned use. We propose creating a central repository of programming videos, enabling analyzing and annotating videos to illustrate specific behaviors of interest such as asking and answering questions, employing strategies, and software engineering theories. Such a repository would offer an important new way in which both software engineering researchers and students can understand how software developers work.

[preprint] [poster] [doi]


A. Alaboudi and T. D. LaToza, “An Exploratory Study of Live-Streamed Programming” in 2019 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)


  In live-streamed programming, developers broadcast their development work on open source projects using streaming media such as YouTube or Twitch. Sessions are first announced by a developer acting as the streamer, inviting other developers to join and interact as watchers using chat. To better understand the characteristics, motivations, and challenges in live-streamed programming, we analyzed 20 hours of live-streamed programming videos and surveyed 7 streamers about their experiences. The results reveal that live-streamed programming shares some of the characteristics and benefits of pair programming, but differs in the nature of the relationship between the streamer and watchers. We also found that streamers are motivated by knowledge sharing, socializing, and building an online identity, but face challenges with tool limitations and maintaining engagement with watchers. We discuss the implications of these findings, identify limitations with current tools, and propose design recommendations for new forms of tools to better supporting live-streamed programming.

[preprint] [doi]