Skip to main content

Applying Intelligent Data Analysis to Coupling Relationships in Object-Oriented Software

  • Conference paper
  • 1656 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2810))

Abstract

Class 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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Agrawal, R.: Fast algorithms for mining association rules. In: Proceedings of the 20th VLDB Conference, Santiago, Chile, pp. 487–499 (1994)

    Google Scholar 

  2. Altman, D.: Practical Statistics for Medical Research. Chapman and Hall, Boca Raton (1997)

    Google Scholar 

  3. Briand, L., Daly, J., Wust, J.: A unified framework for coupling measurement in object-oriented systems. IEEE Transactions on Software Engineering 25(1), 91–121 (1999)

    Article  Google Scholar 

  4. Briand, L., Devanbu, P., Melo, W.: An investigation into coupling measures for C++. In: Proceedings of the 19th International Conference on Software Engineering (ICSE 1997), Boston, USA, pp. 412–421 (1997)

    Google Scholar 

  5. Cooper, G., Herskovitz, E.: A bayesian method for the induction of probabilistic networks from data. Machine Learning 9, 309–347 (1992)

    MATH  Google Scholar 

  6. Counsell, S., Loizou, G., Najjar, R., Mannock, K.: On the relationship between encapsulation, inheritance and friends in C++ software. In: Proceedings of International Conference on Software and Systems Engineering and their Applications, ICSSEA 2002, Paris, France, no page numbers (2002)

    Google Scholar 

  7. Counsell, S., Mendes, E., Swift, S.: Comprehension of object-oriented software cohesion: the empirical quagmire. In: Proceedings of the 10th International Workshop on Program Comprehension (IWPC 2002), Paris, France, pp. 33–42 (2002)

    Google Scholar 

  8. Counsell, S., Newson, P.: Use of friends in C++ software: an empirical investigation. Journal of Systems and Software 53, 15–21 (2000)

    Article  Google Scholar 

  9. Friedman, N., Goldszmidt, M.: Building classifiers using bayesian networks. AAAI/IAAI 2, 1277–1284 (1996)

    Google Scholar 

  10. Heckerman, D., Geiger, D., Chickering, D.M.: Learning bayesian networks: The combination of knowledge and statistical data. In: KDD Workshop, pp. 85–96 (1994)

    Google Scholar 

  11. Kellam, P., Liu, X., Martin, N., Orengo, N., Swift, S., Tucker, A.: Comparing, contrasting and combining clusters in viral gene expression data. In: Proceedings of the IDAMAP 2001 Workshop, London, UK, pp. 56–62 (2001)

    Google Scholar 

  12. Lam, W., Bacchus, F.: Learning bayesian belief networks: An approach based on the MDL principle. Computational Intelligence 10, 269–293 (1994)

    Article  Google Scholar 

  13. Mitchell, B.: A Heuristic Search Approach to Solving the Software Clustering Problem, Ph.D. Thesis, Drexel University, Philadelphia, USA (2002)

    Google Scholar 

  14. Pearl, J.: Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference. Morgan Kaufmann, San Francisco (1988)

    Google Scholar 

  15. Stroustrup, B.: Adding classes to the C language: An exercise in language evolution. Software – Practice and Experience 13, 139–161 (1983)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Counsell, S., Liu, X., Najjar, R., Swift, S., Tucker, A. (2003). Applying Intelligent Data Analysis to Coupling Relationships in Object-Oriented Software. In: R. Berthold, M., Lenz, HJ., Bradley, E., Kruse, R., Borgelt, C. (eds) Advances in Intelligent Data Analysis V. IDA 2003. Lecture Notes in Computer Science, vol 2810. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45231-7_41

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-45231-7_41

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40813-0

  • Online ISBN: 978-3-540-45231-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics