Pictured at 10/2016 Haipeng Cai
Assistant Professor
School of Electrical Engineering and Computer Science (EECS)
Washington State University, Pullman, WA
EME B47 | hcai dot eecs dot wsu dot edu
LinkedIn Profile      Personal Blog      SourceForge Profile
Github Profile      Recent projects on Bitbucket

  • For Prospective Students: I am looking for self-motivated and qualified PhD students who are interested in software engineering research, with particular focus on program analysis and its applications for the reliability and security of evolving software systems. Please email me with your CV if interested.

    Research Interests 
    Software engineering, program analysis, software reliability, software evolution, software security

    Research Projects
  • DistSEC: Multivariate dependence abstraction for securing distributed systems
  • DistPerf: Distributed systems performance diagnosis with dynamic program approximation
  • AndroDive: Characterizing and securing Android ecosystem evolution
  • EvoSEC: Incremental security defense for evolving mobile software

  • Teaching
  • CptS581 Software Quality: Fall 2017
  • CptS322 Software Engineering Principles I: Fall 2016, Spring 2017

  • Selected Publications (Full List)
    Hybrid Program Dependence Approximation for Effective Dynamic Impact Prediction. Haipeng Cai. IEEE Transactions on Software Engineering (TSE), 2017. [pdf, project]
     
    Method-Level Program Dependence Abstraction and Its Application to Impact Analysis. Haipeng Cai and Raul Santelices. Journal of Systems and Software (JSS), volume 122, pp. 311-326, December 2016. [pdf, project]
     
    DistIA: A Cost-Effective Dynamic Impact Analysis for Distributed Programs. Haipeng Cai and Douglas Thain. 31st IEEE/ACM International Conference on Automated Software Engineering (ASE '16), pp. 344-355, September 2016. [pdf, technical report, slides, project]
     
    DIAPRO: Unifying Dynamic Impact Analyses for Improved and Variable Cost-Effectiveness. Haipeng Cai, Raul Santelices, and Douglas Thain. ACM Transactions on Software Engineering and Methodology (TOSEM), Volume 25, Issue 2, Article No. 18, 2016. [pdf, project]
     
    Prioritizing Change-Impact Analysis via Semantic Program-Dependence Quantification. Haipeng Cai, Raul Santelices, and Siyuan Jiang. IEEE Transactions on Reliability (TRE), Volume 65, Issue 3, 2016. [pdf, project]
     
    A Comprehensive Study of the Predictive Accuracy of Dynamic Change-Impact Analysis. Haipeng Cai and Raul Santelices. Journal of Systems and Software (JSS), volume 103, pp. 248-265, February 2015. [pdf, project]

    Patents
    Haipeng Cai, Zhigeng Pan, and Jianping Han. Partition video monitoring method based on multipath network video stream parallel processing. Classification: G08B 13/196; G06T 7/20; H04N 7/18, Application No.: CN 200810063001.5, Publication No.: CN 101320505 B. State Intellectual Property Office of China, Sept. 2010.

    Professional Services
    Journal referee/conference committee:
  • IEEE Transactions on Information Forensics and Security (TIFS), 2017
  • IEEE Transactions on Parallel and Distributed Systems (TPDS), 2017
  • Journal of Computer Virology and Hacking Techniques (JICV), 2016, 2017
  • Frontiers of Information Technology & Electronic Engineering, 2017
  • Journal of Systems and Software (JSS), 2016, 2017
  • Empirical Software Engineering (EMSE), 2016, 2017
  • IEEE Transactions on Dependable and Secure Computing (TDSC), 2016
  • IEEE Transactions on Reliability (TRE), 2016
  • International Conference on Software Maintenance and Evolution (ICSME) - Tool Track, 2017
  • International Conference on Software Engineering and Applications (SEA), 2017
  • International Workshop on Program Debugging (IWPD), 2015, 2016, 2017
  • International Conference on Software Engineering Advances (ICSEA), 2015, 2016, 2017
  • International Conference on Virtual Reality and Visualization (ICVRV), 2016
  • International Conference on Fundamentals and Advances in Software Systems Integration (FASSI), 2015, 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)
  • DroidCat: A robust dynamic Android malware detector and classifier
  • 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