https://github.com/cptanalatriste/prioritisation-game-model

Game-theoretic tools for task prioritisation process modelling.

https://github.com/cptanalatriste/prioritisation-game-model

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: ieee.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.5%) to scientific vocabulary

Keywords

bug-reporting game-theory simulation
Last synced: 5 months ago · JSON representation

Repository

Game-theoretic tools for task prioritisation process modelling.

Basic Info
Statistics
  • Stars: 3
  • Watchers: 2
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Topics
bug-reporting game-theory simulation
Created over 9 years ago · Last pushed over 5 years ago
Metadata Files
Readme License

README.md

Equilibrium Analysis for Task Prioritisation

For an in-depht discussion of our empirical game-theoretic model, you can read our paper in the IEEE Transactions on Software Engineering: https://ieeexplore.ieee.org/abstract/document/8852726

This collection of Python scripts make use of a simulation model of task prioritisation for obtaining the Nash-Equilibrium of its empirical game-theoretic model.

Pre-requisites

The code was built and tested using the Anaconda distribution for Python 2.7. For equilibrium calculation, it relies on the Gambit Software version 15.

Besides the libraries available in Anaconda, we also need the following: - Simpy version 2.3.1, for the simulation model implementation. - Pathos version 0.2.0, for the parallel execution of simulation replications. If you're working on Windows, be sure to install a C++ compiler first. - Recordtype, for mutable named tuples support.

Configuration

The file gtconfig.py exposes the configurations parameters. Edit following according to your needs:

  • all_issues_csv, is the file location of the CSV file containing the bug tracking system data needed for obtaining the simulation inputs.
  • gambit_folder, is the installation directory of the Gambit Software
  • quantal_response_solver, is the name of the command for obtaining the quantal response equilibria in Gambit.
  • replications_per_profile, is the number of replications to execute per strategy profile.
  • parallel, to enable the parallel execution of simulation replications.
  • parallel_blocks, the number of parallel blocks to divide simulation execution. It can be set to the number of cores available on your system.
  • is_windows, should be False if you are not using a Windows operating system.

Execution

The search-based mechanism design experiments are based on games with the following characteristics:

  • Simulation model: Bug reports arrive individually to a priority queue based on the priority contained in the report.
  • Strategy catalog: Contains only the always-honest and always-dishonest strategies.
  • Game reduction: No game reduction is performed, nor any symmetry assumption is made.
  • Player selection: From the bug tracking system data, we pick the most productive bug reporters as players.
  • Equilibrium algorithm: Quantal response equilibrium, since is the one recommended by Gambit for games with more than 2 players.

To execute this scenario, you can do the following:

python getequilibrium.py testers developers target_bugs file_name

Where:

  • testers is the number of bug reporters.
  • developers is the number of developers available for bug fixing.
  • target_bugs is the number of bugs to be fixed before release.
  • file_name is the CSV file name where the equilibrium will be stored.

Owner

  • Name: Carlos Gavidia-Calderon
  • Login: cptanalatriste
  • Kind: user
  • Location: London, United Kingdom
  • Company: @alan-turing-institute

Systems engineer by training, software developer by trade. Research Software Engineer at @alan-turing-institute .

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 0
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • cptanalatriste (1)
Top Labels
Issue Labels
Pull Request Labels