Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

To add paper and basic introduction to this repo #1

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1 +1,17 @@
# leak_study

Paper: Memory and resource leak defects and their repairs in Java projects [Springer](https://link.springer.com/article/10.1007/s10664-019-09731-8)

To cite this paper:
> Ghanavati, M., Costa, D., Seboek, J. et al. Memory and resource leak defects and their repairs in Java projects. Empir Software Eng 25, 678–718 (2020). https://doi.org/10.1007/s10664-019-09731-8

A detailed empirical study on 491 issues from 15 large open-source Java projects. The study proposes taxonomies for the leak types, for the defects causing them, and for the repair actions. In particular, this study tries to answer the following research questions:

- RQ1. What is distribution of leak types in studied projects?
- RQ2. How are leak-related defects detected?
- RQ3. To what extent are the leak-inducing defects localized?
- RQ4. What are the most common root causes?
- RQ5. What are the characteristics of the repair patches?
- RQ6. How complex are repairs of the leak-inducing defects?

To build a suitable dataset for our study, we apply a four-step filtering methodology: (1) keyword search, (2) issue type filtering, (3) resolution filtering, and (4) manual investigation. This four-step filtering method yields a dataset with 491 leak-related issues, each representing a unique leak bug report (i.e., none are duplicates of another).