1. At a computer system, the computer system including a plug-in manager for organizing, describing, and managing a plurality of code analysis plug-ins for analyzing binary code, each code analysis plug-in configured for execution against specific binary code, performing a method for analyzing binary code, the method comprising: an act of receiving binary code; an act of receiving code analysis rules which include one or more queries related to binary code functionality to be run against the received binary code and a prospective set of code changes for the received binary code; an act of the plug-in manager loading a code analysis plug-in, from among the plurality of code analysis plug-ins, specifically configured for execution against the received binary code, the loaded code analysis plug-in including analysis code implementing a query of the one or more queries to be run against the received binary code and the prospective set of code changes for the received binary code; an act of determining that valid results for the query generated by a previous invocation of the analysis code against the received binary code are not cached in a results store prior to invoking the analysis code of the loaded code analysis plug-in; an act of invoking the analysis code of the loaded code analysis plug-in against the received binary code and the prospective set of code changes to generate results for the query in response to determining that valid results for the query are not cached in the results store; an act of caching the generated results in the results store such that when the query is to be run against the received binary code in the future the results for the query can be retrieved from the results store without having to invoke the analysis code of the loaded code analysis plug-in; and an act of returning the results for the query.