Software mining

Software mining

Software mining is a promising application of knowledge discovery in the area of software modernization which involves understanding existing software artifacts. This process is related to a concept of reverse engineering. 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.

oftware mining and data mining

Software mining is closely related to data mining, since existing software artifacts contain enormous business value, key for the evolution of software systems. Knowledge discovery from software systems addresses structure, behavior as well as the data processed by the software system. Instead of mining individual data sets, software mining focuses on metadata, such as database schemas. OMG Knowledge Discovery Metamodel provides an integrated representation to capturing application metadata as part of a holistic existing system metamodel. Another OMG specification, the Common Warehouse Metamodel focuses entirely on mining enterprize metadata.

Levels of software mining

"Knowledge discovery in software" is related to a concept of reverse engineering. Software mining addresses structure, behavior as well as the data processed by the software system.

Mining software systems may happen at various "levels":

* program level (individual statements and variables)
* design pattern level
* call graph level (individual procedures and their relationships)
* architectural level (subsystems and their interfaces)
* data level (individual columns and attributes of data stores)
* application level (key data items and their flow through the applications)
* business level (domain concepts, business rules and their implementation in code)

Forms of representing the results of Software Mining

*data model
*metadata
*metamodels
*ontology
*Knowledge representation
*business rule
*Knowledge Discovery Metamodel (KDM)
*Business Process Modeling Notation (BPMN)
*intermediate representation
*Resource Description Framework (RDF)
*abstract syntax tree (AST)
*software metrics
*graphical user interfaces [ [http://java.dzone.com/news/interview-creator-metawidget-a Interview] with the creators of [http://www.metawidget.org Metawidget] ]

References


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Software modernization — is the process of understanding and evolving existing software assets. [cite book| author=Object management Group| title=Why do we need standards for the modernization of existing systems| url= http://www.kdmanalytics.com/kdm/ADM… …   Wikipedia

  • Mining simulator — A mining simulator is a system used to replicate elements of mining operations, for training or efficiency analysis. Mining simulation application can range from pure statistical analysis, to scale models, all the way to replica cabins of mining… …   Wikipedia

  • Software visualization — [(Diehl, 2002; Diehl, 2007; Knight, 2002)] is concerned with the static or animated 2 D or 3 D [(Marcus et al., 2003)] visual representation of information about software systems based on their structure [(Staples Bieman, 1999), size (Lanza,… …   Wikipedia

  • Software engineering — (SE) is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software.[1] It is the… …   Wikipedia

  • Software agent — In computer science, a software agent is a piece of software that acts for a user or other program in a relationship of agency, which derives from the Latin agere (to do): an agreement to act on one s behalf. Such action on behalf of implies the… …   Wikipedia

  • Mining in Australia — Super Pit gold mine at Kalgoorlie in Western Australia is Australia s largest open pit mine Mining in Australia is a significant primary industry and contributor to the Australian economy. Historically, mining booms have also encouraged… …   Wikipedia

  • Software engineering demographics — There are many software engineers. Canada, the European Union, Japan, and Australia will probably find corresponding numbers of SE practitioners. European Union [http://europa.eu/index en.htm] India There has been a healthy growth in the number… …   Wikipedia

  • Mining — This article is about the extraction of geological materials from the Earth. For the municipality in Austria, see Mining, Austria. For the siege tactic, see Mining (military). For name of the Chinese emperor, see Daoguang Emperor. Simplified… …   Wikipedia

  • Mining engineering — Surface coal mine with haul truck in foreground Mining engineering is an engineering discipline that involves the practice, the theory, the science, the technology, and application of extracting and processing minerals from a naturally occurring… …   Wikipedia

  • Software industry in the People's Republic of China — China s software industry grew at a compound annual growth rate of more than 39% over the period from 2001 to 2007 to reach RMB 506 billion and is further anticipated to grow at a CAGR of nearly 22% through 2012. Contents 1 Growth 2 Top Chinese… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”