Pictured at 10/2016                  Haipeng Cai
Assistant Professor
School of Electrical Engineering and Computer Science (EECS)
Washington State University, Pullman, WA
EME B47 | haipeng.cai dot wsu dot edu
Undergrad Mentoring Office hours: Tuesday 10-12pm
LinkedIn Profile      Personal Blog      SourceForge Profile
Github Profile      Recent projects on Bitbucket
                 shield logo of WSU

  • I am an assistant professor in the School of Electrical Engineering and Computer Science (EECS) at Washington State University, Pullman since Fall 2016. My research generally lies in software engineering, program analysis, software reliability, software evolution, and software security, with a current focus on adaptive/data-driven static and dynamic analysis for security defense and performance optimizations of mobile applications and large-scale distributed software systems (especially those developed in multiple programming languages). The main goal of my research is to develop scalable and cost-effective techniques and tools that practically improve the productivity of software developers and the quality of real-world software.
     
    Publications

    Research Group
  • Xiaoqin Fu (Ph.D. student, Fall 2017-)
  • Wen Li (Ph.D. student, Fall 2019-)
  • Andrew Koch (Ph.D. student, Spring 2020-)
  • Yu Nong (M.S. student, Spring 2019-)
  • John Jenkins (M.S. student, Spring 2017-Fall 2017; on leave at SEL)
  • Group Alumni
  • Ziyi Zhang (M.S. student, Fall 2017-Spring 2019; graduated)
  • Austin Marino (REU student, Summer 2019)
  • Malinda Dilhara (Undergrad student, 2017)
  • Brandon Campbell (Undergrad, Fall 2018)
  • Linh Nguyen (Undergrad, Summer 2017)

  • Teaching
  • CptS 422 Software Engineering Principles II: Fall 2018, Fall 2019
  • CptS 583 Software Quality: Fall 2017, Fall 2018, Spring 2020
  • CptS 322 Software Engineering Principles I: Fall 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020

  • Professional Services
    Organizing committee:
  • Program Co-chair, IEEE/ACM International Conference on Mobile Software Engineering and Systems (MobileSoft), SRC track, 2020
  • Program Co-chair, IEEE/ACM International Conference on Mobile Software Engineering and Systems (MobileSoft), SRC track, 2019
  • Journal Board Membership:
  • ACM TOSEM Board of Distinguished Reviewers, 2019 -
  • Journal referee:
  • IEEE Transactions on Software Engineering (TSE), 2018, 2019
  • ACM Transactions on Software Engineering and Methodology (TOSEM), 2018, 2019
  • IEEE Access, 2018, 2019
  • ACM Digital Threats: Research and Practice (DTRAP), 2019, 2020
  • Information and Software Technology (IST), 2018
  • Automated Software Engineering (AUSE), 2020
  • Expert Systems with Applications (ESWA), 2018, 2019, 2020
  • Journal of Information Science and Engineering, 2018, 2020
  • Journal of King Saud University - Computer and Information Sciences, 2018
  • IEEE Transactions on Information Forensics and Security (TIFS), 2017, 2020
  • IEEE Transactions on Parallel and Distributed Systems (TPDS), 2017, 2018, 2019
  • IEEE Transactions on Dependable and Secure Computing (TDSC), 2016, 2017, 2020
  • Journal of Systems and Software (JSS), 2016, 2017, 2019
  • Empirical Software Engineering (EMSE), 2016, 2017
  • Computers & Security, 2019
  • Symmetry, 2019, 2020
  • Sensors, 2019
  • Human-centric Computing and Information Sciences (HCIS), 2018, 2019
  • Journal of Computer Virology and Hacking Techniques (JICV), 2016, 2017, 2018, 2019
  • Knowledge and Information Systems (KAIS), 2017
  • Frontiers of Information Technology & Electronic Engineering, 2017
  • IEEE Transactions on Reliability (TRE), 2016, 2018, 2019
  • Conference program committee:
  • International Conference on Program Comprehension (ICPC) - ERA Track, 2020
  • International Conference on Software Analysis, Evolution, and Reengineering (SANER) - ERA Track, 2020
  • IEEE/ACM International Conference on Automated Software Engineering (ASE), 2019
  • ACM Student Research Competition (ACM SRC), 2019
  • International Workshop on Software Security from Design to Deployment (SEAD), 2019
  • International Conference on Program Comprehension (ICPC) - Negative Results Track, 2019
  • IEEE SecDev 2018
  • International Workshop on Advances in Mobile App Analysis (A-Mobile), 2018, 2019
  • International Conference on Software Maintenance and Evolution (ICSME) - Tool Track, 2017, 2018
  • International Conference on Software Engineering Advances (ICSEA), 2015, 2016, 2017, 2018, 2019
  • International Workshop on Program Debugging (IWPD), 2015, 2016, 2017
  • International Conference on Virtual Reality and Visualization (ICVRV), 2016
  • Journal/conference reviewer:
  • Computers & Security (CS), 2015
  • The Computer Journal (COMPJ), 2014
  • Software Quality Journal (SQJ), 2014
  • IEEE Transactions on Reliability (TRE), 2014
  • Science of Computer Programming (SCP), 2014
  • Journal of Object Technology (JOT), 2013
  • Software Testing, Verification and Reliability (STVR), 2013
  • Journal of Systems and Software (JSS), 2012
  • ACM Conference on Security and Privacy in Wireless and Mobile Networks (WiSec), 2017
  • ACM Conference on Computer and Communications Security (CCS), 2016
  • Annual Computer Security Applications Conference (ACSAC), 2016
  • IEEE Conference on Communications and Network Security (CNS), 2016
  • ACM Symposium on Information, Computer and Communications Security (AsiaCCS), 2016
  • ACM Conference on Data and Applications Security (CODASPY), 2016
  • International Conference on Software Maintenance and Evolution (ICSME) - Tool Track, 2015
  • International Computers, Software & Applications Conference (COMPSAC), 2014
  • International Workshop on Program Debugging (IWPD), 2012

  • Released Software (Code repository)
  • D2ABS: A framework for dynamic dependence analysis of distributed software (Sponsored by NSF CCF-1936522)
  • HPC-cruise: scalable whole-system data-flow analysis framework for HPC software (Sponsored by DOE/PNNL)
  • DroidCat: A robust dynamic Android malware detector and classifier(Sponsored by WSU Office of Research)
  • ICC-Inspect: A dynamic Android app understanding tool
  • DroidFax: A toolkit for systematic characterization of Android apps
  • DistIA: A simple impact analyzer for distributed systems
  • DiaPro: A dynamic impact analysis framework with customizable cost-effectiveness
  • Diver: Hybrid program dependence approximation and trace-based online impact prediction
  • MDG: A method-level static dependence abstraction
  • TracerJD: A fine-grained Java program tracer and dynamic dependence analyzer
  • DEAM: A toolkit for comprehensive study of predictive accuracy of dynamic impact analysis
  • SensA: Quantitative semantic dependence approximation and prioritized impact analysis