The "Awesome Empirical Software Engineering" project is a comprehensive collection of resources dedicated to the field of empirical software engineering, which emphasizes evidence-based research on software systems and practices. This list encompasses a variety of categories including academic papers, case studies, tools for data collection and analysis, and guidelines for conducting empirical studies. It serves as a valuable resource for researchers, practitioners, and students interested in understanding and applying empirical methods to improve software development processes. By exploring these resources, users can gain insights into best practices and contribute to the advancement of software engineering knowledge.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Code and data repository for reproducing examples from 'Evidence-based Software Engineering' book using publicly available data.
A database of reproducible real-world Java bugs and a framework for controlled software engineering experiments.
A dataset cataloging bugs found in the Maven ecosystem using static analysis of all project versions.
A dataset of static analysis metrics from 22,730 Java jar files from Maven Central for software quality research.
A multi-extract, multi-level dataset of Mozilla Bugzilla issue tracking history spanning 15 years for software engineering research.
A dataset containing analysis results from 5 software quality tools for 2000 popular npm packages.
A dataset of 9,188 OCL expressions from 504 EMF meta-models in 245 GitHub repositories for empirical OCL studies.
A Git repository containing the complete historical evolution of Unix from 1970 to the present day.
A Kotlin library for extracting path-based code representations and ASTs from multiple languages to prepare code for machine learning models.
A multi-language tokenizer for extracting identifiers from source code using tree-sitter and pygments parsers.
A tool for mining commits from Git repositories to automatically extract code change pattern instances and features using AST analysis.
Tooling for collecting and analyzing cryptocurrency open-source software development activity from GitHub.
A tool that analyzes SQL code in software repositories to detect common database design anti-patterns and smells.
A Java code quality assessment tool that detects design/implementation smells and computes object-oriented metrics.
An agile tool for analyzing Git repositories with modular analyses and joins.
Analyze code evolution in Git repositories using concrete syntax tree metrics for Python, JavaScript, TypeScript, and Java.
A Java toolset that mines the Maven Central repository to build and store a global dependency graph in Neo4j.
A command-line tool to fetch and gather data from software repositories and development platforms using modular backends.
A design configuration smell detection tool for Puppet code that identifies 11 specific code quality issues.
A Python framework for mining and analyzing Git repositories, extracting commits, developers, files, diffs, and source code.
A command-line tool that analyzes C source code files and outputs dozens of code quality metrics related to size, complexity, style, and preprocessor usage.
A tool that calculates a GitHub repository's quality score based on engineering best practices using metadata and source analysis.
A library that detects refactorings and generates AST diffs for Java, Python, and Kotlin code changes.