[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ Skip to main content
Log in

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

  • Published:
Software Quality Journal Aims and scope Submit manuscript

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.

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

Access this article

Subscribe and save

Springer+ Basic
£29.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (United Kingdom)

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

Notes

  1. This and other references to the Linux source code refer to kernel version 2.4.20, in order to be able to draw comparisons with previous studies, especially (Yu et al., 2004).

  2. In what follows, for brevity we use the informal terminology “fields of task_struct” rather than the more precise “fields of instances of type task_struct.”

  3. More precisely, what has been created is a reference to an existing global variable. From the viewpoint of a programmer, however, the effect is as if a new global variable has been created.

References

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

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

  • Hollander, M., Wolfe, D.A. 1973. Nonparametric Statistical Methods. John Wiley & Sons.

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

  • Jones, C. 1995. Patterns of Software System Failure and Success. Intl Thomson Computer Pr (Sd).

  • Myers, G. 1974. Reliable Software Through Composite Design. Mason and Lipscomb Publishers.

  • 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 

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

  • Schach, S.R. 2007. Object-Oriented and Classical Software Engineering, 7th edition. McGraw-Hill.

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

  • 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 

  • Stevens, W.P., Myers, G.J., Constantine, L.L. 1974. Structured design. IBM Syst J 13(2):115–139.

  • Yourdon, E., Constantine, L.L. 1979. Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design, Englewood Cliffs, NJ: Prentice Hall.

  • 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 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stephen R. Schach.

Additional information

D. G. Feitelson: On sabbatical leave from Hebrew University.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Schach, S.R., Adeshiyan, T.O.S., Balasubramanian, D. et al. Common coupling and pointer variables, with application to a Linux case study. Software Qual J 15, 99–113 (2007). https://doi.org/10.1007/s11219-006-9005-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-006-9005-0

Keywords

Navigation