anti-pattern-models

Models, tests, and data for detecting anti-patterns in software projects using features extracted from the source code and issue-tracking management.

https://github.com/mrshoenel/anti-pattern-models

Science Score: 49.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
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.2%) to scientific vocabulary
Last synced: 7 months ago · JSON representation

Repository

Models, tests, and data for detecting anti-patterns in software projects using features extracted from the source code and issue-tracking management.

Basic Info
  • Host: GitHub
  • Owner: MrShoenel
  • License: gpl-3.0
  • Language: TeX
  • Default Branch: master
  • Homepage:
  • Size: 181 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 2
Created over 5 years ago · Last pushed about 3 years ago
Metadata Files
Readme License Citation

readme.Rmd

---
bibliography: ./inst/REFERENCES.bib
urlcolor: blue
output:
  md_document:
    toc: no
    df_print: kable
    variant: gfm
---

# Detecting the Fire Drill Anti-pattern Using Source Code and Issue-Tracking Data [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.6884866.svg)](https://doi.org/10.5281/zenodo.6884866)


In this repository, we develop methods that can model and detect the presence of so-called anti-patterns (AP). In this repository, you will find:

* [__Models__ (R)](./models) - Multivariate models (arbitrary many) that can encapsulate the definition of an anti-pattern, using arbitrary user-defined intervals and losses. The models can then be fit to the data (or vice versa). Also, there is lots of functionality for __quantifying differences__, esp. for __scoring__.
* [__Notebooks__ (R)](./notebooks) - Notebooks that can be (re-)run by users to reproduce our results. All results are included, such that the notebooks will only recompute them if you delete them. The notebooks are very detailed and document all steps necessary. See [@honel2021technical] for a pre-rendered PDF.
* [__Data__ (CSV)](./data) and (precomputed) [__Results__ (RDS)](./results) - All data required for reproduction is included. All the results, too. Some of them take days to compute, so be aware. Also see [@honel_picha_2021].


There is a pilot study that makes extensive use of the data and models [@picha2022Firedrill].
The eight version of the repository, dataset, and technical report serve then as the basis for a proper, subsequent embedded case study [@honel2023embedded].
This repository has a release on Zenodo [@gitHub_repo_latest]. From version seven and onwards, each technical reports compilation will be paired with a separate release of this repository on Zenodo.


# Abstract

Detecting the presence of project management anti-patterns (AP) currently requires experts on the matter and is an expensive endeavor. Worse, experts may introduce their individual subjectivity or bias. Using the Fire Drill AP, we first introduce a novel way to translate descriptions into detectable AP that are comprised of arbitrary metrics and events such as logged time or maintenance activities, which are mined from the underlying source code or issue-tracking data, thus making the description objective as it becomes data-based. Secondly, we demonstrate a novel method to quantify and score the deviations of real-world projects to data-based AP descriptions. Using fifteen real-world projects that exhibit a Fire Drill to some degree, we show how to further enhance the translated AP. The ground truth in these projects was extracted from two individual experts and consensus was found between them. We introduce a novel method called automatic calibration, that optimizes a pattern such that only necessary and important scores remain that suffice to confidently detect the degree to which the AP is present. Without automatic calibration, the proposed patterns show only weak potential for detecting the presence. Enriching the AP with data from real-world projects significantly improves the potential. We also introduce a no-pattern approach that exploits the ground truth for establishing a new, quantitative understanding of the phenomenon, as well as for finding gray-/black-box predictive models. We conclude that the presence detection and severity assessment of the Fire Drill anti-pattern, as well as some of its related and similar patterns, is certainly possible using some of the presented approaches.



# References {-}

Owner

  • Name: Sebastian Hönel
  • Login: MrShoenel
  • Kind: user

Ph.D. student with the Linnaeus University Centre for Data Intensive Sciences and Applications (DISA), working currently in the DISTA research group.

GitHub Events

Total
Last Year

Committers

Last synced: 11 months ago

All Time
  • Total Commits: 699
  • Total Committers: 2
  • Avg Commits per committer: 349.5
  • Development Distribution Score (DDS): 0.029
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Sebastian Hönel d****t@h****t 679
Sebastian Hönel s****l@l****e 20
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total 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
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
Top Labels
Issue Labels
Pull Request Labels