views:

44

answers:

1

I am reading an article in IEEE Computer magazine about using data mining on applications.

The part that is intriguing to me is the idea that we can have software that can monitor the execution flow of an program, and put the data into a database, where we can do some data mining.

This data could then be used by a data mining tool to look for information, such as if there is certain patterns that may be called that may lead to changing the API, and, ideally, it may also be able to determine bugs, in that if you have to call functions in some order, it can help detect that.

There are probably other uses, but this would be a start.

So, would such a tool be useful?

I am thinking that AOP may be the only way to really do this on a dynamic application, as you could then track the flow of every call and save the stack, and perhaps gather some other information, such as parameters.

Unfortunately software engineers don't tend to be experts on data mining, and those that do data mining may not be an expert on writing complex applications.

For me, where this would get interesting is to then start to analyze distributed applications, or those using cloud computing, but that may be very complicated.

Second question, is this type of question that should be a community wiki?

+1  A: 

Yes, I think it would be useful. No, it shouldn't be a community wiki.

Check out the book "Programming Collective Intelligence" by Segaran for some good programmatic use of data mining strategies.

ybakos
I will check out the book. Thank you very much.
James Black