Research software (tools) and artifacts

Tools support for our Software Engineering Research:

Over the years, we (my collaborators, students and I) have developed various prototype software tools in support of our research projects in different areas of software engineering and software testing. Below, we provide some of the key tools.

Artifacts (data) created and used in our research:

We also beleive in importance of Reproducibility and Replicability in SE research. Therefore, since 2003, with my students and collaborators, we have shared all the research data and artifacts created and used in each of our papers, except for the case of the industrial confidential data involved in our projects. Links to the datasets for each of our papers can be found in the papers.

Note: This page will be further expanded ...

MORTOGA: A tool for Multi-Objective Regression-Test Optimization based on Genetic Algorithm (GA)

Active development years: 2016-2017

Source-code on GitHub / Download link...

Paper:

  • Vahid Garousi, Ramazan Özkan, Aysu Betin-Can, "Multi-objective regression test selection in practice: an empirical study in the defense software industry", Elsevier Journal of Information and Software Technology, volume 103, pp. 40-54, November 2018, DOI: 10.1016/j.infsof.2018.06.007

ManAutoTestDecide: A Genetic Algorithm (GA)-based decision-support tool for deciding when and what to automate in software testing

Active development years: 2013-2014

Source-code on GitHub / Download link...

Papers:

  • Yasaman Amannejad, Vahid Garousi, Rob Irving, Zahra Sahaf, "A search-based approach for cost-effective software test automation decision support and an industrial case study", Proceedings of International Workshop on Regression Testing, co-located with the Sixth IEEE International Conference on Software Testing, Verification, and Validation (ICST), pp. 302-311, April 2014, DOI: 10.1109/ICSTW.2014.34
  • Vahid Garousi, Mika V. Mäntylä, "When and what to automate in software testing: a multi-vocal literature review", Elsevier Journal of Information and Software Technology, vol. 76, pp. 92–117, August 2016, DOI: 10.1016/j.infsof.2016.04.015

AutoETF: Tool Support for Automated Traceability of Requirements, Code, and Test Artifacts in Embedded Software

Active development years: 2010-2011

Source-code on Google Code / Download link...

AutoETF provides tool support for automated traceability of requirements, code, and test artifacts in embedded software.

Paper:

  • Christian Wiederseiner, Vahid Garousi, Mike Smith, "Tool Support for Automated Traceability Analysis in Embedded Software Systems", 8th IEEE International Conference on Embedded Software and Systems (ICESS), Changsha, China, November 16-18, 2011, DOI: 10.1109/TrustCom.2011.151

Two demo videos:

AutoBBUT: Automated Code Generation for Black-box Unit Testing

Active development years: 2008-2010

Source-code on Google Code/ Download link...

Black-box Unit Testing (BBUT) focuses on testing the functionality of a System Under Test (SUT)'s individual components or units without using knowledge from their source code to ensure that they behave properly and satisfy their defined specification.

AutoBBUT can be used for semi-automated generation of BBUT test cases in the .Net C# language for the Visual Studio Team Test platform.

It can also be easily extended/adapted to other platforms (e.g, JUnit).

Paper:

  • Christian Wiederseiner, Shahnewaz Amin Jolly, Vahid Garousi and Matt M. Eskandar, "An Open-Source Tool for Automated Generation of Black-box xUnit Test Code and its Industrial Evaluation", Proceedings of the International Conference on Testing: Academic and Industrial Conference - Practice and Research Techniques (TAIC PART), pp. 118-128, September 2010, DOI: 10.1007/978-3-642-15585-7_11

TeCRevis: Graph-Based Test Coverage and Test Redundancy Visualization Plug-in for Eclipse IDE

Active development years: 2008-2009

Source-code / Download link...

Note: TeCRevis has been adapted by (included in) the popular code coverage tool: CodeCover. When you download and install CodeCover, TeCRevis will be installed as well.

The tool is an open-source Eclipse plug-in and supports JUnit test suites helping testers in analyzing the coverage information more effectively in a visual way compared to traditional text-based coverage tools.

The graph-based test coverage visualization provided by this tool can be used in various tasks in software testing and maintenance activities, e.g.:

  • Coverage (test adequacy) improvement
  • Test suite maintenance as the system under test evolves
  • Fault localization
  • Test redundancy detection

Papers:

  • Vahid Garousi, Negar Koochakzadeh, "An Empirical Evaluation to Study Benefits of Visual versus Textual Test Coverage Information", Proceedings of the International Conference on Testing: Academic and Industrial Conference - Practice and Research Techniques (TAIC PART), pp. 189-193, September 2010, DOI: 10.1007/978-3-642-15585-7_19
  • Negar Koochakzadeh, Vahid Garousi, "TeCReVis: A Tool for Test Coverage and Test Redundancy Visualization", Proceedings of the International Conference on Testing: Academic and Industrial Conference - Practice and Research Techniques (TAIC PART, pp. 129-136, September 2010, DOI: 10.1007/978-3-642-15585-7_12

A video demo of the tool:

IssuePlayer: Dashboard tool visualizing the arrival and closure of "issues" in software projects

Active development years: 2008-2009

Source-code in Google Code / Download link...

IssuePlayer is a dashboard tool aimed at project managers overseeing software development. It conveniently displays information about the number of open issues on a given date in a user friendly GUI environment, and uses animation to let the managers evaluate the rate of incoming and solved issues. It also efficiently displays information about the developers and issues. The intuitive playback controls and hotkeys allow control of playback and some customization of the display.

Paper:

  • Vahid Garousi, James Leitch, "IssuePlayer: An Extensible Framework for Visual Assessment of Issue Management in Software Development Projects", Elsevier Journal of Visual Languages & Computing, vol. 21, no. 3, pp. 121-135, June 2010, DOI: 10.1016/j.jvlc.2010.03.001