Download presentation
Presentation is loading. Please wait.
Published byVeronica Hood Modified over 9 years ago
1
CPT Week, Apr 2002 http://iguana.cern.chApril, 2002 Lassi A. Tuura, Northeastern University Software Quality with Ignominy Lassi A. Tuura Northeastern University, Boston
2
April, 2002 Lassi A. Tuura, Northeastern University http://iguana.cern.ch 2 ignominy: dishonour, disgrace, shame; infamy; the condition of being in disgrace, etc. (Oxford English Dictionary)Ignominy v Model v Examines and reports on direct and transitive source and binary dependencies v Creates reports of the collected results r As a set of web pages r Numerically as metrics r Graphically r As tables Source Code Build Products Metrics Graphs Tables Dependency Database User-defined logical dependencies + ignominy: a suite of perl and shell scripts plus a number of configuration files (IGUANA)
3
April, 2002 Lassi A. Tuura, Northeastern University http://iguana.cern.ch 3Examples See http://iguana.cern.ch/ 2_7_4/dependencies.html
4
April, 2002 Lassi A. Tuura, Northeastern University http://iguana.cern.ch 4 Dependency Analysis v Ignominy scans… r Make dependency data produced by the compilers (*.d files) r Source code for #includes (resolved against the ones actually seen) r Shared library dependencies (“ldd” output) r Defined and required symbols (“nm” output) v And maps… r Source code and binaries into packages r #include dependencies into package dependencies r Unresolved/defined symbols into package dependencies v And warns… about problems and ambiguities (e.g. multiply defined symbols or dependent shared libraries not found) v Produces a simple text file database for the different dependencies: source only, binaries only, combined, forward and reverse, by package, by domain, …
5
April, 2002 Lassi A. Tuura, Northeastern University http://iguana.cern.ch 5Anaphe/Lizard
6
April, 2002 Lassi A. Tuura, Northeastern University http://iguana.cern.ch 6 Single Package Dependencies Cmscan/IgCmscan Testing Level:5 Outgoing edges:6 -from includes:6 (145 files) -from symbols:4 (636 symbols) Incoming edges:1 -from includes:1 (1 file) -from symbols:1 (1 symbol)
7
April, 2002 Lassi A. Tuura, Northeastern University http://iguana.cern.ch 7 Package Metrics r Size = total amount of source code (roughly—not normalised across projects!) r ACD = average component dependency (~ libraries linked in) r CCD = sum of single-package component dependencies over whole release – Indicates testing/integration cost r NCCD = Measure of CCD compared to a balanced binary tree – A good toolkit’s NCCD will be close to 1.0 – < 1.0: structure is flatter than a binary tree (= independent packages) – > 1.0: structure is more strongly coupled (vertical or cyclic) – Aim: Minimise NCCD for given software/functionality
8
April, 2002 Lassi A. Tuura, Northeastern University http://iguana.cern.ch 8 Metrics: NCCD vs Cycles Toolkits & Frameworks ATLAS ORCA Anaphe IGUANA COBRA G4 ROOT
9
April, 2002 Lassi A. Tuura, Northeastern University http://iguana.cern.ch 9Status v Run for every IGUANA release as a part of release build v Canned configuration for any SCRAM-based project r Needs project specific colouring etc. configurations v Works with many other project structures r Tried on G4, ROOT and ATLAS v Plans r Consolidate scripts and fold in all the documentation r Make it somewhat easier to use and configure r Java support with Mark Donszelmann’s jneeds v Available for free at http://iguana.cern.ch/http://iguana.cern.ch/ r See the IGUANA distributions (latest = 2.7.4 recommended) r For questions please mail lassi.tuura@cern.ch or iguana-interest@cern.chlassi.tuura@cern.chiguana-interest@cern.ch
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.