I am working towards my masters degree through an online university. As part of this I need to have a final project. I enjoy doing embedded work, but due to the lack of oscilloscopes, power supplies, machining tools to build a robot, I am looking towards doing another kind of application.

I was thinking it would be interesting to create an eclipse plugin that would collect various software metrics. This plugin would integrate seamlessly in the IDE and could collect various metrics about a software project/module/function such as:

1) SLOC
2) Level of cohesion
3) Amount of coupling between modules
4) Cyclomatic Complexity
5) Number of times a module/function is called to suggest good areas for optimization

Some of this information could even be displayed graphically or in list format. For instance, the cyclomatic complexity could on a per function basis such that a user could see which functions have the highest and this would imply that it may be necessary to simplify the code, etc. The amount of coupling between the various modules could also be displayed to show poor design, etc.

I guess my basic question is what you guys think of something like this? Can you offer any other interesting metrics to collect?

Recommended Answers

All 6 Replies

not interesting.
Just buy an osciloscope, they're cheap.

commented: :D +1

You know you wouldn't necessarily need an O-Scope to do something cool with embedded controls. For example, you could get six or seven servos and wire them into a digital circuit. Something simple like an AND > OR > XOR circuit. Then take the output of your gates and put them into a simple ribbon plug in. Now from your computer use the LPT1 port because you can use that port to send and receive digital signals. Now build or buy a simple robotic head or hand or something cool and wire the servos in to control it. Write a program using vb.net or C# utilizing .NET framework 2.0 and have a front end to control the robot. You could even use SAPI from microsoft to do some simple speech commands to control the robot. I am sure this is much more simple than what you need but you could follow that track if you still wanted to use embedded objects without the fancy frequency generators and O-Scopes.

Thanks for you input guys. I have been and will continue to think about this. I actually have access to oscilloscopes and power supplies/function generators at work, but NASA can be a pain in letting people use them for non NASA related work.

I am going to see what I can work out and will continue to think about this and give it a proper reply in a few days.

Thanks again.

> Can you offer any other interesting metrics to collect?
The total number of revisions (across all the branches) divided by the age of the file.

Use it to find files which are being edited rather more often than they should. This could indicate sloppy design, poor testing, vague requirements etc.

Good idea, Salem.

Software matrix is a very important in competitive market. Specially if you plan to start your own business it will be your main asset.

____________
conservatory Fruit Machine

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.