Software Quality Journal

, Volume 15, Issue 1, pp 99–113 | Cite as

Common coupling and pointer variables, with application to a Linux case study

  • Stephen R. Schach
  • Tokunbo O. S. Adeshiyan
  • Daniel Balasubramanian
  • Gabor Madl
  • Esteban P. Osses
  • Sameer Singh
  • Karlkim Suwanmongkol
  • Minhui Xie
  • Dror G. Feitelson
Article

Abstract

Both common coupling and pointer variables can exert a deleterious effect on the quality of software. The situation is exacerbated when global variables are assigned to pointer variables, that is, when an alias to a global variable is created. When this occurs, the number of global variables increases, and it becomes considerably harder to compute quality metrics correctly. However, unless aliasing is taken into account, variables may incorrectly appear to be unreferenced (neither defined nor used), or to be used without being defined. These ideas are illustrated by means of a case study of common coupling in the Linux kernel.

Keywords

Common coupling Aliasing Pointer variables Linux Global variables Definition–use analysis 

References

  1. Binkley, A.B., Schach, S.R. 1998. Validation of the coupling dependency metric as a predictor of run-time failures and maintenance measures. In: 20th Intl Conf. Softw. Eng. pp. 452–455.Google Scholar
  2. Feitelson, D.G., Adeshiyan, T.O.S., Balasubramanian, D., Etsion, Y., Madl, G., Osses, E.P., Singh, S., Suwanmongkol, K., Xie, M., Schach, S.R. 2007. Fine-grain analysis of common coupling and its application to a Linux case study. J Syst. Softw., to appear.Google Scholar
  3. Hollander, M., Wolfe, D.A. 1973. Nonparametric Statistical Methods. John Wiley & Sons.Google Scholar
  4. Johnson, J., Boucher, K.D., Connors, K., Robinson, J. 2001. Project management: the criteria for success. Softwaremag.com, URL www. softwaremag.com/archive/2001feb/CollaborativeMgt.html.Google Scholar
  5. Jones, C. 1995. Patterns of Software System Failure and Success. Intl Thomson Computer Pr (Sd).Google Scholar
  6. Myers, G. 1974. Reliable Software Through Composite Design. Mason and Lipscomb Publishers.Google Scholar
  7. Offutt, A.J., Harrold, M.J., Kolte, P. 1993. A software metric system for module coupling. J Syst. Softw. 20(3):295–308.Google Scholar
  8. Rilling, J., Klemola, T. 2003. Identifying comprehension bottlenecks using program slicing and cognitive complexity metrics. In: 11th IEEE Intl. Workshop Program Comprehension, pp. 115–124.Google Scholar
  9. Schach, S.R. 2007. Object-Oriented and Classical Software Engineering, 7th edition. McGraw-Hill.Google Scholar
  10. Schach, S.R., Jin, B., Wright, D.R., Heller, G.Z., Offutt, A.J. 2002. Maintainability of the Linux kernel. IEE Proc. Softw. 149(2):18–23.Google Scholar
  11. Schach, S.R., Jin, B., Wright, D.R., Heller, G.Z., Offutt, J. 2003. Quality impacts of clandestine common coupling. Softw Quality J 11:211–218.Google Scholar
  12. Stevens, W.P., Myers, G.J., Constantine, L.L. 1974. Structured design. IBM Syst J 13(2):115–139.Google Scholar
  13. Yourdon, E., Constantine, L.L. 1979. Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design, Englewood Cliffs, NJ: Prentice Hall.Google Scholar
  14. Yu, L., Schach, S.R., Chen, K., Offutt, J. 2004. Categorization of common coupling and its application to the maintainability of the Linux kernel. IEEE Trans Softw Eng 30(10):694–706.Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2007

Authors and Affiliations

  • Stephen R. Schach
    • 1
  • Tokunbo O. S. Adeshiyan
    • 1
  • Daniel Balasubramanian
    • 1
  • Gabor Madl
    • 1
  • Esteban P. Osses
    • 1
  • Sameer Singh
    • 1
  • Karlkim Suwanmongkol
    • 1
  • Minhui Xie
    • 1
  • Dror G. Feitelson
    • 1
  1. 1.Department of Electrical Engineering and Computer ScienceVanderbilt UniversityNashvilleUSA

Personalised recommendations