All, There are a number of techniques for attempting to figure out which function belongs in which module. These are usually based on various cohesion and coupling metrics.
These metrics can be calculated from the source code. Which functions call or are called by other functions and usage of variables all goes into the equations. I have been reading "Classification and Cognition" by Estes. Which offers some interesting ways of measuring the similarity of an object to a category. The paper "Learning and memorization of classifications" by Shepard et al (Psychological Monographs, Vol 76, No 13) describes a wonderful study (psychologists don't seem to do experiments) of subjects learning and classifying sequences of small/large squares/triangles that are black/white. The problem with the existing techniques for figuring out what to put in each module are: o the source is needed. It might not have been written yet. o it takes no account of what developers might consider to be similar functions. Does anybody know of any research that have looked at how some kind of cognitive metric might be used to figure out what functions belong in each module? Would building a similarity matrix for functions, based on their high level attributes, put them in the same modules that experienced developers would? For instance the trig functions obvious belong in the same module, as would string handle, tree walking functions, etc belong in their own modules. But things are not always as straightforward as these cases. The same problems arise for deciding what identifiers belong to different enumerated types. But here the problem is that measuring interaction, from source code, between them is much more difficult. derek -- Derek M Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:[EMAIL PROTECTED] Applications Standards Conformance Testing http://www.knosof.co.uk - Automatic footer for [EMAIL PROTECTED] ---------------------------------- To unsubscribe from this list, mail [EMAIL PROTECTED] unsubscribe discuss To join the announcements list, mail [EMAIL PROTECTED] subscribe announce To receive a help file, mail [EMAIL PROTECTED] help This list is archived at http://www.mail-archive.com/discuss%40ppig.org/ If you have any problems or questions, please mail [EMAIL PROTECTED]
