04 project tool support tutorials
DESCRIPTION
tool-support-tutorials.pdfTRANSCRIPT
-
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