April 15, 2019: Invited Speaker Seminar: Machine Learning-Powered Software Bug Hunting Through Prediction and Detection
Song Wang, Ph.D.
University of Waterloo
Monday, April 15, 2019 at 10:30 am
Finding software bugs is a critical task during the lifecycle of software systems. While traditional software bug hunting activities such as statistical defect prediction and static bug detection are often inefficient, which cannot keep up with the increasing complexity of modern software systems. My research focuses on taking the advantages of machine learning techniques in knowledge representation, natural language processing, classification, etc., to extract invaluable information from software artifacts for improving bug hunting practices. In this talk, I will present the challenging issues of current statistical bug prediction and static bug detection research and my techniques on advancing these two bug hunting activities by utilizing machine learning techniques: 1) using deep learning techniques to generate semantic representations of programs for improving statistical bug prediction and 2) using n-gram language models to handle source code for detecting rare bugs that current static bug detectors cannot find. My techniques have been examined on large and mature real-world software systems. The evaluation shows that machine learning techniques can be used to improve state-of-the-art software bug hunting practices. I will also discuss the challenges and promising directions for future research.
Song Wang received his Ph.D. degree in Computer Engineering from the University of Waterloo (Canada) in Dec. 2018. His research interests include software engineering, software reliability, program analysis, machine learning, and mining software repositories; with a focus on developing automated systems that combine machine learning technologies and program analysis to predict and detect software bugs and improve software reliability. Song has published more than 20 papers to date, and his work has been published at premier venues such as ICSE, FSE, ASE, and ESEM, as well as in major journals such as TSE and IST. The tools and techniques developed by him have already been integrated into practice and helped detect hundreds of true bugs on a large number of open-source and commercial projects. For more information about Song's work, please visit his website (https://ece.uwaterloo.ca/~s446wang/).