Tracking Code Bug Fix Ripple Effects Based on Change Patterns Using Markov Chain Models

dc.contributor.author Ufuktepe, Ekincan
dc.contributor.author Tuğlular, Tuğkan
dc.contributor.author Palaniappan, Kanappan
dc.date.accessioned 2022-07-05T13:42:18Z
dc.date.available 2022-07-05T13:42:18Z
dc.date.issued 2022
dc.description.abstract Change impact analysis evaluates the changes that are made in the software and finds the ripple effects, in other words, finds the affected software components. Code changes and bug fixes can have a high impact on code quality by introducing new vulnerabilities or increasing their severity. A recent high-visibility example of this is the code changes in the log4j web software CVE-2021-45105 to fix known vulnerabilities by removing and adding method called change types. This bug fix process exposed further code security concerns. In this article, we analyze the most common set of bug fix change patterns to have a better understanding of the distribution of software changes and their impact on code quality. To achieve this, we implemented a tool that compares two versions of the code and extracts the changes that have been made. Then, we investigated how these changes are related to change impact analysis. In our case study, we identified the change types for bug-inducing and bug fix changes using the Quixbugs dataset. Furthermore, we used 13 of the projects and 621 bugs from Defects4J to identify the common change types in bug fixes. Then, to find the change types that cause an impact on the software, we performed an impact analysis on a subset of projects and bugs of Defects4J. The results have shown that, on average, 90% of the bug fix change types are adding a new method declaration and changing the method body. Then, we investigated if these changes cause an impact or a ripple effect in the software by performing a Markov chain-based change impact analysis. The results show that the bug fix changes had only impact rates within a range of 0.4-5%. Furthermore, we performed a statistical correlation analysis to find if any of the bug fixes have a significant correlation with the impact of change. The results have shown that there is a negative correlation between caused impact with the change types adding new method declaration and changing method body. On the other hand, we found that there is a positive correlation between caused impact and changing the field type. en_US
dc.identifier.doi 10.1109/TR.2022.3167943
dc.identifier.issn 0018-9529 en_US
dc.identifier.issn 0018-9529
dc.identifier.scopus 2-s2.0-85131632808
dc.identifier.uri https://doi.org/10.1109/TR.2022.3167943
dc.identifier.uri https://hdl.handle.net/11147/12135
dc.language.iso en en_US
dc.publisher Institute of Electrical and Electronics Engineers Inc. en_US
dc.relation.ispartof IEEE Transactions on Reliability en_US
dc.rights info:eu-repo/semantics/openAccess en_US
dc.subject Bug fix en_US
dc.subject Change detection en_US
dc.subject Change impact analysis en_US
dc.title Tracking Code Bug Fix Ripple Effects Based on Change Patterns Using Markov Chain Models en_US
dc.type Article en_US
dspace.entity.type Publication
gdc.author.id 0000-0001-6797-3913
gdc.author.id 0000-0001-6797-3913 en_US
gdc.author.institutional Tuğlular, Tuğkan
gdc.bip.impulseclass C4
gdc.bip.influenceclass C5
gdc.bip.popularityclass C4
gdc.coar.access open access
gdc.coar.type text::journal::journal article
gdc.collaboration.industrial false
gdc.contributor.affiliation University of Missouri - Columbia en_US
gdc.contributor.affiliation 01. Izmir Institute of Technology en_US
gdc.contributor.affiliation University of Missouri - Columbia en_US
gdc.description.department İzmir Institute of Technology. Computer Engineering en_US
gdc.description.endpage 1156
gdc.description.publicationcategory Makale - Uluslararası Hakemli Dergi - Kurum Öğretim Elemanı en_US
gdc.description.scopusquality Q1
gdc.description.startpage 1141
gdc.description.volume 71 en_US
gdc.description.wosquality Q1
gdc.identifier.openalex W4285137371
gdc.identifier.wos WOS:000791712400001
gdc.index.type WoS
gdc.index.type Scopus
gdc.oaire.diamondjournal false
gdc.oaire.impulse 6.0
gdc.oaire.influence 3.0305223E-9
gdc.oaire.isgreen false
gdc.oaire.popularity 7.856709E-9
gdc.oaire.publicfunded false
gdc.oaire.sciencefields 03 medical and health sciences
gdc.oaire.sciencefields 0302 clinical medicine
gdc.oaire.sciencefields 0202 electrical engineering, electronic engineering, information engineering
gdc.oaire.sciencefields 02 engineering and technology
gdc.openalex.collaboration International
gdc.openalex.fwci 3.22157677
gdc.openalex.normalizedpercentile 0.87
gdc.openalex.toppercent TOP 10%
gdc.opencitations.count 7
gdc.plumx.crossrefcites 5
gdc.plumx.mendeley 3
gdc.plumx.scopuscites 8
gdc.scopus.citedcount 8
gdc.wos.citedcount 7
relation.isAuthorOfPublication.latestForDiscovery 0d844afc-e8be-479d-975d-06e205364426
relation.isOrgUnitOfPublication.latestForDiscovery 9af2b05f-28ac-4014-8abe-a4dfe192da5e

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Name:
Tracking_Code_Bug_Fix_Ripple_Effect.pdf
Size:
8.43 MB
Format:
Adobe Portable Document Format
Description:
Article

License bundle

Now showing 1 - 1 of 1
Loading...
Name:
license.txt
Size:
3.2 KB
Format:
Item-specific license agreed upon to submission
Description: