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

Slides:



Advertisements
Similar presentations
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
Advertisements

Memory Management Questions answered in this lecture: How do processes share memory? What is static relocation? What is dynamic relocation? What is segmentation?
Extensions to Svetovid students’ submission environment Doni Pracner, Ivan Pribela, Mirjana Ivanović, Zoran Budimac.
Perl Practical Extraction and Report Language Senior Projects II Jeff Wilson.
WPSM Programming Language A simple language that transform simple data structure into complex xML format Wai Y. Wong Peter Chen Seema Gupta Miqdad Mohammed.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
1 JBus, A Platform Independent Publish/Subscribe Bus for CWave 2000 M.S. Thesis Defense Joseph W. Longson March 30, 2000.
Lecture 1: Intro to Computers Yoni Fridman 6/28/01 6/28/01.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
SMIILE Finaly COBOL! and what else is new Gordana Rakić, Zoran Budimac.
Guide To UNIX Using Linux Third Edition
1.2 Language Processing Activities The fundamental language processing activities divided into two parts. 1. Program generation activities 2. Program execution.
Information Extraction from Documents for Automating Softwre Testing by Patricia Lutsky Presented by Ramiro Lopez.
Advanced Topics in Software Engineering ATSE 2009 Topics, participants and results Gordana Rakic, Zoran Budimac.
Introduction to Java.
Chapter 3 Software Two major types of software
Introduction to the JDK Java for Computational Finance
Web Design Terms and Concepts Ms. Scales. Q. What is a Server? A. A server is a computer that stores information many people can access. It runs special.
XP New Perspectives on Microsoft Access 2002 Tutorial 71 Microsoft Access 2002 Tutorial 7 – Integrating Access With the Web and With Other Programs.
USING SOFTWARE METRICS IN EDUCATIONAL ENVIRONMENT Ivan Pribela, Zoran Budimac, Gordana Rakić.
CS 415: Programming Languages Chapter 1 Aaron Bloomfield Fall 2005.
CCSA 221 Programming in C CHAPTER 2 SOME FUNDAMENTALS 1 ALHANOUF ALAMR.
11 Chapter 3: Getting Started with Tasks 3.1 Introduction to Tasks and Wizards 3.2 Creating a Frequency Report 3.3 Generating HTML, PDF, and RTF Output.
Introduction to Java Kumar Harshit. Objectives ( 목적지 ) At the end of the lesson, the student should be able to: ● Describe the features of Java technology.
Prototype of the “new” Software metrics tool Gordana Rakić, Zoran Budimac.
Languages in WEB Presented by: Jenisha Kshatriya BCM SS09.
I. Pribela, M. Ivanović Neum, Content Automated assessment Testovid system Test generator Module generators Conclusion.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Introduction to M ATLAB EE 100 – EE Dept. - JUST.
PHP Professor Waterman. Agenda What is PHP Versions HTML Dynamic Web sites Interactive Web Sites Installing PHP Transfer pages to a Web hosting service.
Detecting software clones in binaries Zaharije Radivojević, Saša Stojanović, Miloš Cvetanović School of Electrical Engineering, Belgrade University 14th.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
CDS/ISIS Clearing House Workshop 2003 – Patrick Huby, Davide Storti Recent developments.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3: Operating Systems Computer Science: An Overview Tenth Edition.
COMPUTER PROGRAMMING I SUMMER 2011 Programming Languages.
The Joy of Programming (also known as) Introduction to Object-Oriented Programming.
Property of Jack Wilson, Cerritos College1 CIS Computer Programming Logic Programming Concepts Overview prepared by Jack Wilson Cerritos College.
Open Source CAT Tool Patrícia Azeredo Ivone Ferreira IT for Translation 2009/2010.
LBSC 690 Session 5A Programming. Languages How do we learn a language? Learn by listening Then reading Then writing How do we teach programming? Learn.
LBSC 690 Session 5A Programming. Languages How do we learn a language? Learn by listening Then reading Then writing How do we teach programming? Learn.
Web Page Design Introduction. The ________________ is a large collection of pages stored on computers, or ______________ around the world. Hypertext ________.
Towards the better software metrics tool motivation and the first experiences Gordana Rakić Zoran Budimac.
Author(s) Politehnica University of Bucharest Automatic Control and Computers Faculty Computer Science Department Robocheck – Integrated Code Validation.
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
Gordana Rakić, Zoran Budimac
David Adams ATLAS DIAL: Distributed Interactive Analysis of Large datasets David Adams BNL August 5, 2002 BNL OMEGA talk.
Files Chapter 4.
Representing data with XML SE-2030 Dr. Mark L. Hornick 1.
SSQSA present and future Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics Faculty of Sciences University of Novi Sad
Analysis of Prescription Drug Regimen Compliance Charles Mason Computer Applications in Medicine REU 2006 University of Virginia.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
LBSC 690 Session 4 Programming. Languages How do we learn a language? Learn by listening Then reading Then writing How do we teach programming? Learn.
1 Process Description and Control Chapter 3. 2 Process A program in execution An instance of a program running on a computer The entity that can be assigned.
 Before you continue you should have a basic understanding of the following:  HTML  CSS  JavaScript.
1 Introduction Read D&D Sec 1.8; Sec 1.13 THE Java tutorial -
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Chapter 13 A & B Programming Languages and the.
Introduction to Programming 1 1 2Introduction to Java.
General Architecture of Retrieval Systems 1Adrienn Skrop.
Generic State Machine engine (GSMe) L. Andolfato |
Presented By Sushil K. Chaturvedi Assistant Professor SRCEM,Banmore 1.
Introduction to JSP Liu Haibin 12/09/2018.
Computer Science I CSC 135.
High Level Programming Languages
Use of Mathematics using Technology (Maltlab)
Intro to PHP.
Review of Previous Lesson
Reducing Redundancies in Multi-Revision Code Analysis
Chapter 3 Software.
Presentation transcript:

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) TOOLPRODUCER LATFORME INDEP. PL INDEP. CODE HISTORY METRICS HISTORY METRICS CCHLOCOOOTHERS SLOC David A. Wheeler Code Counter Pro GeroneSoft Source Monitor Campwood Software UnderstandSciTools RSM M Squared Technologies Krakatau Power 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