Modern software evolves via a continual process of rapid incremental change. But while this continuity of change permits software to meet ever-changing user requirements, it also hinders developers as they attempt to comprehend evolving software artifacts. For example, feature location, a frequent and fundamental activity in which a developer identifies the source code entities that implement a particular functionality, is more difficult to complete correctly and efficiently in the context of rapidly changing software, even for an experienced developer.
In this talk, Dr. Kraft will present two recent results related to supporting comprehension of evolving software. First, he will present a state-of-the-art feature location technique (FLT) for supporting developers tasked with adding, modifying, or removing software features. The FLT is as accurate as others described in the literature but is the least computationally expensive when applied in the context of rapidly changing software. Next, Dr. Kraft will present results from a mixed-methods investigation of the challenges faced by end-users as they develop, receive, and consume spreadsheets in a large, multinational conglomerate. The survey and interview results reveal that end-users lack techniques or tools to support comprehension of spreadsheet-centric data pipelines, which leads to errors or inefficiencies when those data pipelines must be changed.
Nicholas A. Kraft is a software engineering researcher at ABB Corporate Research in Raleigh, North Carolina. Previously, he was an associate professor in the Department of Computer Science at The University of Alabama (UA). He received the Ph.D. degree in computer science from Clemson University in 2007. His research interests are in software evolution, with an emphasis on techniques and tools to support developers in understanding evolving software and to support managers in understanding software evolution processes. Dr. Kraft's research at ABB and UA has been funded by grants from the NSF, DARPA, and ED.
He currently serves on the editorial boards of IEEE Software and the Journal of Systems and Software (Elsevier) and on the steering committee of the IEEE International Conference on Software Maintenance and Evolution (ICSME). He is a senior member of the ACM and the IEEE. Additional information about Dr. Kraft is available at http://nicholasakraft.com.