1. A computer-implemented method for generating an application software library, comprising: processing a binary input library, by a static analyser, to identify one or more locations in the binary input library which satisfy a semantic analysis condition derived from a design requirement implemented in the binary input library, the semantic analysis condition having non-executable metadata associated therewith, the metadata associated with corresponding executable aspect code; inserting the metadata into the binary input library at the one or more locations which satisfy the semantic analysis condition; and linking the binary input library with a binary aspect library to generate the application software library, wherein the binary aspect library includes an aspect definition providing the corresponding executable aspect code associated with the metadata.