Better reasoning about software engineering activities

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


Review: Better reasoning about software engineering activities

Problem Addressed

  • Software management experience can be encoded into an oracle that can offer advise on how to structure a software project. Three components are required:
     a knowledge source (basis)
     a syntax (to encode)
     an interpreter (to excute)
  • Stochastic simulation samples a subset of possible behaviors (by the form of datalog).
  • Those possible behaviors can then be summarized to find the controllers.

Approach Proposed

  • knowledge source: a detailed description of CMM2
  • syntax: JANE language
  • ``Chances'' weight used to handle degrees of belief, varies according to distributions during the simulation.
  • TAR2 treatment learner is used to summarize the datalog and find controllers.

Details

  • JANE supports 2 mechanisms for random search:

    When defining ``costs'' and ``chances'', a rane and a skew can be provided.

    JANE uses several novel operators including conjuctive operators, simple disjunctive operators and summing disjunctive operators.

  • The CMM2 model is written in JANE.
  • Learning from JANE is done by the TAR2 treatment learner.

Conclusion

TAR2 found three best treatments which are constraints that can improve the overall result.

Comments

  • The approach discussed in this paper can be summarized as: lightweight modelling --> randomized simulation --> summarization via machine learning. The underlying idea is: sample possibilities through random search and find controllers in the search space.
  • I think this is Dr. Menzies's research thesis and the answer to my initial question: what can artificial intelligence (or machine learning) do for software engineering. I'm so glad to have this whole picture after these months' study.
  • For a more practical research project, I hope to have a real world model on which we can apply the approach and see if the learning derived will actually have the impact. Yeah, this is exciting.

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