In our quest to celebrate and illuminate the world of cutting-edge research and the brilliant minds that drive it, we present to you the Researcher Interviews.
In this instalment, we delve into the fascinating realm of automatic program repair in software engineering, guided by the exceptional insights of an accomplished award-winning researcher, Vinay Kabadi, a Research Scholar, University of Melbourne in the domain of Automatic Program Repair in Software Engineering
With over 16 years of experience in software development and a rich tapestry of achievements, Vinay has garnered acclaim for his outstanding contributions to the field. Notably, his research paper, “The Future Can’t Help Fix The Past: Assessing Program Repair In The Wild,” was recognized with the prestigious Distinguished Paper Award, (ICSME 2023) , Issued by Universidad de los Andes · Oct 2023. This award-winning paper explores critical aspects of automated program repair, offering valuable insights for researchers and practitioners alike.
As we sit down with Vinay, we unravel the layers of his research journey, his dedication to pushing the boundaries of knowledge, and the lessons learned along the way. From the inception of his interest in automatic program repair to the challenges faced during his academic pursuit, we aim to provide our audience with a glimpse into the world of academia, research methodologies, and the passion that drives impactful research.
Join us in this engaging conversation, as we glean from Vinay’s wisdom and experience, drawing inspiration to further our own academic endeavours and contribute to the ever-evolving landscape of research and technology.
Before we delve into the depths of your research journey and the intriguing world of automatic program repair, we want to extend our heartfelt congratulations to you on the well-deserved recognition your paper, “The Future Can’t Help Fix The Past: Assessing Program Repair In The Wild,” has received with the Distinguished Paper Award.
Earning this accolade is a testament to your dedication, hard work, and innovative approach in the field of software engineering. Your contribution to the domain of automatic program repair is commendable and stands as an inspiration to aspiring researchers and professionals in this ever-evolving field.
We are honoured to have you with us today to share insights into your research, methodologies, and experiences. Let’s take this opportunity to celebrate your achievements and delve into the fascinating journey that led you to this notable accomplishment.
I have written an article on ” 08 Untold Secrets Revealed for Winning Best Paper Award”. This article will help you in writing a quality paper that will have a high probability of winning Best Paper Award.
A Conversation with Vinay Kabadi Research Scholar, University of Melbourne, on Award-Winning Research
- Can you share a bit about your educational journey and how it shaped your path toward becoming a researcher?
Vinay: My father has been a great influencer. his commitment to lifelong learning and self-improvement has been a major inspiration in shaping my academic path. Witnessing him pursue his Masters and later his PhD at IIT Kharagpur, especially in the later stages of his life, instilled in me a deep respect for education and personal growth. This has led to a diverse and enriching educational journey for me.
I started with a Bachelor of Engineering in Electronics and Communication, progressed to an MBA in General Management, followed by an M. Tech in Embedded Systems, and am now pursuing a PhD in Computer Science. Problem-solving has been a key theme throughout my educational and professional experiences, prompting me to participate in various research projects across both academic and industry settings.
My inclination towards problem-solving not only got me a US patent in my name but also won me various accolades in the industry. These achievements have strengthened my conviction that research is always an incremental step towards trying to make things better than they are. This belief has been a driving force in my academic journey and motivated me to pursue my academic research.
- What sparked your interest in the field of automatic program repair in software engineering?
Vinay: My interest in Automatic Program Repair was sparked during a meeting with Dr. Rao and Dr. Bach at the University of Melbourne. With around 15 years in software engineering and a relevant background in academics, I found this field to be an ideal fit, allowing me to fully leverage my skills and previous experiences.
- Your paper, “The Future Can’t Help Fix The Past: Assessing Program Repair In The Wild,” received the Distinguished Paper Award. Could you provide an overview of the key findings and the significance of your research?
Vinay: So far, the APR tools were generally evaluated on curated handmade datasets which was much needed for initial developments but in recent years we were starting to see that the results were getting better and better, so we thought to evaluate the performance of APR tools against the regression bugs. We found that results on the realistic bugs from CI/CD pipeline are 8 times lower compared to that on the curated dataset which sends out a very important message to the ARP research community that the curated dataset doesn’t represent the real-time bugs and for APR to be production ready testing them on regression bugs is necessary.
Here I advise my readers to visit my blog post on “Writing an Effective Research Paper with 11 Major Sections“. This article will help you in writing research papers effectively with a high probability of acceptance.
- How did you feel when you found out that your paper had received the Distinguished Paper Award, and what does this recognition mean to you and your research career?
Vinay: Having your very first research paper selected as a distinguished paper is a bit surprising, thrilling, and a bit surreal. It’s not usual for your academic work to get the red-carpet treatment! This experience took me down the memory lane of about five years ago when I submitted an industry paper and, to my delight, it too had bagged the Best Track Paper award. It’s much like a shy actor who keeps stumbling into lead roles.
- The research community often looks to award-winning papers for inspiration. Could you shed light on the research methodology and approach you used for this paper that made it stand out?
Vinay: So far, the repair tools have been tested in a very controlled environment which was obviously necessary to start the initial work. However this controlled dataset had bugs with future test cases, so we thought of testing them on the real-time bugs from the CI/CD pipeline.
We had to build a dataset very similar to the one existing so that the results could be comparable, and the point could be proven and building the dataset was the most challenging part. To explain in simple terms let me give you an example, in real-time when a build fails in the continuous integration due to a program defect it points towards a failing test case that might not have any hints for the upcoming fix that might be developed in future.
But in all the previous evaluations of APR, the tools have been tested generally on curated datasets like defects4J. Assume a functional issue is identified on a successful build(Vn-1), for which a fix is manually developed along with its test case and successfully built (Vn ). The latter is then separated where Vn is built only with the new test case without the fix (Vbug) which would have a failing test case and later the fix is committed (Vfix) to demonstrate a successful build.
Now we have a pair of failing and passing builds which is isolated to a particular program error. We take Vbug as a failing build with future test cases because this test case was developed after the fix was implemented. Since this test case was motivated by a specific functionality it could potentially have the key ingredients that could give hints towards the fix.
In the paper, we have provided such examples to refer to. Hence, we decided to work out a step-by-step approach to compare the results of APR tools on processed bugs vs unprocessed bugs.
- What challenges did you encounter during your research, and how did you overcome them?
Vinay: The major challenges were data collection and executing the bugs on the APR as each bug would need to be executed separately and would need its own configuration. The research work required a great amount of human effort and collaboration among the authors.
- How did you go about selecting and sourcing the data sets for your research, and were there any challenges or considerations in ensuring the quality and appropriateness of the data?
Vinay: Data collection was indeed one of the biggest challenges. There were two major parts to that, firstly to find the isolated bugs which address a single bug and not a collection or feature, it might not have been a challenge for the existing benchmark datasets due to its nature built with future test cases.
Secondly to make the regression dataset comparable to the existing benchmarks like defects4J for which we used the number of lines modified for each bug to compare against.
To ensure fairness, we used reasonably active and popular projects from GIT. We used purely Java only and maven projects for consistency and focussed solely on bugs errored out due to test case failure. Once a failing bug was identified attempt was made to find the associated successful build only then we would have a failing-passing pair.
Out of all the paired bugs obtained, we then tried to execute manually on the local machines to reproduce the bugs. These were not only very labour intensive but also would act a threat to the validity as it wouldn’t guarantee the same result on another machine.
- Could you share the software tools and technologies you utilized for data analysis, simulations, or other computational aspects of your research? How did these tools facilitate your work?
Vinay: To execute the bugs on the APR tools we used Astor an automatic software repair framework in Java which allowed us to run most of our tools in one place. To conduct the data analysis, we mainly used Python and Excel to some extent.
- GIT is a widely used version control system. Have you utilised Git in your research projects, especially in terms of collaboration, versioning, and tracking changes?
Vinay: Yes, our dataset is available in git and open for the community to access https://github.com/CI-Bugs/Repo1
- How do you envision the future of automatic program repair evolving, and what areas of research do you believe will be crucial in shaping its trajectory?
During my research, I envisioned an end-to-end automatic program repair framework where a failing bug should be identified right from the CI/CD pipeline, directed to a suitable tool based on the failing attributes, perform the automatic repair and then commit it back. The industry always looks at an end-to-end solution if it needs to be used in production.
- For those interested in reading your award-winning paper, “The Future Can’t Help Fix The Past: Assessing Program Repair In The Wild,” where can they access or find this paper for further reading and exploration of your research?
Vinay : https://ieeexplore.ieee.org/abstract/document/10336289
- What software or tools do you primarily use for writing and formatting your research papers, and why do you find them effective for your workflow?
Vinay : I primarily used Overleaf for drafting the paper as it is very easy to share collaborate and versioning purposes.
- What tools do you prefer for creating and delivering engaging and visually appealing presentations based on your research?
Vinay : PowerPoint is more a very powerful tool for visualisation, and I am using the same so far.
Visit my article on 7-Step Method for Creating a Powerful Research Paper Presentation at Conferences. This article will help you in preparing powerful research paper presentation from your research paper.
- Can you share your experience with networking and building connections within the research community, and how it contributed to the success of your paper?
Vinay: APR is a specialisation of my supervisor Dr. Bach who has been working in his area for quite some time now and he is the one who introduced me to his working group which is truly international in nature the authors and mentors are from Australia, Singapore, and China.
A part of the team had already started working on this idea and I joined them too as it was my area of research. I enjoyed working with Professor David from Singapore and truly appreciate my supervisor Dr Bach for all his support during this work.
- How do you stay updated with the latest advancements and trends in your research field, and how does this influence your work?
Vinay: Keeping up to date is a challenge and my supervisor gave me some tips on this to follow the most popular and active authors in this space to receive updates on their recent works. Also, walk through the listings of the conferences and see if someone has published any latest work in this space.
- Did presenting your research at conferences lead to any valuable collaborations, feedback, or opportunities for further advancement in your field?
Vinay: Yes definitely, during the conference in Colombia, I also happened to meet a few interesting people from other universities and from a few very prominent industries like Microsoft, Google, Siemens, etc. who gave me some new insights about the future of this research space and the other presenters too inspired me with their work and made good friends with them who I believe might work together some day.
- How do you approach networking during conferences, and do you have any tips for researchers to maximize their networking opportunities and make meaningful connections?
Vinay: Talking to people working in your related areas might lead to some interesting thought-proving ideas.
- How do you choose which conferences to attend, and what criteria do you consider when deciding whether a conference is beneficial for your research and career?
Vinay: I generally follow my supervisor Dr Bach’s footsteps and his advice is, to first look out for upcoming Rank A conferences which have their theme related to the research work. And if the theme of the conference matches with the context of your research, then it should be the one to apply. If there is any feedback, then work on it and apply the above rule in a loop.
Visit my article on “Avoiding Predatory Conferences and Journals: A Step by Step Guide for Researchers”. This article will help you in choosing the right conference for your research paper.
19. Any advice for young researchers on maintaining work-life balance while pursuing ambitious research goals?
Vinay: I am touched by this question because even I am too seeking a solution to find a real work-life-study balance as I am truly going through this phase now.
Me and my wife are a working couple with 2 kids to take care of and we have enough family goals and social engagements to stay connected with the community. With these commitments, it is indeed very ambitious to undertake research and it would take a toll on anyone. I feel I am lucky as my supervisor Dr. Bach and the University of Melbourne are very supportive and truly understand my situations and circumstances and support me in every way possible.
In practical terms, the only time I get for my research is at night times when everyone is sleeping and no one to disturb you. I also try to balance by alternatively taking some time off from my research and work. Well, there is no one solution I just keep trying various alternatives from time to time because the circumstances are never the same. Obviously, the family ends up sacrificing a lot and plays a great role when you need to achieve any ambitious goal and my family is no different.
- Finally, do you have any closing thoughts or messages you’d like to convey to fellow researchers or those who aspire to make a mark in this field?
Vinay: Well, during this conference interaction, as I was sharing my thoughts with other presenters, I realised that the Automatic Test Repair or Automatic test case generation is an interesting topic. Because a great amount of load would be off the program repair if there were enough test cases in the first place.
This led me to another thought that we should work towards a larger framework where we should envision a holistic repair framework where we should aim to repair any software projects at regular intervals in all aspects like test repair, program repair, and script repair so that we always try to fill in the gaps regularly so that the upcoming repairs have string foundation such that a repair is easily possible.
Vijay: Vinay, my heartfelt thanks for generously sharing your time, expertise, and invaluable insights with us today. Your journey in research and the depth of knowledge you have shared has been truly enlightening and inspiring.
Your dedication to advancing the field of automatic program repair and your outstanding achievements, including the Distinguished Paper Award, serve as a beacon for aspiring researchers. Your willingness to share your experiences and offer advice will undoubtedly resonate with our audience and guide them in their own research endeavours.
We sincerely appreciate your willingness to be a part of our Researcher Spotlight Series, and we look forward to following your continued success in the world of software engineering and beyond. Thank you once again, Vinay, for being with us today and sharing your remarkable journey with our audience.
Concluding Thoughts…….
As we conclude this insightful conversation with Vinay, we are reminded that excellence in research is not just about finding answers but asking the right questions and persevering in the face of challenges. Vinay’s journey exemplifies the dedication, passion, and innovation needed to make a significant impact in the world of automatic program repair. Let us all be inspired to reach for the stars in our own research pursuits, knowing that with dedication and determination, we too can achieve excellence.