object mining: a practical application of data mining for the construction and maintenance of...

9
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 Components Components Anders Torvill Bjorvand Anders Torvill Bjorvand Department of Informatics Department of Informatics University of Oslo University of Oslo [email protected] [email protected] http://www.trolldata.no/torvill/ http://www.trolldata.no/torvill/

Upload: zachary-ramos

Post on 26-Mar-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Object Mining: A Practical Application of Data Mining for the Construction and Maintenance of Software Components Anders Torvill Bjorvand Department of

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/

Page 2: Object Mining: A Practical Application of Data Mining for the Construction and Maintenance of Software Components Anders Torvill Bjorvand Department of

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.

Page 3: Object Mining: A Practical Application of Data Mining for the Construction and Maintenance of Software Components Anders Torvill Bjorvand Department of

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

Page 4: Object Mining: A Practical Application of Data Mining for the Construction and Maintenance of Software Components Anders Torvill Bjorvand Department of

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 ?

Page 5: Object Mining: A Practical Application of Data Mining for the Construction and Maintenance of Software Components Anders Torvill Bjorvand Department of

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.

Page 6: Object Mining: A Practical Application of Data Mining for the Construction and Maintenance of Software Components Anders Torvill Bjorvand Department of

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

Page 7: Object Mining: A Practical Application of Data Mining for the Construction and Maintenance of Software Components Anders Torvill Bjorvand Department of

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)

Page 8: Object Mining: A Practical Application of Data Mining for the Construction and Maintenance of Software Components Anders Torvill Bjorvand Department of

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

Page 9: Object Mining: A Practical Application of Data Mining for the Construction and Maintenance of Software Components Anders Torvill Bjorvand Department of

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.