View
220
Download
0
Embed Size (px)
Citation preview
On a Literature/Tool Review
on Software Metrics Tools
Gordana Rakic
Contents Motivation Goal Criteria Tools Summary Related works Conclusion
Motivation (1) Earlier stated goals – to develop tool which
Is platform independent Is programming language independent Supports as much as possible metrics Interprets the meaning of computed numerical results Provides suggestion what typical actions should be taken
in order to improve the software quality Discourages cheating Is sensitive to the existence of additional code
Motivation (2)
Contents Motivation Goal Criteria Tools Summary Related works Conclusion
Goal of the review
To answer the question:
“IS OUR PLAN GOOD ENOUGH???”
With special attention to first and second phases and tool characteristics related to it
Contents Motivation Goal Criteria Tools Summary Related works Conclusion
Criterions Platform dependency Programming language dependency Supported metrics History of code storing facility History of metrics storing facility
Contents Motivation Goal Criteria Tools Summary Related works Conclusion
Tools (1)Code Counter Pro (by GeroneSoft)
Runs on Windows Operating System Language independent Few LOC metrics Code History – NO Metrics history supported - .CSV, .XML, .HTML files
SLOC (by David A. Wheeler) similar but for Linux OS
Tools (2) Source Monitor (by Campwood Software)
Runs on Windows 8 supported programming languages
(C++, C#, C, VB, VB.NET, Java, Delphi, HTML) 11 supported metrics
(style, OO) Code history – NO Metrics history supported - .CSV, .XML, .HTML
files
Tools (3) Understand (by SciTool)
Multiplatform tool – not completely platform independent 9 programming languages supported
(Ada, C++, C#, FORTRAN, Java, JOVIAL, Delphi/Pascal, and/or PL/M)
More than 65 metrics supported Code history – NO Metrics history supported - comma delimited text files
Tools (4) RSM - Resource Standard Metrics
(by M Squared Technologies) Platforms supported - Windows, Unix and Linux 4 Programming Languages supported
(C, C++, C# and Java) More than 100 metrics supported Code history – internal representation of code reports
could be stored in file Metrics history – reports could be stored
in .CSV, .XML, .HTML and other format files
Tools (5) Krakatau (by PowerSoftware)
Windows platform Language independent*** ~35 metrics Code history – NO Metrics history – Yes (.CSV, .XML, .HTML files)
*** = almost is and could become independent
Contents Motivation Goal Criteria Tools Summary Related works Conclusion
Summary (1)
TOOL PRODUCER LATFORME
INDEP.PL
INDEP.CODE
HISTORYMETRICS HISTORY
METRICS
CC H LOC OO OTHERS
SLOCDavid A. Wheeler - + - + - - + - -
Code Counter Pro
GeroneSoft - + - + - - + - -
Source Monitor
Campwood Software - - - + + - + + +
Understand SciTools + - - + + + + + +
RSMM Squared
Technologies + - + + + + + + +
KrakatauPower
Software - +(*) - + + + + + +
Summary (2) These 6 tools represent current situation Two categories of tools are identified
I - language independent tools counting only few simple metrics
II – tools those are counting numerous metrics but with restriction on supported language
Krakatau – partially bridges the gap between tool categories
Summary (3) New tool should be…
platform independent programming language independent able to count as many metrics as possible able to store code history able to store metrics history …
Contents Motivation Goal Criteria Tools Summary Related works Conclusion
Related work (1) In this section
Current researches in software metrics tools field Current researches in related fields Current software metrics tools development
projects and product characteristics
Related work (2) Code clone analysis
Several language independent tools
Source code representation by AST
Different code segment fragments compare algorithms
Related work (3) Changes analysis tool
C programming language based on AST code representation
Static analysis tool (for student assignments) JAVA programming language Based on AST code representation
LANGUAGE DEPENDENT but useful works!!!
Related work (4) ATHENA – software certification tool based on metrics
Work published in 1989 Written in C for LINUX Based on
AST code representation Different parsers for different languages
Language independent – but in that period implemented for only 2 language hypothesis about realization for all languages by writing grammars
or parsers implementation
BUT there are no information about further development!!!
Related work (5) Codesquale - metrics tool
Development in progress Based on AST generated by ANTLR parser generator Implemented in JAVA PL Currently realized for
(information from July 2007) java programs 1 metric – number of methods per class
Preferring to extend set of languages and metrics
BUT there are no information about further development!!!
Related work (5) Summary
AST code representation resulted in language independency in related field
AST code representation could result in language independency in software metrics tools development
AST modifications may be needed
Contents Motivation Goal Criteria Tools Summary Related works Conclusion
Conclusion (1)Goals are well stated could be reached by
platform independency implementation in JAVA PL
programming language independency code representation by adapted AST to be unique for all PLs
ability to count as many metrics as possible code representation by adapted AST to be unique for different
metrics ability to store code history
storing AST code in file (XML) ability to store metrics history
storing metrics values in file (XML)
Conclusion (2) AST adaptation and it’s characteristics
improvement to become unique for all languages could be possible by Parser generator usage Modification of AST in grammar before parser
generating not different implementation for different
languages!!!
Thank you