Software Engineering, Reverse Engineering, Program Understanding, Software Visualization, Mining Software Repositories, Problem Determination, Root Cause Analysis.
Software must evolve over time or it becomes useless. Unfortunately, over time, software systems become more complex and increasingly difficult to understand and change to meet new requirements. An understanding gap has grown between what is known, useful, and available information about the system and what needs to be known to make changes.
Massive Open Online Courses
I am the instructor-of-record for several offerings, developed through the Faculty of Science and Onlea, and delivered by Coursera.