Seminars & Colloquia

Nicholas Kraft


"Supporting Comprehension of Rapidly Evolving Software "

Wednesday February 20, 2019 09:30 AM
Location: 3211, EB2 NCSU Centennial Campus
(Visitor parking instructions)


Abstract: 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. Methods for supporting developers in completing comprehension tasks correctly and efficiently are often based on the retrieval of relevant software artifacts from large software repositories. In particular, such methods are based on the application of a text retrieval model to a snapshot of a software repository. Unfortunately, these snapshot-based methods have fundamental limitations that render them inapplicable in the context of rapidly evolving software.


In this talk, Dr. Kraft will present a new method for retrieving software artifacts from large, rapidly evolving software repositories. The method is based on the application of an online topic model to a streaming collection of the changesets that represent the differences between the artifacts in consecutive versions of a software repository. First, he will present a specific instantiation of the method targeting feature location, a frequent and fundamental activity in which a developer identifies the source code entities that implement a particular functionality. Next, he will present empirical evidence demonstrating that the new feature location technique (FLT) is as accurate as the previous state-of-the-art FLT and has minimal computational overhead when applied in the context of rapidly changing software. Dr. Kraft will conclude the talk by reviewing key future directions in software evolution in two contrasting contexts: rapidly evolving software and long-lived software.

Short Bio: Nicholas A. Kraft is a software researcher and the university relations program manager at ABB Corporate Research in Raleigh, North Carolina. Before joining ABB in 2014, he was an associate professor with tenure 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. Dr. Kraft’s primary research goal is to make software evolution tractable for organizations by automating fundamental tasks common to many developer activities and by using data-driven methods to support continuous process improvement. His research at ABB and UA has been supported by nearly $2.5M in awards from the NSF, DARPA, and ED. He is an associate editor for IEEE Software, and he serves on the editorial board of the Journal of Systems and Software and on the steering committee of the IEEE International Conference on Software Maintenance and Evolution (ICSME). He served as general co-chair of ICSME’16 and currently serves as co-chair of the ICSME’19 Industry Track. He is a senior member of the ACM and of the IEEE. Additional information about Dr. Kraft is available at

Host: Tim Menzies, CSC

Back to Seminar Listings
Back to Colloquia Home Page