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