Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Can complexity, coupling, and cohesion metrics be used as early indicators of vulnerabilities?
Chowdhury I., Zulkernine M.  SAC 2010 (Proceedings of the 2010 ACM Symposium on Applied Computing, Sierre, Switzerland, Mar 22-26, 2010)1963-1969.2010.Type:Proceedings
Date Reviewed: Feb 15 2011

Dealing with complexity is the third most important concern for software engineers. This wonderful paper proposes that “complexity, coupling, and cohesion [...] can be measured and used to evaluate the quality of software.”

Table 2 is a terrific compilation of the notions of software complexity. The skills of the development staff and the size of the project must be managed first, before complexity can be addressed. I would have liked to see a distinction being made between processing and interfacing objects, components, and modules.

Chowdhury and Zulkernine report in this paper on the application of a complexity, coupling, and cohesion metric to five releases of Mozilla Firefox code, with interesting results. But in order to prove their general utility, the metrics should also be applied to other bodies of code.

The finding in Section 3.3.1 that “inheritance complexity can be used as a good indicator of vulnerabilities in Mozilla Firefox” fits with my software engineering prescriptions that minimize inheritance to very few object classes that have more than two levels: “no more than one third [of the objects] should have an inheritance level of more than 3” [1].

Section 3.3.5 tests stability across releases in a quite innovative way. The paper offers a modest yet insightful suggestion that “security assessment can be directed to highly complex, coupled and non-cohesive areas of software, as they are more likely to be vulnerable security threats.”

In conclusion, this paper is an important, must-read work for software engineers and a good reference.

Reviewer:  Larry Bernstein Review #: CR138794 (1110-1061)
1) Bernstein, L.; Yuhas, C.M. Trustworthy software through quantitative software engineering. Wiley, Hoboken, NJ, 2005.
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Performance Measures (D.2.8 ... )
 
 
Product Metrics (D.2.8 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Performance Measures": Date
Applied software measurement
Jones C., McGraw-Hill, Inc., New York, NY, 1991. Type: Book (9780070328136)
Aug 1 1992
The measurement of locality and the behaviour of programs
Bunt R., Murphy J. The Computer Journal 27(3): 238-253, 1984. Type: Article
Feb 1 1985
Estimating the fault rate function
Jennings T. IBM Systems Journal 31(2): 300-312, 1992. Type: Article
May 1 1994
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy