Software mining

Usually the knowledge obtained from existing software is presented in the form of models to which specific queries can be made when necessary.

An entity relationship is a frequent format of representing knowledge obtained from existing software.

Object Management Group (OMG) developed specification Knowledge Discovery Metamodel (KDM) which defines an ontology for software assets and their relationships for the purpose of performing knowledge discovery of existing code.

Another OMG specification, the Common Warehouse Metamodel focuses entirely on mining enterprise metadata.

Knowledge discovery in software is related to a concept of reverse engineering.