DIFF TOOL



DIFF TOOL

1 0


750Presentation


On Github Dahaden / 750Presentation

DIFF TOOL

Elliot Colquhoun
Janodya Moonamale
David Haden

OVERVIEW

  • Motivation
  • Related Work
  • Demo
  • Display
  • Importing Code
  • Code Architecture
  • Usability Testing
  • Challenges
  • Future Work

MOTIVATION

  • No easy way to navigate between code changes
  • Hard to see differences in files                                    
Solution: DiffTool
  • Use TreeView structure to navigate project
  • Aiming for fast and easy navigation
  • Also linking changes to common sections               

Related work

  • Verbaere, Godfrey and Girba
  • Hajiyev, Verbaere and de Moor
  • Paul and Prakash
  • Tiago, Hage and Rademaker
  • Hindie and German
  • Github
  • TFS

DEMO

display

  • Uses trees to display the data
  • Additions are coloured green 
  • Deletions are coloured red 
  • Common change locations displayed 
  • Modification preview in TreeView   
  • Obtain and show commit message
  • Number of additions and deletions 

Generating changes

Use of the PDStore  IntelliJ plugin
Modifications made to code using the TreeView
Generates PDStore log file

Usability testing

  • Sample size of 3 people
  • 4 tasks to complete to test intuitive design
  • Range of responses and times taken
  • Changes to the UI due to these responses

CODE ARCHITECTURE

  • MVC Pattern
  • Refactoring drive late in the project
  • Easy to modify and maintain

UML

CHALLENGES

  • PDStore - understanding the system
  • Mercurial - merge issues, case sensitivity
  • Commit messages
  • Multiple modifications per commit
  • PDHistoryView - getting changes
  • Complex, difficult to understand code

FUTURE WORK

  • Initial commits of files
  • Editing code without using the TreeView
  • Extension of UI and backend to show modifications

Conclusions

  • Satisfactory progress made
  • Would like to add several features in the future
  • Overall, created a useful tool for PDStore

QUESTIONS?