04 project tool support tutorials

154
Instructor: Serguei A. Mokhov Coordinator: Peter C. Rigby CVS CVS and Eclipse Logiscope Quality Modeling T ool Usage (POD) Kiviat Diagram McCabe Overview T ool Views, Usage, and Metrics JDT and JDeodorant Eclipse Java Model AST JDeodorant Model Demo (In Class) MARFCAT Introduction Classication Data Sets and Sample Results Summary Running Experiments References 4.1 Chapter 4 CVS, Logiscope, McCabe, JDeodorant, MARFCAT Project Tool Support SOEN 6471, Summer 2014 Instructor: Serguei A. Mokhov Coordinator: Peter C. Rigby Departmen t of Comp uter Science and Software Engineering Concordia University

Upload: dipesh-walia

Post on 11-Oct-2015

41 views

Category:

Documents


0 download

DESCRIPTION

tool-support-tutorials.pdf

TRANSCRIPT

  • 5/21/2018 04 Project Tool Support Tutorials

    1/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCATIntroduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.1

    Chapter 4

    CVS, Logiscope, McCabe, JDeodorant,MARFCATProject Tool Support

    SOEN 6471, Summer 2014

    Instructor:

    Serguei A. MokhovCoordinator:

    Peter C. RigbyDepartment of Computer Science

    and Software Engineering

    Concordia University

  • 5/21/2018 04 Project Tool Support Tutorials

    2/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCATIntroduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.2

    Outline1 CVS

    2 CVS and Eclipse

    3 Logiscope

    Quality ModelingTool Usage (POD)Kiviat Diagram

    4 McCabeOverviewTool Views, Usage, and Metrics

    5 JDT and JDeodorantEclipse Java ModelASTJDeodorant ModelDemo (In Class)

    6 MARFCATIntroductionClassificationData Sets and Sample ResultsSummary

    Running Experiments7 References

  • 5/21/2018 04 Project Tool Support Tutorials

    3/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCATIntroduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.3

    Outline1 CVS

    2 CVS and Eclipse

    3 LogiscopeQuality ModelingTool Usage (POD)Kiviat Diagram

    4 McCabeOverviewTool Views, Usage, and Metrics

    5 JDT and JDeodorantEclipse Java ModelASTJDeodorant ModelDemo (In Class)

    6 MARFCATIntroductionClassificationData Sets and Sample ResultsSummary

    Running Experiments7 References

  • 5/21/2018 04 Project Tool Support Tutorials

    4/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCATIntroduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.4

  • 5/21/2018 04 Project Tool Support Tutorials

    5/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCATIntroduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.5

  • 5/21/2018 04 Project Tool Support Tutorials

    6/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCATIntroduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.6

  • 5/21/2018 04 Project Tool Support Tutorials

    7/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.7

  • 5/21/2018 04 Project Tool Support Tutorials

    8/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.8

  • 5/21/2018 04 Project Tool Support Tutorials

    9/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.9

  • 5/21/2018 04 Project Tool Support Tutorials

    10/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.10

  • 5/21/2018 04 Project Tool Support Tutorials

    11/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.11

  • 5/21/2018 04 Project Tool Support Tutorials

    12/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.12

  • 5/21/2018 04 Project Tool Support Tutorials

    13/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.13

  • 5/21/2018 04 Project Tool Support Tutorials

    14/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.14

  • 5/21/2018 04 Project Tool Support Tutorials

    15/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.15

    CVS & Eclipse

    DEPARTMENT OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING

    CONCORDIA UNIVERSITY

    by Emil Vassev & Joey Paquet

    revision 1.3 Jan 19, 2009

  • 5/21/2018 04 Project Tool Support Tutorials

    16/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    OverviewTool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.16

    Outline

    Version Control Systems - Intro

    CVS Basic Concepts

    CVS Branches

    Quick Reference to CVS Commands

    CVS & Eclipse

    Getting Started

    Putting a Project into CVS

    Getting a Project fromCVS

    Updating/Committing Changes

    Comparing Two File Versions Rational ClearCase

  • 5/21/2018 04 Project Tool Support Tutorials

    17/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    OverviewTool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.17

    Version Control Systems

  • 5/21/2018 04 Project Tool Support Tutorials

    18/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    OverviewTool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.18

    Version Control Systems

    Why use a version control system? To have a common repository for all project files available and

    updated remotely.

    To make sure that concurrent changes to the same file are

    properly handled.

    To allow the branching of versions in a seamless operation. To avoid copying all files when creating a new version of a

    project.

    :: Why do We Need Them? - I

  • 5/21/2018 04 Project Tool Support Tutorials

    19/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    OverviewTool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.19

    Version Control Systems

    Why use a version control system? To make sure that everybody in a team is always using the

    correct version of project files.

    To ensure a proper rollback sequence in the event that some

    changes need to be undone.

    To compare the differences between different file versions(using diff).

    To access previous project versions seamlessly (using version

    tagging)

    :: Why do We Need Them? - II

  • 5/21/2018 04 Project Tool Support Tutorials

    20/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    OverviewTool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.20

    Version Control Systems

    Maximizing productivity by automating tasks. Reducing confusion, minimizing mistakes.

    Maximizing software integrity, traceability, and

    accountability.

    Assisting developers in providing coordinated changes

    to software products and components.

    Accurately recording the composition of versioned

    software products evolving into many revisions and

    variants.

    Reconstructing previously recorded softwarecomponents versions and configurations.

    :: General Goals

  • 5/21/2018 04 Project Tool Support Tutorials

    21/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    OverviewTool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.21

    Version Control Systems

    More advanced version control systems, likeRationals

    ClearCase and Microsofts SourceSafe allow for

    multiple developers to work on the same file.

    Then, when the last person checks it in, they have to

    option to merge the different paths together. Meaning

    that two people can change the same file and both savetheir changes.

    Merging changes is a useful feature, but it has its flaws.

    What if two people complete different variations of the

    same change, which one should you keep?

    :: Multiple Developers & Merging Changes

  • 5/21/2018 04 Project Tool Support Tutorials

    22/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    OverviewTool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.22

    Version Control Systems

    A major concept of a version control system is the

    concept of a baseline.

    All projects have this, for example, MS PowerPoint we

    are using for this presentation is Version 11.24.8036

    11 is the major product version, 24 is the minor version,

    and 8036 is the build version.

    The build version generallygoes up by one every time a

    file is checked in, while the major/minor versions are

    usually advanced manually as the product is rolled out.

    :: Baseline - I

  • 5/21/2018 04 Project Tool Support Tutorials

    23/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    OverviewTool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.23

    Version Control Systems

    As a developer, you would have the option of rolling

    back to a previous baseline if something failed.

    Baselines are also important in project management and

    planning, especially in iterative development.

    A project manager might decide Prototype Version 1.0

    would have certain features, and Version 1.1 would haveothers, so the final version of 1.0 might be 1.0.1087.

    :: Baseline - II

  • 5/21/2018 04 Project Tool Support Tutorials

    24/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    OverviewTool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.24

    CVS

  • 5/21/2018 04 Project Tool Support Tutorials

    25/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    OverviewTool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.25

    CVS

    Version control is a process by which you can keep a recorded

    historyof the changes to your files.

    CVSstates for Concurrent Version System (CVS).

    A version control system typically has two parts - a version

    controlserverand clients.

    The version control server is accessed over a network a local

    network or wide area network such as the Internet by a version

    controlclient.

    The version control servermanages accessto the version control

    repository.

    Version control clients come in a variety of flavors: command

    line clients, window/GUI clients (WinCVS), plug-in clients (for

    applications like Eclipseand fileexplorers).

    :: Basic Concepts

    I t t

  • 5/21/2018 04 Project Tool Support Tutorials

    26/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    OverviewTool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.26

    CVS

    Repository

    This is where a copy of your files and directories are stored.

    CVS uses some special file structure for tracking the

    differences between subsequent versions of a file.

    Working Copy and Workspace

    This is a copy of a file(s) (or project) in your local file system

    (not in the Repository).Workspaces map to Eclipse projects.

    Project

    Group of files. A project is often a complete program;although, a project could be code for a software library or the

    XML/HTML files for documentation.

    :: Basic Concepts

    Instructor:

  • 5/21/2018 04 Project Tool Support Tutorials

    27/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.27

    CVS

    Commit

    This is the process of saving files to the Repository. You may

    commit specific files or a whole project to the Repository.

    Synchronize

    This is the process of updating the local files on your computerwith corresponding files in the repository.

    Checkout

    This is the process of retrieving files from the Repository, i.e.

    downloading a local copy to your machine.

    :: Basic Concepts

    Instructor:

  • 5/21/2018 04 Project Tool Support Tutorials

    28/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.28

    CVS

    What is a Branch?

    A CVS branch is a collection of revisions that for some reason

    should not be committed onto the main trunk of development.

    If we want to work on a part of the code doing changes that we are not

    going to share until we are not satisfied with the result we could work on

    our own branch, without disturbing anyone else.

    Branching is a powerful mechanism for controlled isolation.

    The original set of versions, before the branch was created, is

    called the main line or main branch.

    After a branch is created the main line is still the default

    version.

    We can always merge changes from a branch into the main line

    or vice-versa.

    :: CVS Branches

    Instructor:

  • 5/21/2018 04 Project Tool Support Tutorials

    29/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.29

    CVS

    Branching Scenario

    Two programmers, Paul and Wing, working on

    separate branches of the same project.

    Paul will branch off main and modify some files

    while Wing continues to work on the main branch,

    also modifying files. Paul will then merge his branch back to the main

    branch. In doing so, Paul will address the resulting

    merge conflicts.

    :: CVS Branches

    Instructor:

  • 5/21/2018 04 Project Tool Support Tutorials

    30/154

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.30

    CVS

    CVS maintains unique numbers for each each version of the files

    under CVS.

    Revision numbers could be somewhat like 1.1, 1.2, 1.3.2.2

    or 1.3.2.2.4.5.

    By default revision 1.1 is the first revision of a file. Each

    successive revision is given a new number by increasing the

    rightmost number by one.

    Example: 1.1, 1.2, 1.3, 1.4

    :: CVS Revisions

    Instructor:

  • 5/21/2018 04 Project Tool Support Tutorials

    31/154

    Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.31

    CVS

    Useful when we want to distinguish different releases of same

    software by its version number.

    Example: 1.x states for release oneand 2.x for release two

    We use the -r option to cvs commit to assign revisions

    manually.

    Example: To bring all the files up to revision 2.0 (including

    those that haven't changed), we invoke:

    cvs commit -r 2.0

    The number we specify with -rmust be larger than any existing

    revision number.

    If we want to maintain several releases in parallel, we need to use

    a branch.

    :: Assigning Revisions - I

    Instructor:

  • 5/21/2018 04 Project Tool Support Tutorials

    32/154

    Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.32

    CVS

    Eclipse does not support "cvs commit -r.

    Usually we would like to change the revision number from 1.x to

    2.x if, for example, we completely re-written the file.

    Changing revisions from 1.x to 2.x would typically be something

    we should do on a whole project, in order to baseline for a new

    release of the project.

    That sort of thing is often better managed by using branches,

    though.

    Eclipse support for maintaining different releases Versions.

    :: Assigning Revisions - II

    Instructor:

  • 5/21/2018 04 Project Tool Support Tutorials

    33/154

    Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.33

    CVS

    A CVS Command looks like this:

    cvs [ global_options ] command [ command_options ] [ command_args ]

    Global options:

    --allow-root=rootdir

    Specifies legal CVSROOT directory (server only)

    -a

    Authenticates all communication (client only)

    -b

    Specifies RCS location

    -d root

    Specifies the CVSROOT.

    -e editor

    Edits messages with editor.

    :: Quick Reference to CVS Commands

    Instructor:

  • 5/21/2018 04 Project Tool Support Tutorials

    34/154

    Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.34

    CVS

    A CVS Command looks like this:

    cvs [ global_options ] command [ command_options ] [ command_args ]

    Global options - Continue:

    -f

    Does not read the `~/.cvsrc' file.

    -H --help

    Prints a help message.

    -n

    Does not change any files.

    -Q

    Be really quiet.

    -q

    Be somewhat quiet.

    :: Quick Reference to CVS Commands

    Instructor:S i A M kh

  • 5/21/2018 04 Project Tool Support Tutorials

    35/154

    Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.35

    CVS

    A CVS Command looks like this:

    cvs [ global_options ] command [ command_options ] [ command_args ]

    Global options - Continue:

    -r

    Makes new working files read-only.

    -s variable=valueSets a user variable.

    -T tempdir

    Puts temporary files in tempdir.

    -t

    Traces CVS execution.

    :: Quick Reference to CVS Commands

    Instructor:Serguei A Mokhov

  • 5/21/2018 04 Project Tool Support Tutorials

    36/154

    Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.36

    CVS

    A CVS Command looks like this:

    cvs [ global_options ] command [ command_options ] [ command_args ]

    Global options - Continue:

    -v

    --version

    Displays version and copyright information for CVS. -w

    Makes new working filesread-write.

    -x

    Encrypts all communication (client only).

    -zgzip-levelSets the compression level (client only).

    :: Quick Reference to CVS Commands

    Instructor:Serguei A Mokhov

  • 5/21/2018 04 Project Tool Support Tutorials

    37/154

    Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.37

    CVS

    A CVS Command looks like this:

    cvs [ global_options ] command [ command_options ] [ command_args ]

    Commands:

    add [options] [files]

    Adds a new file/directory.

    admin [options] [files]Administration of history files in the repository.

    annotate [options] [files]

    Shows last revision where each linewas modified.

    checkout [options] modules

    Gets a copy of the sources.

    commit [options] [files]

    Checks changes into the repository.

    :: Quick Reference to CVS Commands

    Instructor:Serguei A Mokhov

  • 5/21/2018 04 Project Tool Support Tutorials

    38/154

    Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    IntroductionClassification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.38

    CVS

    A CVS Command looks like this:

    cvs [ global_options ] command [ command_options ] [ command_args ]

    Commands - Continue:

    diff [options] [files]

    Shows differences between revisions.

    edit [options] [files]Gets ready to edit a watched file.

    editors [options] [files]

    Sees who is editing a watched file.

    export [options] modules

    Exports files from CVS.

    history [options] [files]

    Shows repository access history.

    :: Quick Reference to CVS Commands

    Instructor:Serguei A. Mokhov

    CVS

  • 5/21/2018 04 Project Tool Support Tutorials

    39/154

    Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    IntroductionClassification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.39

    CVS

    A CVS Command looks like this:

    cvs [ global_options ] command [ command_options ] [ command_args ]

    Commands - Continue:

    import [options] repositoryvendor-tagrelease-tags

    Imports files into CVS, using vendor branches.

    initCreates a CVS repository if it doesn't exist.

    kserver

    Kerberos authenticated server.

    log [options] [files]

    Prints out history information for files.

    :: Quick Reference to CVS Commands

    Instructor:Serguei A. Mokhov

    CVS

  • 5/21/2018 04 Project Tool Support Tutorials

    40/154

    g

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    IntroductionClassification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.40

    CVS

    A CVS Command looks like this:

    cvs [ global_options ] command [ command_options ] [ command_args ]

    Commands - Continue:

    login

    Prompts for password for authenticating server.

    logoutRemoves stored password for authenticating server.

    pserver

    Password authenticated server.

    rannotate [options] [modules]

    Shows last revision where each linewas modified.

    rdiff [options] modules

    Shows differences between releases.

    :: Quick Reference to CVS Commands

    Instructor:Serguei A. Mokhov

    CVS

  • 5/21/2018 04 Project Tool Support Tutorials

    41/154

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    IntroductionClassification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.41

    CVS

    A CVS Command looks like this:

    cvs [ global_options ] command [ command_options ] [ command_args ]

    Commands - Continue:

    release [options] directory

    Indicates that a directory is no longer in use.

    remove [options] [files]Removes an entry from the repository.

    rlog [options] [files]

    Prints out history information for modules.

    rtag [options] tagmodules

    Adds a symbolic tag to a module.

    server

    Rsh server.

    :: Quick Reference to CVS Commands

    Instructor:Serguei A. Mokhov

    CVS

  • 5/21/2018 04 Project Tool Support Tutorials

    42/154

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    IntroductionClassification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.42

    CVS

    A CVS Command looks like this:

    cvs [ global_options ] command [ command_options ] [ command_args ]

    Commands - Continue:

    status [options]files

    Displays status information in a working directory.

    tag [options] tag[files]Adds a symbolic tag to checked out version of files.

    unedit [options] [files]

    Undoes an edit command.

    update [options] [files]

    Brings work tree in sync with repository.

    :: Quick Reference to CVS Commands

    Instructor:Serguei A. Mokhov

    C diCVS

  • 5/21/2018 04 Project Tool Support Tutorials

    43/154

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    IntroductionClassification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.43

    CVS

    A CVS Command looks like this:

    cvs [ global_options ] command [ command_options ] [ command_args ]

    Commands - Continue:

    version

    Display the version of CVS being used. If the repository is remote, display

    both the client and server versions. watch [on|off|add|remove] [options] [files]

    on/off: turns on/off read-only checkouts of files.

    add/remove: adds or removes notification on actions.

    watchers [options] [files]

    Sees who is watching a file.

    :: Quick Reference to CVS Commands

    Instructor:Serguei A. Mokhov

    C di t

  • 5/21/2018 04 Project Tool Support Tutorials

    44/154

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    IntroductionClassification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.44

    CVS & Eclipse

    Instructor:Serguei A. Mokhov

    Coordinator:CVS and Eclipse

  • 5/21/2018 04 Project Tool Support Tutorials

    45/154

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    IntroductionClassification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.45

    CVS and Eclipse

    First, you should enable the Eclipse perspective for CVS.

    From Window menu: [Window Open Perspective Other ] From the Select Perspective window pick up CVS Repository Exploring.

    Second, you should show the CVS Repositories view.

    From Window menu: [Window Show View CVS Repositories]

    :: Getting Started

    Instructor:Serguei A. Mokhov

    Coordinator:CVS and Eclipse

  • 5/21/2018 04 Project Tool Support Tutorials

    46/154

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    IntroductionClassification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.46

    CVS and Eclipse

    Next, you should connect to a CVS Repository.

    Right mouse click in the CVS Repositorieswindow.

    From the right mouse click menu select

    [New Repository Location ...]

    Complete the Add CVS Repository dialog as

    shown.

    Location Host: alpha.cs.concordia.ca

    Repository path: enter the path of the cvs

    repository.

    Connection Type: extssh

    :: Getting Started

    Instructor:Serguei A. Mokhov

    Coordinator:CVS and Eclipse

  • 5/21/2018 04 Project Tool Support Tutorials

    47/154

    Coordinator:Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    IntroductionClassification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.47

    CVS and Eclipse:: Getting Started

    After validation, CVS Repositories window in Eclipse will show the

    connected repository. You can have multiple repositories.

    Instructor:Serguei A. Mokhov

    Coordinator:CVS and Eclipse

  • 5/21/2018 04 Project Tool Support Tutorials

    48/154

    Coo d atoPeter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    IntroductionClassification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.48

    CVS and Eclipse:: Putting a Project into CVS

    Select the project in the Navigator or other view.

    Right click [Context Menu

    Team

    Share Project...]

    Follow the wizard for identifying your repository location and

    and repository module name.

    The Synchronize view opens, showing all your outgoing

    changes.

    Select the project in the Synchronize view.

    Right click [Context MenuCommit].

    Answer yes when prompted to add new files to version control.

    Supply a release comment if you like.

    The project now exists in therepository.

    Instructor:Serguei A. Mokhov

    Coordinator:CVS and Eclipse

  • 5/21/2018 04 Project Tool Support Tutorials

    49/154

    Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.49

    CVS and Eclipse:: Putting a Project into CVS

    Right mouse click in the CVS Repositories view and select Refresh

    View to see your project in the repository.

    Instructor:Serguei A. Mokhov

    Coordinator:CVS and Eclipse

  • 5/21/2018 04 Project Tool Support Tutorials

    50/154

    Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.50

    CVS and Eclipse:: Getting a Project from CVS

    Select[WindowShow ViewOther].

    Select [CVS

    CVS Repositories].

    Right click [Context MenuNewRepository Location...].

    Fill in the location information identifying your repository and

    click Finish.

    Expand the newly-created repository location.

    Find the module you are interested in.

    Right click [Context MenuCheck Out].

    Instructor:Serguei A. Mokhov

    Coordinator:CVS and Eclipse

  • 5/21/2018 04 Project Tool Support Tutorials

    51/154

    Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.51

    p:: Updating/Committing Changes

    If you have changed your source files and wish to commit those changes in your

    files that are in CVS, you do the following: From the Java Perspective (or other similar perspective), right mouse click

    on the project and select [Team Commit... ]

    Enter a comment in the Commit dialog and press Finish.

    New version for modified files

    Instructor:Serguei A. Mokhov

    Coordinator:P t C Ri b

    CVS and Eclipse

  • 5/21/2018 04 Project Tool Support Tutorials

    52/154

    Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.52

    p:: Comparing Two File Revisions (Versions)

    From the Java Perspective (or other similar perspective), right mouse click on

    the changed file and select [Team Show Resource History] The version history appears in the History Window.

    Select the version you wish to compare with the current one.

    Right mouse click and select Compare with Current Revision.

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C Rigby

    CVS and Eclipse

  • 5/21/2018 04 Project Tool Support Tutorials

    53/154

    Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.53

    p:: Comparing Two File Revisions (Versions)

    Java Source Compare window shows up both file versions and highlights the

    differences.

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C Rigby

    CVS and Eclipse

  • 5/21/2018 04 Project Tool Support Tutorials

    54/154

    Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.54

    :: Branching with Eclipse and CVS

    If you want to create an independent branch on which to work,

    right-click on the project name and select [Team Branch].

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C Rigby

    CVS and Eclipse

  • 5/21/2018 04 Project Tool Support Tutorials

    55/154

    Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.55

    :: Branching with Eclipse and CVS

    A Create Branchdialog box is displayed.

    Enter a branch name likeJUnitTesting_B1

    .

    Leave the check box checked for Start working in the branch.

    Notice that a version name is automatically filled in for you

    called "Root_ JUnitTesting_B1.

    You may choose a different name (so long as it doesn't conflict

    with an existing CVS tag). It will be used later by the mergeeditor to determine what has changed since branch creation.

    Click OK.

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS and Eclipse

  • 5/21/2018 04 Project Tool Support Tutorials

    56/154

    Peter C. Rigby

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.56

    :: Branching with Eclipse and CVS

    You should be able to see the result of your branch in two ways:

    By right-clicking the project and selecting Properties and thenCVS, you should see the JUnitTesting_B1in the tag field.

    In the CVS Repositoriesview expand the Branchesnode.

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS and Eclipse

  • 5/21/2018 04 Project Tool Support Tutorials

    57/154

    g y

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.57

    :: Merging - I

    How to merge the changes done in a branch into another branch?

    The first step of the merge is to point the workspace to the targetbranch. In our case, the target of the merge is the main branch.

    To switch the project contents to that of the main branch, right-

    click on the JUnitTesting project in the Navigator view and

    select [Replace With Another Branch or Version].

    You should see a branch selection similar to the one below.

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS and Eclipse

  • 5/21/2018 04 Project Tool Support Tutorials

    58/154

    g y

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.58

    :: Merging - II

    The JUnitTesting_B1branch is the one we were working on.

    To switch back to the main branch, select HEAD. This is theCVS name for the main branch.

    The resource view should look like the one below. Notice the

    version numbers correspond to what we committed. All the

    version numbers are two digits. The branch name is gone which

    implies the HEADbranch (or main).

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS and EclipseV i i I

  • 5/21/2018 04 Project Tool Support Tutorials

    59/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.59

    :: Versioning - I

    Eclipse supports different software releases via versioning.

    To create a new version of your application right-click on theproject namein the Navigatorview and select [Team Tag as

    Version].

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS and EclipseV i i II

  • 5/21/2018 04 Project Tool Support Tutorials

    60/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.60

    :: Versioning - II

    Enter the versionsname.

    The new version can be found in the CVS repositories under

    Versionsnode:

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

  • 5/21/2018 04 Project Tool Support Tutorials

    61/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.61

    Logiscope and McCabe

    SOEN6611

    Object-Oriented Metrics

    Notes credit: Ming Zhu

    Editorial: Aravindan Balasubramanian and SergueiMokhov

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

  • 5/21/2018 04 Project Tool Support Tutorials

    62/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.62

    Logiscope

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    h i

  • 5/21/2018 04 Project Tool Support Tutorials

    63/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.63

    Why Logiscope

    Evaluate the quality of source code.

    Help to optimize the testing process.

    Automatically analyze a large amount of code,

    and reduce the manual workload. Compliant with qualitystandards.

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Th L i T l

  • 5/21/2018 04 Project Tool Support Tutorials

    64/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.64

    The Logiscope Toolset

    Logiscope QualityChecker

    Quality Evaluations & Graphical Code Views

    Logiscope RuleChecker

    Automated Coding Rule Checking Logiscope TestChecker

    Structure-based Testing& Test Coverage Analysis

    Logiscope Code Reducer

    Find Code Similarities Remove Duplicated Code

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    L i Q lit Ch k

  • 5/21/2018 04 Project Tool Support Tutorials

    65/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.65

    Logiscope QualityChecker

    Provides metrics and graphical

    representations of the source code

    Provides over 190 quality metrics

    Quality model can be tailored to Project /Company

    Context-free file parsing for C, C++ and Java

    Automated Reporting facilities (HTML, Word)

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Q lit M d li

  • 5/21/2018 04 Project Tool Support Tutorials

    66/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.66

    Quality Modeling

    The modeling approach used by Logiscope iscompliant with the ISO/IEC 9126-1 SoftwareengineeringProduct quality standard

    Software quality can be defined as a set of

    characteristics that: are important to the user: quality factors,

    can be decided bythe designer: quality criteria,

    can be measured for verification purposes: quality

    metrics.

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Q lit M d li

  • 5/21/2018 04 Project Tool Support Tutorials

    67/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.67

    Quality Modeling

    Metrics: comparison ofmeasured values with limit valuespreviously defined in the Quality Model

    Criteria: classification in different categories according toresults obtained for metrics

    Quality factor: classification in different categoriesaccording to results obtainedat criteria level

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Quality Modeling

  • 5/21/2018 04 Project Tool Support Tutorials

    68/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, andMetrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.68

    Quality Modeling

    Source code metrics apply to different scopes.

    A scope of a metric designates the element of thesource code the metric will apply to.

    The different scopes are:

    The Function scope: includes functions, procedures,

    methods, etc. The Class scope: is represented by C++ and Java classes.

    The Module scope: is represented by a source code file.

    The Package scope: is represented by Java Packages;Packages contain a set of classes.

    The Application scope: represented by the set of

    interrelated softwarecomponents

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Create a New Project

  • 5/21/2018 04 Project Tool Support Tutorials

    69/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.69

    Create a New Project

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Project Definition

  • 5/21/2018 04 Project Tool Support Tutorials

    70/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.70

    Project Definition

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Indicate Project Source Files

  • 5/21/2018 04 Project Tool Support Tutorials

    71/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.71

    Indicate Project Source Files

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Choose Project Quality Model

  • 5/21/2018 04 Project Tool Support Tutorials

    72/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.72

    Choose Project Quality Model

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Build Project

  • 5/21/2018 04 Project Tool Support Tutorials

    73/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.73

    Build Project

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Quality Model

  • 5/21/2018 04 Project Tool Support Tutorials

    74/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.74

    Quality Model

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Metrics Dictionary

  • 5/21/2018 04 Project Tool Support Tutorials

    75/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.75

    Metrics Dictionary

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Criteria Level

  • 5/21/2018 04 Project Tool Support Tutorials

    76/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.76

    Criteria Level

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Factor Level

  • 5/21/2018 04 Project Tool Support Tutorials

    77/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.77

    Factor Level

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Quality Report

  • 5/21/2018 04 Project Tool Support Tutorials

    78/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.78

    Quality Report

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Quality Report (2)

  • 5/21/2018 04 Project Tool Support Tutorials

    79/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.79

    Quality Report (2)

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Kiviat Diagram

  • 5/21/2018 04 Project Tool Support Tutorials

    80/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.80

    g

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Kiviat Diagram (2)

  • 5/21/2018 04 Project Tool Support Tutorials

    81/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    ClassificationData Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.81

    g ( )

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Outline1 CVS

    2 CVS and Eclipse

    3 LogiscopeQ li M d li

  • 5/21/2018 04 Project Tool Support Tutorials

    82/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    ClassificationData Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.82

    Quality ModelingTool Usage (POD)Kiviat Diagram

    4 McCabeOverviewTool Views, Usage, and Metrics

    5 JDT and JDeodorant

    Eclipse Java ModelASTJDeodorant ModelDemo (In Class)

    6 MARFCAT

    IntroductionClassificationData Sets and Sample ResultsSummaryRunning Experiments

    7 References

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

  • 5/21/2018 04 Project Tool Support Tutorials

    83/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    ClassificationData Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.83

    McCabe

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Why McCabe

  • 5/21/2018 04 Project Tool Support Tutorials

    84/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    ClassificationData Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.84

    y

    Analyze the quality of an application

    Improve the accuracy and efficiency of testingefforts

    Provide visual environment to analyze the

    quality of an application and testing efforts Measure softwarequality with industry

    accepted metrics

    Provide a useful context-sensitive helping

    system

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    The Overview of McCabe

  • 5/21/2018 04 Project Tool Support Tutorials

    85/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    ClassificationData Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.85

    Platform Support Independent Windows 2000/XP/Vista/7, Ubuntu Linux, Linux Red

    Hat Enterprise and Scientific Linux

    Language Support Dependent

    C, C++, Fortran, Java, ..., etc.

    A Static Analysis Tool

    Static Source Code Analysis with Visualization

    A Dynamic AnalysisTool

    Dynamic Test Path Analysis & Coverage (Unit &

    Integration)

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    McCabe IQ Analysis Process

  • 5/21/2018 04 Project Tool Support Tutorials

    86/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    ClassificationData Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.86

    CREATE PROJECT

    IQ Project(.pcf)

    IQ Project Database

    (One Dir. Each)

    Source Code &

    Build Info.

    PARSE PROJECT

    (may preprocess)

    VIEW/REPORT

    PROJECT DATA &

    GRAPHICS

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. RigbyMcCabe IQ Battlemap:

    class view

  • 5/21/2018 04 Project Tool Support Tutorials

    87/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    ClassificationData Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.87

    class view

    Battlemap - graphical interface showing structure chartor class diagram

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. RigbyMcCabe IQ Battlemap:

    Functional view

  • 5/21/2018 04 Project Tool Support Tutorials

    88/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    ClassificationData Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.88

    Functional view

    Function hierarchy

    Calls shown by lines

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Why Battlemap is so colorful

  • 5/21/2018 04 Project Tool Support Tutorials

    89/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    ClassificationData Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.89

    Based on the Cyclomatic Complexity and Essential

    Cyclomatic Complexity

    Green = Low Complexity

    Yellow = Moderate Complexity

    Red = High Complexity

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Flowgraph

  • 5/21/2018 04 Project Tool Support Tutorials

    90/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    ClassificationData Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.90

    node: statement or blockof sequential statements

    1 main(){

    2 if (y > 10)

    3 b();else

    4 c();5 6 }

    Code Flowgraph

    condition

    end of condition

    edge: flow of controlbetween nodes

    1

    2

    3 4

    5

    6

    Flowgraph: A visualization of the modules decision logic

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Flowgraph Notation

  • 5/21/2018 04 Project Tool Support Tutorials

    91/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    ClassificationData Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.91

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Complexity: V(G) and EV(G)

  • 5/21/2018 04 Project Tool Support Tutorials

    92/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.92

    CyclomaticComplexity V(G) = 4

    1. Definition: Essential Complexity, EV(G), is a measure of the degree to which a module, G,contains unstructured constructs, which is calculatedby removing structured code constructs2. Definition: Cyclomatic Complexity,V(G), is the number of linearly independent paths and,consequently, the minimum number of paths that one should (theoretically) test.

    EssentialComplexity EV(G) = 1

    Original Graph Reduced Graph

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Metrics: V(G) and EV(G)

  • 5/21/2018 04 Project Tool Support Tutorials

    93/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.93

    Cyclomatic complexity V(G)

    Comprehension

    Testing effort

    Reliability

    Essential complexity EV(G)

    Structuredness

    Maintainability

    Re-engineering effort

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. RigbyLow Complexity:

    v(G)

  • 5/21/2018 04 Project Tool Support Tutorials

    94/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.94

    ( ) ( )

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. RigbyModerate Complexity:

    v(G)>10 and ev(G)

  • 5/21/2018 04 Project Tool Support Tutorials

    95/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.95

    ( ) ( )

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. RigbyHigh Complexity:

    ev(G)>4

  • 5/21/2018 04 Project Tool Support Tutorials

    96/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.96

    ( )

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Scatterplot Diagram

  • 5/21/2018 04 Project Tool Support Tutorials

    97/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.97

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Module Metrics Report

  • 5/21/2018 04 Project Tool Support Tutorials

    98/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.98

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    Summary

  • 5/21/2018 04 Project Tool Support Tutorials

    99/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.99

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    Complexity: IV(G)

  • 5/21/2018 04 Project Tool Support Tutorials

    100/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.100

    Reduced Graph

    IV(G) = 3

    proge()

    progd()

    Original Graph

    V(G) = 4

    proge()

    progd()

    Definition: Module Design Complexity, iv(G), is a quantification of the testing effort of

    a module as it calls its subordinates modules.

    Calculation: iv(G) is calculated byremoving decisions and nodes that do not impact thecalling control of program over itssubordinate modules.

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    Class-Oriented Metrics

  • 5/21/2018 04 Project Tool Support Tutorials

    101/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.101

    Weighted Methods Per Class (WMC)

    Coupling between object classes (CBO)

    Response for Class (RFC)

    Lack of Cohesion of Methods (LOCM)

    Depth of Inheritance Tree (DIT)

    Number of children (NOC)

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    Class Metrics Report

  • 5/21/2018 04 Project Tool Support Tutorials

    102/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.102

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

  • 5/21/2018 04 Project Tool Support Tutorials

    103/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.103

    Introduction to Eclipse JDT,

    JDeodorant, and MARFCAT

    SOEN6611

    Notes credit:

    N. Tsantalis and S. Mokhov

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    Eclipse Java Model

  • 5/21/2018 04 Project Tool Support Tutorials

    104/154

    CVS

    CVS and Eclipse

    Logiscope

    Quality Modeling

    Tool Usage (POD)

    Kiviat Diagram

    McCabe

    Overview

    Tool Views, Usage, and

    Metrics

    JDT and JDeodorant

    Eclipse Java Model

    AST

    JDeodorant Model

    Demo (In Class)

    MARFCAT

    Introduction

    Classification

    Data Sets and Sample

    Results

    Summary

    Running Experiments

    References

    4.104

    A very lightweightrepresentation of Javaprojects

    It contains information down to declaration

    level (i.e., method signatures, fields), but no

    method bodies.

    It is suitable for various Eclipse views that

    should scale to thousands of types (e.g.,

    Package Explorer, Outline)

    Instructor:Serguei A. Mokhov

    Coordinator:Peter C. Rigby

    CVS

    Java Model Term