Practical Machine Learning for Software Engineering and Knowledge Engineering

(File Last Modified Wed, May 29, 2002.)


Review: Practical Machine Learning for Software Engineering and Knowledge Engineering

Problem Addressed

Machine learning is practical for software engineering problems, even in data-starved domains. When data is scarce, knowledge can be farmed from seeds. These seeds can be grown into large datasets via simulations. The datasets can then be harvested using machine learning techniques.

  • Knowledge farming: we are lack of a large library of historical data. we use domain models as a seed to grow data sets using exhaustive or monte carlo simulations.
  • data mining: there exists a large library of historical data that we mine to discover patterns.

Case Studies

case 1:

  • Build a model --- the seed
  • Exhaustively simulate the model ---- growing the seed
  • Summarize the results using machine learning --- harvesting the seed

case 2 - when face great uncertainty of data

  • Extract variables randomly from those ranges
  • Run a model using those variables as inputs
  • Summarize the resulting behavior using machine learning
  • Summarize the resulting behavior using machine learning

case3 - reachability:a test set can uncover no bugs while reaching all features.

Conclusion

When we lack sufficient data for mining, we can go farming. We can seed our knowledge with domain models, then grow and harvest decision trees. Further, if we are unsure of parts of those models, we can use machine learning to identify which areas to explore and which to ignore.

Build 11. Apr 12, 2003


  *  Home

  *  About this site

Literature Review
  *  Data Mining

  *  Machine Learning

  *  Software Engineering

  *  Research Notes



A

argueless.pod
How to argue less


M

mysterious.pod
The Mysterious Case of The Missing Reusable Class Libraries

ml4re.pod
Machine Learning for Requirements Engineering

ml4se.pod
Practical Machine Learning for Software Engineering and Knowledge Engineering


P

pigE.pod
An Expert System for Raising Pigs


R

reasoning.pod
Better reasoning about software engineering activities


W

whatif.pod
Practical Large Scale What-if Queries: Case Studies with Software Risk Assessment