Mar 2, 2018
Lopata Hall, Room 101
Behavior-Informed Algorithms for Automatic Documentation Generation
Programmers are notorious for neglecting to write software documentation, even while demanding high quality documentation for themselves. In an ideal world, programmers would be able to automatically generate documentation. In this talk, I will discuss my strategy to automatically generate documentation: first, to observe programmers and then mimic their behaviors by writing or modifying algorithms. This talk will discuss the use of eye tracking for program comprehension. I will discuss my eye tracking research with professional programmers and the areas of source code that are important to read for source code comprehension. This work resolved an open question in software engineering as many papers reported different areas of source code to be the most important for comprehension. Through an empirical study, I found the method signature to be the most important section of source code for reading comprehension. I will also discuss the eye movement order of programmers when they read source code. I found programmers to read in pattern similar to reading natural language text 49% of the time and to skim source code, rather than read it thoroughly, about 90% of the time. I will also discuss a recent paper on observing developer-client meetings and mimicking the participants behavior to extract user story information. Finally, I will conclude with a discussion of work towards a virtual assistant bot for programmers.
Paige Rodeghero is a Ph.D. candidate in the Computer Science and Engineering department at the University of Notre Dame. Her research lies in the area of software engineering and specifically program comprehension. Her research interests include conducting empirical studies to increasing programmer productivity and working towards a tool to automatically generate source code documentation. Her future work includes exploring ways to improve the onboarding process of junior developers. She has published multiple papers at the International Conference on Software Engineering (ICSE). Paige has been recognized with an ACM Distinguished Paper Award for her work and a GAANN Ph.D. Fellowship.