Read more
Recent years have seen great advances in softwareengineering and programming languages, butunfortunately, software is still far from bug-free.Static analysis is an effective approach toeliminating numerous bugs, but its conservativenature of analysis unavoidably constrains itscapacity. Dynamic analysis, on the other hand,utilizes program runtime execution data, andautomatically infers about program bugs. The twoapproaches essentially complement each other, andthis book focuses on dynamic techniques, anddemonstrates how to leverage program runtime data toimprove software quality.The first part of this book introduces statisticaldebugging algorithms, which aim at automatedlocalization of program bugs in the source code basedon statistical analysis of the runtime data. Thesecond part then dives into the discusion ofautomated program failure triage, exploring effectiveways to prioritize software development. For bothparts, comprehensive reviews of related studies areprovided so that readers can easily grasp the stateof the art. This book is designed for both softwareengineering researchers and practitioners, and canalso supplement course instruction.
About the author
Chao Liu is a researcher in Microsoft Research at Redmond,
performing inter-disciplinary research on data mining, software
engineering and Internet services. He received his PhD in
Computer Science from the University of Illinois at
Urbana-Champaign in 2007.