Abstract

AbstractClass coupling lies at the heart of object-oriented (OO) programming systems, since most objects need to communicate with other objects in any OO system as part of the system’s functions. Minimisation of coupling in a system is a goal of every software developer, since overly-coupled systems are complex and difficult to maintain. There are various ways of coupling classes in OO systems. However, very little is known about the different forms of coupling and their relationships. In this paper, three data analysis techniques, namely, Bayesian Networks, Association Rules and Clustering were used to identify coupling relationships in three C++ systems. Encouraging results were shown for the Bayesian Network approach, re-inforcing existing knowledge and highlighting new features about the three systems. Results for the other two techniques were disappointing. With association rules, it was clear that only a very general relationship could be discovered from the data. The clustering approach produced inconsistent results, casting doubt on whether such a technique can provide any insight into module discovery when applied to these type of systems.KeywordsBayesian NetworkAssociation RuleDirected Acyclic GraphCoupling RelationshipBayesian Belief NetworkThese keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call