14. A system for scanning an item of executable binary code prepared from a program written in a programming language having a security specification, the method employing a model checker and executing on a host computer processor, the system comprising: a receiving module for receiving an item of executable binary code; a parsing module for preparing a data structure corresponding to the item of executable binary code by parsing the executable binary code to extract executable elements; a language metadata module for providing a language definition file corresponding to the programming language, the language definition file comprising rules defining the format of instructions in the programming language, and for providing a static model corresponding to the programming language, the static model comprising rules defined from the security specification of the programming language; a composite module for creating a composite model of the executable binary code by supplementing the data structure with information from the language definition file, and with information from the static model, the composite model having a format for processing by a model checker; a segmentation module for segmenting the composite model into a plurality of segments, the segmentation module configured to: divide the composite model into a plurality of initial, consecutive segments, including at least a first segment; and change a distribution of instructions among the segments by, for each segment after the first segment, assessing at least the first instruction in each segment, and moving the at least first instruction to an immediately preceding segment if that at least first instruction is not a transfer instruction; and a model checker configured to analyze each of the plurality of segments, and to analyze boundaries of the segments, of the composite model according to the rules defining the format of instructions in the programming language, and/or the rules defined from the security specification of the programming language, and to produce a result, the result comprising an indication that the binary code contains malware.
14. A system for scanning an item of executable binary code prepared from a program written in a programming language having a security specification, the method employing a model checker and executing on a host computer processor, the system comprising: a receiving module for receiving an item of executable binary code; a parsing module for preparing a data structure corresponding to the item of executable binary code by parsing the executable binary code to extract executable elements; a language metadata module for providing a language definition file corresponding to the programming language, the language definition file comprising rules defining the format of instructions in the programming language, and for providing a static model corresponding to the programming language, the static model comprising rules defined from the security specification of the programming language; a composite module for creating a composite model of the executable binary code by supplementing the data structure with information from the language definition file, and with information from the static model, the composite model having a format for processing by a model checker; a segmentation module for segmenting the composite model into a plurality of segments, the segmentation module configured to: divide the composite model into a plurality of initial, consecutive segments, including at least a first segment; and change a distribution of instructions among the segments by, for each segment after the first segment, assessing at least the first instruction in each segment, and moving the at least first instruction to an immediately preceding segment if that at least first instruction is not a transfer instruction; and a model checker configured to analyze each of the plurality of segments, and to analyze boundaries of the segments, of the composite model according to the rules defining the format of instructions in the programming language, and/or the rules defined from the security specification of the programming language, and to produce a result, the result comprising an indication that the binary code contains malware. 16. The system for scanning an item of executable binary code according to claim 14 , further comprising a library module, the library module for storing a plurality of previously analyzed segments, and wherein the model checker is configured to access one or more of the previously analyzed segments instead of performing a new analysis of a one of the plurality of segments.