Week 10 (7/22 - 7/26)
This week is the last week of my internship. I feel that I have accomplished a lot, having completed the task of fixing and analyzing all the failed patches and my final report.
An enthusiastic undergraduate Computer Science student eager to develop research skills and contribute to innovative projects, particularly in Software Research Testing.
This week is the last week of my internship. I feel that I have accomplished a lot, having completed the task of fixing and analyzing all the failed patches and my final report.
This week, I knew what to do. My task is to finish this project with 160 cases. It is tedious, but this is part of the research.
This week, Hurricane Beryl hit Houston, leaving my community without power and Wi-Fi service. This was the first time I experienced a life without electricity for an extended period. After a few days, our family found a hotel in The Woodlands, where just staying cool felt like a luxury. On Thursday and Friday, I was able to get work done.
Realizing that I should not modify the source code, I reworked last week’s task using a completely different approach. By creating my own patch files and manually applying the patches, I was able to make significant progress on the task and uncover important findings.
This week, I reworked the task of converting the Defects4J bugs into Maven projects after discovering issues with my previous script. Then, I began working on the task of making all the patches pass their failed tests. To do this, I modified the source codes and then applied the patches to see if they would pass the tests.
After realizing a mistake in my methodology, I reworked last week’s task and moved on to converting all non-Maven projects in Defects4J into Maven projects. Many Defects4J projects are non-Maven, primarily using Ant and Gradle. Converting these projects to Maven will enable me to run PITest (PIT) for mutation testing.
This week, I began processing the patches. I received a large zip file from Dr. Ghanbari containing patches for bugs in Defects4J. Defects4J currently contains approximately 700 bugs in its library, and Dr. Ghanbari obtained a large collection of patches for these bugs. The problem is that these patches are not properly categorized. My task is to go through every documented bug in the zip file and all of its patches, filtering out the patches that fail the test suite.
This week marks the beginning of an exciting hands-on task, where I will put into practice the knowledge gained from previous weeks into practical settings. In this task, I will be checking out Defects4J bugs listed in a compressed file named “patches-dataset.tar.gz”, applying patches to them, and running their test cases to ensure that all the test cases pass. The main objective of this task is to develop proficiency in checking out bugs from the repository, applying patches to resolve them, and conducting quality assurance through immersive, hands-on practice.
During the second week of my internship, I continued to read research papers and deepen my understanding of the basic concepts related to my project, building on the knowledge I gained in the first week. By the end of the week, I felt more prepared to begin working on my project.
Embarking on my research internship fills me with anticipation! I am eager to hone my research skills and immerse myself in meaningful projects. During my first week, I spent most of my time setting up my workspace and learning about the fundamentals of my project.