Software
Open source software developed by members of the SQR Lab is hosted on GitHub (https://github.com/sqrlab).
[AI-Based Testing] [Concurrency Testing] [Software Visualization] [Serious CS Games]
AI-Based Testing & Analysis Tools
![Search-based Software Engineering](https://i1.wp.com/www.sqrlab.ca/seerlab/wp-content/uploads/sites/33/2017/05/sbse-1024x200.jpg?resize=750%2C146)
Software testing and analysis tools that have been implemented with Artificial Intelligence (AI) techniques such as genetic algorithms and machine learning.
- ARC – a tool to automatically repair concurrency bugs in Java.
- CORE – an automatic bug repair tool for concurrent Java programs. Utilizes Java PathFinder (JPF) model checker.
- MutationScorePredictor – a project that will predict the mutation score of methods and classes using a support vector machine and source code metrics.
Concurrency Testing & Analysis Tools
![Concurrency Testing](https://i0.wp.com/www.sqrlab.ca/seerlab/wp-content/uploads/sites/33/2017/05/testing-1024x230.jpg?resize=750%2C168)
Software testing and analysis tools that are focused on improving the quality of concurrent software.
- CCMetrics – a static analysis tool for calculating concurrency code metrics in Java programs.
- Eclipticon – a concurrency testing plugin for Java projects in Eclipse.
- SyncTest – a unit testing tool for multithreaded Java programs. Available as a command-line tool or an Eclipse plugin.
- ConMAn – a concurrency mutant generation tool for mutation testing concurrent Java.
- CFLASH -an automatic bug localization tool for concurrent Java programs.
Software Visualization Tools
![Software Visualization](https://i0.wp.com/www.sqrlab.ca/seerlab/wp-content/uploads/sites/33/2017/05/visualization-1024x204.jpg?resize=750%2C149)
Visualization tools for improving the understandability of testing and analysis.
- PriorityTestVis – a visualization plugin for Eclipse that prioritizes the execution order of tests.
- VisMAn – visualization tool for mutation testing.
- TIE – a Thread Interleaving Explorer for Java Pathfinder (JPF).
- GitView – a visualization of code and comment churn in GitHub projects.
Serious CS Games
![Serious games](https://i2.wp.com/www.sqrlab.ca/seerlab/wp-content/uploads/sites/33/2017/05/seriousgames-1024x192.jpg?resize=750%2C141)
Serious games for learning Computer Science.
- GidgetML – a modified version of Gidget that adapts to the individual learner using machine learning.
- RoboBUG – a game for learning debugging.
- Robot ON! – a game for learning programming through understanding and comprehension of source code.
- ThreadedPaws – a serious game for learning concurrency.
- FireFinder – a game for learning path finding algorithms in Python.