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
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
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