Crocodile (V. 2.0, released at Sept.2000)

 

Why is it called "Crocodile"?

Integrating a Product Metrics Tool into a Software Development Environment 

realized by Software and Systems Engineering Group
Project members (alphabetical order:)
Doreen Haase
Claus Lewerentz
Silvio Löffler
Bettina Simon
Frank Simon

The goal of the Crocodile project is to provide concepts and tools for an effective usage of quantitive product measurement to support and facilitate design and code reviews. Our application field is the realm of object oriented programs and, particularly, frameworks.
We developed measurement tools that can be smoothly integrated into software development environments, reusing existing tool sets and integration mechanisms. Our current implementation platform is TakeFive's SNiFF+, an industrial strength interated C++/Java programming environment. We provide an open interface for the definition of user specific quality models using an interpretive metrics and query definition language on top of an SQL database system. A well integrated, easy-to-use, and adaptable tool is the necessary prerequisite to successful application of a metrics approach as an integral part of the development process.
 
Our current version of such a feedback instrument about software quality for engineers during development and evolution of software systems within SNiFF+ is

Crocodile 2.0
(at the moment only for Windows but solaris will come next weeks)

!!NEW!! for Solaris 2.6 (only V. 1.2) and WindowsNT !!NEW!!

Features in Crocodile 2.0:

Package-metrics, File-metrics, Class-Metrics, Attribute-Metrics and Method-Metrics
Define your own metrics with the SQL-like metrics definition language.
Compose your own metric by combination of some basic metrics by using basic math operations.
Define your own absolute or relative thresholds for every metric.
Full support of regular expressions for File-Metrics (e.g. LOC, McCabe etc.).
Extended default quality model (27 metrics),
More intuitive GUI with more feedback while metrics calculation
Distance-Calculator for creating distances between classes and between elements of classes. These data can be used for some statistical work or visualisation technique (tools will be available at this side in some weeks).
Bar-Charts for a short overview of the values by one metric.
Improved inheritance context ("flatten" for any number of inheritance levels),
Expanded database structure for very large member names (e.g. methods)

*Public Domain Download*
problems with downloading ? Please mail to simon@informatik.tu-cottbus.de

Have a look into a sample session of Crocodile 1.1 (sorry, no newer session available... but we are working on this problem)
also available as PDF-document (you need a PDF-Reader)
getacrobat.gif (712 Byte)

 
Because Crocodile is a research project, we are always interested in feedback about the tool. Additional we are looking for industry partners who are interested in a cooperation for measuring their large projects.
Please contact Frank Simon (simon@informatik.tu-cottbus.de).

Our current Project Partners:

ABB Logo Konzernforschungszentrum, Heidelberg
(opens a new browser)

ABB Logo Calor Emag Schaltanlagen AG, Mannheim
(opens a new browser)

TakeFive Logo Salzburg/Zürich
(opens a new browser)

IBL Ingenieurbüro Letters
(opens a new browser)

Current used measures in Crocodile1.2 (new metrics of Crocodile 2.0 will be explained here in some weeks)

NoP (Number of parents)
NopubA (Number of public Attributes)
NopubM (Number of public methods)
NoGetSetM (Number of Getting-Methods)
effCBO (Efferent Coupling between objects)
affCBO (Afferent Coupling between objects)
WMC (Weighted methods count)
COC (Character of Code)
LCOM (Lack of cohesion of methods)
NoaCl (Number of abstract classes)
NoovMSubCl (Number of methods overridden by subclass)
NoInhM (Number of methods inherited by a subclass)
NoMaSubCl (Number of methods added by a subclass)

Requirements

Hardware
SUN
or
PC
Software
Solaris 2.6, SNiFF+ 3.x, OSF/motif
or
Windows NT 4.0, SNiFF+ 3.x or SNIFF 4.x

Crocodiles components

Database:

(opens a new browser)
Datatypes and Algorithms:

(opens a new browser)
GUI:

(opens a new browser)

Slide Show : "Integrating an Object-Oriented Metrics Tool into SNiFF+"

Talk at the SNiFF+ User Conference in Salzburg, Austria on January, 23 1998.

Research Papers

Frank Simon, Heinrich Rust, Claus Lewerentz: "Quality - Metrics - Numbers - Consequences: Lessons learned", will be published in proceedings of 9. workshop of GI-working group "Software-Metrics", 30.9. to 1.10.99, Regensburg

Abstract | PS.ZIP | Pdf-File

Frank Simon, Silvio Löffler: "Semiautomatische, kohäsionsbasierte Subsystembildung", will be published in proceedings of 9. workshop of GI-working group "Software-Metrics", 30.9. to 1.10.99, Regensburg

Abstract | PS.ZIP | Pdf-File

Frank Simon, Silvio Löffler, Claus Lewerentz: "Distance based cohesion measuring", in proceedings of the 2nd European Software Measurement Conference (FESMA) 99, Technologisch Instituut Amsterdam, ISBN 90-76019-07-X, 1999

Abstract | PS.ZIP | Pdf-File

Frank Simon, Gerd Köhler, Heinrich Rust: "Understanding object oriented software systems without source code inspection", to be presented on the ECOOP99-workshop "Experiences in Reengineering"

Abstract | PS.ZIP | Pdf-File

Frank Simon, Gerd Köhler, Heinrich Rust: "An Assessment of large object oriented Software Systems: A metrics based process", in proceedings of the Object-Oriented Product Metrics for Software Quality Assessment Workshop on 12th European Conference on object-oriented programming, CRIM Montreal, ISBN 2-921316-87-0, p 16-23, 1998

Abstract | PS.ZIP | Pdf-File

Frank Simon, Claus Lewerentz: "A product metrics tool integrated into a software development environment", in proceedings of the Object-Oriented Product Metrics for Software Quality Assessment Workshop on 12th European Conference on object-oriented programming, CRIM Montreal, ISBN 2-921316-87-0, p 36-41, 1998

Abstract | PS.ZIP | Pdf-File

Frank Simon, Claus Lewerentz: "Integration of an object-oriented metrics tool into SNiFF+", Technical Report No. I-22/1997, Brandenburgische Technische Universität Cottbus, 1997.

Abstract | PS.ZIP | Pdf-File

Karin Erni, Claus Lewerentz: "Applying Design-Metrics to Object-Oriented Frameworks" in "Software Metrics Symposium" , p. 64-74, IEEE Computer Society Press, 1996.

Abstract | PS.ZIP | Pdf-File

Crocodile is developed by:

Doreen Haase, Claus Lewerentz, Silvio Löffler, Frank Simon
Software and Systems Engineering Group

Computer Science Department, Technical University Cottbus

© tst@informatik.tu-cottbus.de
Last update: 02-10-00