14
Software Visualisation and Comparison Tool - SVCT http://www.csn.ul.ie/~mrmen/fyp.html Final Year Project of: Shane Lillis, 9514147 4th Year Computer Engineering Supervisor: Mr. Tom Newe Final Demonstration : 28/4/1999

Software Visualisation and Comparison Tool - SVCT mrmen/fyp.html Final Year Project of: Shane Lillis, 9514147 4th Year Computer Engineering

Embed Size (px)

Citation preview

Page 1: Software Visualisation and Comparison Tool - SVCT mrmen/fyp.html Final Year Project of: Shane Lillis, 9514147 4th Year Computer Engineering

Software Visualisation and Comparison Tool - SVCT

http://www.csn.ul.ie/~mrmen/fyp.html

Final Year Project of:

Shane Lillis, 9514147

4th Year Computer Engineering

Supervisor: Mr. Tom Newe

Final Demonstration : 28/4/1999

Page 2: Software Visualisation and Comparison Tool - SVCT mrmen/fyp.html Final Year Project of: Shane Lillis, 9514147 4th Year Computer Engineering

Project Goals and Motivation

Develop a lecturers tool which can be used to visualise and compare source code files

- used to aid lecturer to identify copied assignments handed in by students

Page 3: Software Visualisation and Comparison Tool - SVCT mrmen/fyp.html Final Year Project of: Shane Lillis, 9514147 4th Year Computer Engineering

The Visualisation and Comparison

Program (Code) Visualisation

- colouring of the source code text according to the control constructs that exist in the code

- reducing the text to pixel form - ‘Zooming’

Comparison through Visualisation

Boundary Analysis Comparison

Page 4: Software Visualisation and Comparison Tool - SVCT mrmen/fyp.html Final Year Project of: Shane Lillis, 9514147 4th Year Computer Engineering

SVCT Tool

Bench Demonstration

Page 5: Software Visualisation and Comparison Tool - SVCT mrmen/fyp.html Final Year Project of: Shane Lillis, 9514147 4th Year Computer Engineering

Some Designs

OMT : The Object Model (with associations)

OMT : Dynamic Models (using the event trace technique)

- Visualising the Source Code Text

- Reducing the textual code to the DIB

- Comparison of 2 files

The Tokenizer algorithm

The FileInformationArray - use and construction

Page 6: Software Visualisation and Comparison Tool - SVCT mrmen/fyp.html Final Year Project of: Shane Lillis, 9514147 4th Year Computer Engineering

OMT: The Object Model

CFIA = FileInformationArray Class

Page 7: Software Visualisation and Comparison Tool - SVCT mrmen/fyp.html Final Year Project of: Shane Lillis, 9514147 4th Year Computer Engineering

OMT: The Object Model

The CTempararyComparisonArray class has the same design as the CLinkedListOfFIAs class. Therefore, this is a possible candidate for code reuse.

In the implementation, the CTokenizer class is broken down as follows:

Also, in the implementation, the CBitmap class is known as CDib (Device Independent Bitmap).

Page 8: Software Visualisation and Comparison Tool - SVCT mrmen/fyp.html Final Year Project of: Shane Lillis, 9514147 4th Year Computer Engineering

The Dynamic Model (1/3)

Figure 1: Event Trace for Visualising Source Code Files

Page 9: Software Visualisation and Comparison Tool - SVCT mrmen/fyp.html Final Year Project of: Shane Lillis, 9514147 4th Year Computer Engineering

The Dynamic Model (2/3)

Figure 2: Event Trace for Activating the Corresponding Bitmap of a source code file

Page 10: Software Visualisation and Comparison Tool - SVCT mrmen/fyp.html Final Year Project of: Shane Lillis, 9514147 4th Year Computer Engineering

The Dynamic Model (3/3)

Figure 3: Event Trace for the Comparison of 2 files

Page 11: Software Visualisation and Comparison Tool - SVCT mrmen/fyp.html Final Year Project of: Shane Lillis, 9514147 4th Year Computer Engineering

SVCT Installation Files

The files installed are as follows

- SVCT.exe

- readme.txt

- mfc42d.dll

- msvcrtd.dll

- mfco42d.dll

These are installed using install.bat - see project website for

download of these files.

The website is a repository for documents, application and source

code employed in the project.

Page 12: Software Visualisation and Comparison Tool - SVCT mrmen/fyp.html Final Year Project of: Shane Lillis, 9514147 4th Year Computer Engineering

Internet References (1/3) BITMAP RESOURCES www.codeguru.com/bitmap/index.shtml http://devcentral.iftech.com/learning/tutorials/mfc-win32/vc5mfc/ http://home1.stofanet.dk/hansm/index.htm http://www.concentric.net/~cgalbrai/Dibbmp.shtml http://simac.kaist.ac.kr/~mkshin/msvc_source/bitmap/bitmap_toc.shtml http://www.codeguru.com/controls/bitmap_progress.shtml

Tokenizers http://chrisheng.hypermart.net/cc.html http://www.codeguru.com/cpp_mfc/tokenizer.shtml http://www.codeguru.com/editctrl/crysedit.shtml http://207.82.252.253/cgi-bin/linkrd?hm___action=http%3a%2f%2fwww%2ecodeguru%2ecom%2feditctrl

%2fcrysedit%2eshtml

Page 13: Software Visualisation and Comparison Tool - SVCT mrmen/fyp.html Final Year Project of: Shane Lillis, 9514147 4th Year Computer Engineering

Internet References (2/3) MSVC http://www.r2m.com/windev/ http://oak.oakland.edu/simtel.net/win95/prog.html http://www.powersoftware.com/cgi-bin/www.power-soft.co.uk/download.pl http://www.ecst.csuchico.edu/~jbeck/dev.html http://www.winfiles.com/apps/98/ctools.html http://www.vcdj.com/online/resources/othlink.asp http://www.codeguru.com/samples/Includes.shtml http://www.itlibrary.com/library/0672312425/ch10/ch10.htm www.itlibrary.com

http://www.itknowledge.com

MFC FAQ http://mfcfaq.stingray.com/ http://www.formatics.com/AMP.htm

Page 14: Software Visualisation and Comparison Tool - SVCT mrmen/fyp.html Final Year Project of: Shane Lillis, 9514147 4th Year Computer Engineering

Internet References (3/3) Magazine Links http://www.cs.ndsu.nodak.edu/~lchen/hot.html http://www.wdj.com/current/products.html

CODE PROFILING PC MAGAZINE http://207.82.252.253/cgi-bin/linkrd?http://www.pcmag.com/alert.htm

PowerBuilder http://slc.sybase.com/events/download.html