Software Debugging: Past, Present, and Future
Software debugging, which involves localizing, understanding, and removing the cause of a failure, is a notoriously difficult, extremely time consuming, and human-intensive activity. For this reason, researchers have invested a great deal of effort in developing automated techniques and tools for supporting various debugging tasks. Although potentially useful, most of these techniques have yet to fully demonstrate their practical effectiveness. Moreover, many current debugging approaches suffer from some common limitations and rely on several strong assumptions on both the characteristics of the code being debugged and how developers behave when debugging such code. This talk provides an overview of the state of the art in the broader area of software debugging, presents our research on assessing strengths and weaknesses of the main existing debugging techniques, discusses a set of open challenges in this area, and sketches future research directions that may help address these challenges and our ongoing work in these directions.
Alessandro Orso is a Professor and Associate School Chair in the College of Computing at the Georgia Institute of Technology. He received his M.S. degree in Electrical Engineering (1995) and his Ph.D. in Computer Science (1999) from Politecnico di Milano, Italy. From March 2000, he has been at Georgia Tech. His area of research is software engineering, with emphasis on software testing and program analysis. His interests include the development of techniques and tools for improving software reliability, security, and trustworthiness, and the validation of such techniques on real-world systems. Dr. Orso has received funding for his research from government agencies, such as NSF and DARPA, and industries, such as Fujitsu Labs, Google, IBM, and Microsoft. He served on the editorial boards of ACM TOSEM and on the Advisory Board of Reflective Corp, served as program chair or co-chair for ACM-SIGSOFT ISSTA 2010, IEEE ICST 2013, and ACM-SIGSOFT FSE 2014, and is serving as program co-chair for ACM-SIGSOFT/IEEE ICSE 2017. He has also served as a technical consultant to DARPA. Dr. Orso is a senior member of the ACM and of the IEEE Computer Society.