comp.lang.ada
 help / color / mirror / Atom feed
From: sparky!sparky!dwb@uunet.uu.net  (David Boyd)
Subject: Re: McCabe package for Ada?
Date: 19 May 93 22:09:53 GMT	[thread overview]
Message-ID: <1993May19.220953.20443@sparky.imd.sterling.com> (raw)

In article <C7AIDs.K3@crdnns.crd.ge.com>, groleau@e7sa.crd.ge.com (Wes Groleau
X7574) writes:

|> P.S. One thing McCabe doesn't show is what I call "hidden" complexity.
|> Hidden, because it doesn't show on a flow chart or path graph.  This kind of
|> complexity is produced by a technique more than one of my former colleagues
|> was fond of:  That of declaring lots of "flag" variables, and using them to
|> control branching at a point far away from where they were set.  I'd like
|> to see someone come up with a McCabe-like metric where if dotted lines are
|> drawn on a control graph connecting the setting of one of these flags with
|> all tests that depend on that setting, the metric would be affected by 
|> these lines and their nodes.  Whew! What's the complexity metric of that
|> last
|> sentence?!?!? 
|> 
	Actually the McCabe folks have come up with some metrics for just
that situation.  The first is global data complexity (gv(G)) which 
calculates the number of paths through a module which touch global data.
Another metric is user data complexity (uv(G)) which looks at the 
complexity of a module with respect to a single user data element.  Both
of these are extremely usefull to me both from a quality analysis point of
view as well as from a maintenance point of view.  This is especially
usefull if a tool will display the flow graph of all functions which
reference a data element and highlight the paths which reference the
element.  This would make it extremely easy to determine what tests needed
to be run when a given variable changes.

	Another complexity measure they came up with is pathological complexity
 (pv(G))
which measures those truely awfull conditions in code
such as branches into loops or decisions.  You know the stuff you shoot
people for or would only expect from a 10 year olds first program.
-- 
David W. Boyd	             UUCP:     uunet!sparky!dwb
Sterling Software IMD        INTERNET: dwb@IMD.Sterling.COM
1404 Ft. Crook Rd. South     Phone:    (402) 291-8300 
Bellevue, NE. 68005-2969     FAX:      (402) 291-4362

             reply	other threads:[~1993-05-19 22:09 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1993-05-19 22:09 David Boyd [this message]
  -- strict thread matches above, loose matches on Subject: below --
1993-06-07 18:43 McCabe package for Ada? sgi!fido.asd.sgi.com!dblues!jackr
1993-06-05 19:29 David Boyd
1993-06-04 23:53 Kevin Sullivan
1993-06-04 22:07 dog.ee.lbl.gov!network.ucsd.edu!swrinde!cs.utexas.edu!csc.ti.com!tilde.cs
1993-06-04 21:44 Ala n R. Weiss
1993-06-04 21:25 Dani Zweig
1993-06-04 15:47 agate!usenet.ins.cwru.edu!magnus.acs.ohio-state.edu!math.ohio-state.edu!w
1993-06-04  6:24 Dani Zweig
1993-06-03 19:47 dog.ee.lbl.gov!network.ucsd.edu!sdd.hp.com!portal!lisburn!jaime
1993-05-27 17:55 Laurence VanDolsen
1993-05-26 22:42 David Boyd
1993-05-26 20:44 Wes Groleau X7574
1993-05-25 10:52 pipex!uknet!glasgow!unix.brighton.ac.uk!wjmc
1993-05-24 19:36 Alex Blakemore
1993-05-24  0:33 mole-end!mat
1993-05-19 23:04 David Boyd
1993-05-19 21:18 agate!howland.reston.ans.net!darwin.sura.net!haven.umd.edu!news.umbc.edu!
1993-05-19 20:03 Wes Groleau X7574
1993-05-19 15:20 cis.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!howland.
1993-05-19  0:44 sgi!fido.asd.sgi.com!dblues!jackr
1993-05-18 23:42 David Boyd
1993-05-18 21:26 dog.ee.lbl.gov!overload.lbl.gov!agate!howland.reston.ans.net!ux1.cso.uiuc
1993-05-18 19:24 dog.ee.lbl.gov!network.ucsd.edu!usc!howland.reston.ans.net!europa.eng.gte
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox