29
Literature/Tool Review on Software Metrics Tools Gordana Rakic

On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

On a Literature/Tool Review

on Software Metrics Tools

Gordana Rakic

Page 2: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

Contents Motivation Goal Criteria Tools Summary Related works Conclusion

Page 3: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

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

Page 4: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

Motivation (2)

Page 5: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

Contents Motivation Goal Criteria Tools Summary Related works Conclusion

Page 6: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

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

Page 7: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

Contents Motivation Goal Criteria Tools Summary Related works Conclusion

Page 8: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

Criterions Platform dependency Programming language dependency Supported metrics History of code storing facility History of metrics storing facility

Page 9: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

Contents Motivation Goal Criteria Tools Summary Related works Conclusion

Page 10: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

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

Page 11: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

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

Page 12: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

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

Page 13: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

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

Page 14: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

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

Page 15: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

Contents Motivation Goal Criteria Tools Summary Related works Conclusion

Page 16: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

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 - +(*) - + + + + + +

Page 17: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

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

Page 18: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

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 …

Page 19: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

Contents Motivation Goal Criteria Tools Summary Related works Conclusion

Page 20: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

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

Page 21: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

Related work (2) Code clone analysis

Several language independent tools

Source code representation by AST

Different code segment fragments compare algorithms

Page 22: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

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!!!

Page 23: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

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!!!

Page 24: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

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!!!

Page 25: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

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

Page 26: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

Contents Motivation Goal Criteria Tools Summary Related works Conclusion

Page 27: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

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)

Page 28: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

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!!!

Page 29: On a Literature/Tool Review on Software Metrics Tools Gordana Rakic

Thank you