Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!bellcore!grumpy!bytor From: bytor@ctt.bellcore.com (Ross Huitt) Newsgroups: comp.software-eng Subject: Re: OOP in the "real world" Message-ID: <1991Jun26.221144.6532@bellcore.bellcore.com> Date: 26 Jun 91 22:11:44 GMT References: <1991Jun21.200139.14639@den.mmc.com> Sender: usenet@bellcore.bellcore.com (Poster of News) Reply-To: bytor@ctt.bellcore.com (Ross Huitt) Organization: Bellcore Lines: 66 Sorry this is a little late. New mailer... In article <1991Jun21.200139.14639@den.mmc.com>, herkimer@tigercat.den.mmc.com (Don Herkimer) writes: |> In article , bglenden@colobus.cv.nrao.edu (Brian Glendenning) writes: |> |> |> |> We have a large software system (~600k lines of code - Fortran and C) |> |> which is starting to show its age... [...stuff...] |> |> -- |> |> Brian Glendenning - National Radio Astronomy Observatory |> |> bglenden@nrao.edu bglenden@nrao.bitnet (804) 296-0286 |> In my group at Martin Marietta we have been (re)using a large OO commercial package called the Analyst, from Xerox Special Information Systems (XSIS). It is written in Smalltalk-80 and consists of |> |> ~3.8M bytes of source code |> ~661 classes |> ~14K methods |> |> If we estimate ~25 "lines of code" per method, this application weighs in at about 350 KSLOC. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Let's try some basic math: 3.8 meg of source / 14k methods = 271 bytes per method 271 byte per method / 25 lines per method = 11 bytes per line I don't buy it. I've been doing some preliminary metrics gathering on OO systems. The two largest commercial/public systems I've looked at were the NIHCL C++ class libraries and the Smalltalk/V images. The numbers I've been getting are typically on the order of 3 lines of code per method. (The C++ LOCs were executable statements as defined in the BNF, the Smalltalk LOCs were Non-Comment/Non-Blank Source Lines.) This is also true of smaller systems I've seen. If we use 3 lines per method with your 14k methods this would yield about 42K 'statements'. If you triple this to get an estimate of the Raw Source Code Lines (ala wc -l) then you get a system that's about 126KLOC (everything included). This is roughly half of your estimate. Yes, its a big system, but I don't think that 350KSLOC is correct by any definition of LOC. ( 11 bytes pe r line woul d be a bit small for a system in a ny language ,even Small talk. :-) |> Don Herkimer |> 303-977-9580 |> Martin Marietta Space Launch Systems |> herkimer@tigercat.den.mmc.com Anybody else have any numbers they would like to share? Ross Huitt Bell Communications Research (908) 699-2973 bytor@ctt.bellcore.com