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 & Educational Tools]
AI-Based Testing & Analysis Tools

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

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

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 & Educational Tools

Serious games for learning Computer Science.
- PACT – an adaptive Parsons problem tool that bridges the gap between Parsons problems and coding.
- Run, Llama, Run! – a collaborative physical and online coding game for children
- 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.