1. A method for generating an application software library comprising the steps of: a static analyser processing a binary input library to identify one or more locations in the binary input library which satisfy a semantic analysis condition; inserting 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 using the metadata.