Skip to main content

3 posts tagged with "SoftwareEngineering"

related to Software Engineering

View All Tags

Automated Recovery of Issue-Commit Links Leveraging Both Textual and Non-textual Data

· 7 min read

Introduction

Issue reports document discussions around required changes in issue-tracking systems, while commits contain the actual code changes in version control systems. Recovering links between issues and commits facilitates many software evolution tasks such as bug localization, defect prediction, software quality measurement, and documentation.

A previous study on over half a million GitHub issues showed that only about 42.2% of issues are manually linked by developers to their related commits. Automating the linking of commit-issue pairs can significantly improve software maintenance tasks. However, current state-of-the-art approaches suffer from low precision, leading to unreliable results, and perform poorly when there's a lack of textual information in commits or issues.

This article presents Hybrid-Linker, an enhanced approach that overcomes these limitations by exploiting both textual and non-textual data channels:

  1. A non-textual-based component that operates on automatically recorded metadata of commit-issue pairs
  2. A textual-based component that analyzes the textual content of commits and issues

By combining results from these two classifiers, Hybrid-Linker makes the final prediction, with one component filling gaps when the other falls short.

Preliminary Study of GitHub Actions Workflow Changes

· 6 min read

Introduction

Continuous Integration and Development (CI/CD) practices have become essential in modern software development, helping developers release high-quality software more efficiently. GitHub Actions (GHA) was introduced in November 2019 as GitHub's native CI/CD solution and quickly gained popularity, replacing other tools like Travis CI within just 18 months.

This article examines how GitHub Actions workflows evolve over time, based on a study of 22,733 GitHub repositories containing 4 million weekly snapshots of workflow files from November 2019 to September 2022. The research analyzes both coarse-grained changes (adding, modifying, renaming, or removing workflow files) and fine-grained changes (examining line-level modifications within these files).

Bot Detection in GitHub Repositories

· 5 min read

Introduction

In today's collaborative software development landscape, GitHub and similar platforms have revolutionized how developers work together. However, with this increased collaboration comes a significant workload of repetitive, error-prone, and time-intensive tasks such as:

  • Conducting quality checks
  • Running automated tests
  • Reviewing code
  • Merging pull requests
  • Building and deploying software

To manage this growing complexity, development teams increasingly rely on bots —machine accounts that operate with minimal human intervention— to automate these tasks. As Erlenhov et al. (2019) noted, bots have become essential tools for facing the ever-increasing complexity in software development.