1. At a computer system, a method for analyzing binary code, the method comprising: an act of receiving binary code; an act of receiving code analysis rules, at least one code analysis rule indicative of a query related to the functionality of the binary code, the query implemented in analysis code configured to determine results of the query; an act of determining that valid results for the query are not cached in a results store; an act of invoking the analysis code to determine the results for the query; an act of caching the results in the results store such that when the query is received in the future the results can be accessed from the results store without having to invoke the analysis code to determine the results; and an act of returning the results for the query.