Funco

A Functional Cohesion Software Measurement Tool for C Programs


Funco is a new functional cohesion and design-level cohesion measurement tool for C Programs. The beta version of Funco is now available. It is distributed freely with sources under the Copyleft policy of the Free Software Foundation.
Funco is the first prototype tool to automatically generate the functional cohesion measures defined by Bieman and Ott in "Measuring Functional Cohesion," IEEE Transactions on Software Engineering 20(8), Aug. 1994, and the design-level cohesion measures defined by Bieman and Kang in "Measuring Design-Level Cohesion," IEEE Transactions on Software Engineering 24(2), Feb. 1998. Funco is designed to run in a UNIX environment to analyze C programs developed using the gcc compiler.

Funco is the only automated tool for measuring functional cohesion and design-level cohesion. It measures the extent to which a module approaches the ideal of functional cohesion. For each function in an input source, Funco creates "data slices" and generates three functional cohesion measures: Weak Functional Cohesion (WFC), Strong Functional Cohesion (SFC), and Adhesiveness (A). These measures are based on the interactions between data slices. Funco also generates summary and related statistics for the input source file.

Design-level cohesion is the cohesion of the a C functions interface. More information on Funco's new design-level cohesion measures to be posted here soon.

Choices:

  • To download Funco.
  • More Funco information.
  • Example Funco computationin postscript, in GIF format.
  • A long postscript technical report describing the functional cohesion measures implemented by Funco.
  • For a published article about the functional cohesion measures implemented by Funco see Bieman and Ott, "Measuring Functional Cohesion," IEEE Transactions on Software Engineering 20(8), Aug. 1994.
  • For definitions of the design level cohesion measures implemented by Funco see Bieman and Kang, "Measuring Design-Level Cohesion," IEEE Transactions on Software Engineering 24(2), Feb. 1998.
  • Coming soon: Try Funco on our machines.
  • Funco copyrights/copyleft and Gnu.
  • Funco was developed with support from NASA Langley Research Center grant NAG1-1461. Jim Bieman is the Principal Investigator for this project. Funco was designed and implemented by Byung-Kyoo (Benjamin) Kang, the Graduate Research Assistant on this project.

    You are visitor number since January 8, 1997.

    The Funco web pages are still under construction. Watch this page for further developments.
    Last updated Wednesday, January 8, 1997
    Index terms: software measurement, software metrics, functional cohesion, glue, super-glue, adhesiveness, Funco, program analysis, software engineering tools, C software, program slices, measurement theory, software engineering.