Vijay Walunj

dblp:242/2996 · DBLP profile ↗
← Back
4ranked-venue papers
2as first author
3since 2021 · last 2022
0000-0002-9295-077XORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 3 · 1 first-author · 3 since 2021Artificial intelligence and machine learning · 1 · 1 first-authorDatabases, data management, data science and information retrieval · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1 · 1 first-author
YearPublicationVenuePosition
2022 A fine-grained data set and analysis of tangling in bug fixing commits
abstract
Abstract Context Tangled commits are changes to software that address multiple concerns at once. For researchers interested in bugs, tangled commits mean that they actually study not only bugs, but also other concerns irrelevant for the study of bugs. Objective We want to improve our understanding of the prevalence of tangling and the types of changes that are tangled within bug fixing commits. Methods We use a crowd sourcing approach for manual labeling to validate which changes contribute to bug fixes for each line in bug fixing commits. Each line is labeled by four participants. If at least three participants agree on the same label, we have consensus. Results We estimate that between 17% and 32% of all changes in bug fixing commits modify the source code to fix the underlying problem. However, when we only consider changes to the production code files this ratio increases to 66% to 87%. We find that about 11% of lines are hard to label leading to active disagreements between participants. Due to confirmed tangling and the uncertainty in our data, we estimate that 3% to 47% of data is noisy without manual untangling, depending on the use case. Conclusion Tangled commits have a high prevalence in bug fixes and can lead to a large amount of noise in the data. Prior research indicates that this noise may alter results. As researchers, we should be skeptics and assume that unvalidated data is likely very noisy, until proven otherwise.
Steffen Herbold, Alexander Trautsch, Benjamin Ledel, Alireza Aghamohammadi, Taher Ahmed Ghaleb, Kuljit Kaur Chahal, Tim Bossenmaier, Bhaveet Nagaria, Philip Makedonski, Matin Nili Ahmadabadi, Kristóf Szabados, Helge Spieker, Matej Madeja, Nathaniel Hoy, Valentina Lenarduzzi, Shangwen Wang, Gema Rodríguez-Pérez, Ricardo Colomo-Palacios, Roberto Verdecchia, Paramvir Singh, Yihao Qin, Debasish Chakroborti, Willard Davis, Vijay Walunj, Diego Marcilio, Omar Alam, Abdullah Aldaeej, Idan Amit, Burak Turhan, Simon Eismann, Anna-Katharina Wickert, Ivano Malavolta, Matús Sulír, Fatemeh Hendijani Fard, Austin Z. Henley, Stratos Kourtzanidis, Eray Tüzün, Christoph Treude, Simin Maleki Shamasbi, Ivan Pashchenko, Marvin Wyrich, James C. Davis 0001, Alexander Serebrenik, Ella Albrecht, Ethem Utku Aktas, Daniel Strüber 0001, Johannes Erbel
Empir. Softw. Eng.24
2022 Defect prediction using deep learning with Network Portrait Divergence for software evolution
Vijay Walunj, Gharib Gharibi, Rakan Alanazi, Yugyung Lee
Empir. Softw. Eng.1
2021 Automated end-to-end management of the modeling lifecycle in deep learning
Gharib Gharibi, Vijay Walunj, Raju Nekadi, Raj Marri, Yugyung Lee
Empir. Softw. Eng.2
2019 GraphEvo: Characterizing and Understanding Software Evolution using Call Graphs
abstract
Understanding software evolution is an imperative prerequisite for software related activities such as testing, debugging, and maintenance. As a software system evolves, it increases in size and complexity, introducing new challenges of understating the inner system interactions and subsequently hinders the overall system comprehension. While tools that construct and visualize call graphs have been used to facilitate software comprehension, they are still limited to capturing the functionality of a single software system at a time. However, understanding the similarities and differences across multiple releases becomes an imperative and challenging task during software evolution. To this end, we present a tool, named GraphEvo, that focuses on automating the process of quantifying and visualizing the changes across multiple releases of a software system based on an information-theoretic approach to compare the call graphs. Specifically, GraphEvo can automatically (1) construct and visualize the call graph for one or more software releases, (2) calculate and display a set of graph-based metrics, and (3) construct color-coded call graphs to visualize system evolution. The main goal of GraphEvo is to assist software developers and testers in exploring and tracking software changes over time. We demonstrate the functionality of GraphEvo by analyzing and studying five real software systems throughout their entire lifespan. The tool, evaluation results, and a video demo are available at https://goo.gl/8edZ64.
Vijay Walunj, Gharib Gharibi, Duy H. Ho, Yugyung Lee
IEEE BigData1