Software

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

Search-based Software Engineering

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

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

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

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.