HACKAR: Helpful Advice for Code Knowledge and Attack Resilience

Authors

  • Ugur Kuter Smart Information-Flow Technologies
  • Mark Burstein Smart Information-Flow Technologies
  • J. Benton Smart Information-Flow Technologies
  • Daniel Bryce Smart Information-Flow Technologies
  • Jordan Thayer Smart Information-Flow Technologies
  • Steve McCoy Smart Information-Flow Technologies

DOI:

https://doi.org/10.1609/aaai.v29i2.19059

Abstract

This paper describes a novel combination of Java program analysis and automated learning and planning architecture to the domain of Java vulnerability analysis. The key feature of our “HACKAR: Helpful Advice for Code Knowledge and Attack Resilience” system is its ability to analyze Java programs at development-time, identifying vulnerabilities and ways to avoid them. HACKAR uses an improved version of NASA’s Java PathFinder (JPF) to execute Java programs and identify vulnerabilities. The system features new Hierarchical Task Network (HTN) learning algorithms that (1) advance stateof-theart HTN learners with reasoning about numeric constraints, failures, and more general cases of recursion, and (2) contribute to problem-solving by learning a hierarchical dataflow representation of the program from the inputs of the program. Empirical evaluation demonstrates that HACKAR was able to suggest fixes for all of our test program suites. It also shows that HACKAR can analyze programs with string inputs that original JPF implementation cannot.

Downloads

Published

2015-01-25

How to Cite

Kuter, U., Burstein, M., Benton, J., Bryce, D., Thayer, J., & McCoy, S. (2015). HACKAR: Helpful Advice for Code Knowledge and Attack Resilience. Proceedings of the AAAI Conference on Artificial Intelligence, 29(2), 3987-3992. https://doi.org/10.1609/aaai.v29i2.19059