object mining: a practical application of data mining for the construction and maintenance of...
TRANSCRIPT
Object Mining:Object Mining:A Practical Application of Data A Practical Application of Data
Mining for the Construction and Mining for the Construction and Maintenance of Software Maintenance of Software
ComponentsComponents
Anders Torvill BjorvandAnders Torvill Bjorvand
Department of InformaticsDepartment of Informatics
University of OsloUniversity of Oslo
[email protected]@trolldata.no
http://www.trolldata.no/torvill/http://www.trolldata.no/torvill/
ObjectiveObjective
We want to apply data mining We want to apply data mining techniques in the domain of software techniques in the domain of software engineering.engineering.
We focus on Object-Oriented We focus on Object-Oriented Development and call this technique Development and call this technique Object MiningObject Mining
We want to show that this general We want to show that this general principle can help automate construction principle can help automate construction and maintenance of software.and maintenance of software.
Object Mining on datasetsObject Mining on datasets
By analyzing a data set or a domain, we By analyzing a data set or a domain, we obtain a set of attributes/features and a set obtain a set of attributes/features and a set of rules.of rules.
A software A software componentcomponent with these with these attributes as their attributes as their propertiesproperties and the and the rules as its rules as its methodsmethods can easily be can easily be created.created.
If the data mining process finds If the data mining process finds good/representative rules, then the good/representative rules, then the component can be of appropriate qualitycomponent can be of appropriate quality
Example - Credit Example - Credit AssessmentAssessment
Every potential mobile phone Every potential mobile phone customer have their credit-worthiness customer have their credit-worthiness evaluated upon purchase of a phone.evaluated upon purchase of a phone.
This is done automatically, but if the This is done automatically, but if the machine says no, the client is machine says no, the client is evaluated manually.evaluated manually.
How to handle the changing How to handle the changing requirements efficiently ?requirements efficiently ?
Rough EnoughRough Enough
Rough Enough is a general Rough Enough is a general experimental system for data experimental system for data mining based on rough set theory.mining based on rough set theory.
Object Mining has been Object Mining has been implemented in Rough Enough implemented in Rough Enough through the creation of JavaBeans.through the creation of JavaBeans.
Dog ExampleDog ExampleObj.Num.
Breed Tail Hair Size
1 DobermannPincher
Short Short Big
2 Dalmatian Long Short Big
3 CockerSpaniel
Short Long Small
4 GermanShepherd
Long Medium Big
Future Work - IFuture Work - I
To analyze and define both To analyze and define both qualitatively and quantitatively the qualitatively and quantitatively the classes of objects that may be classes of objects that may be produced by object mining.produced by object mining.
To define measures to preserve and To define measures to preserve and handle correctness issues.handle correctness issues.– inconsistency (several possible solutions)inconsistency (several possible solutions)– indeterminacy (no solution)indeterminacy (no solution)
Future Work - IIFuture Work - II
Synthesis of embedded decision Synthesis of embedded decision support systemssupport systems– One of the benefits of such a system is One of the benefits of such a system is
that it can be very lightweight. It is also that it can be very lightweight. It is also self-contained.self-contained.
Object Mining utilizing case based Object Mining utilizing case based reasoning and text mining on domain reasoning and text mining on domain descriptions and analysis/design descriptions and analysis/design patternspatterns
Future Work - IIIFuture Work - III
Applications in the field of Internet Applications in the field of Internet agents. This gets more interesting agents. This gets more interesting with the service layers being with the service layers being implemented alongside IP v. 6 implemented alongside IP v. 6 (Internet II) making the data (Internet II) making the data acquisition on services easier.acquisition on services easier.