Researchers in Software Engineering Share Expertise to Deliver Excellence
10/19/2021 11:17:09 AM
After 16 years as a faculty member, Professor Darko Marinov can point to several reasons for the success of Illinois CS software engineering researchers.
Not a single reason is more important, though, than the people who surround him in the offices and classrooms at the Thomas M. Siebel Center for Computer Science.
Constant interaction, based around a desire to push this area of computing forward, has led to a high level of discovery and execution. It also provides the impetus to never slow down, never back away from new challenges, never stop seeking new insight.
Indications of Excellence in Software Engineering
Citing friendly faculty members whose accessibility and encouragement bolstered his research efforts, Illinois CS PhD student Sam Cheng enjoyed conducting the research on reordering configuration testing that won the ACM SIGSOFT Distinguished Paper Award.
“This project was definitely worth all of the effort,” Cheng said. “Because we have such a unique advantage in terms of faculty and student resources – derived from a collaborative vibe coming from state-of-the-art researchers in software engineering and systems – I cannot imagine how this result could be accomplished anywhere else.”
Other recent examples of excellence in software engineering at Illinois CS include:
Wenyu Wang's Distinguished Paper Award at ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering. Authors also included professors Tianyin Xu and Tao Xie.
Recent awards from ACM SIGSOFT: Tao Xie won Distinguished Service Award in 2021; Lingming Zhang won Early Career Researcher Award in 2021; August Shi won Outstanding Doctoral Dissertation Award in 2021.
New Illinois CS Assistant Professor Reyhaneh Jabbarvand's Google PhD Fellowship, which lasted from 2018-2020 in Programing Technology and Software Engineering for her work on advancing energy testing of Android. Currently, Jabbarvand’s research focuses on neural program analysis and autonomy testing of self driving cars.
Test-of-time awards: Darko Marinov won two ACM SIGSOFT Impact Paper Awards (only one given per year, the only person with two such awards).
Illinois CS professor Sasa Misailovic earned Honorable mention, Test of Time Award, at ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE).
“Software engineering is about teams organizing to handle specific responsibilities for an associated project. How do we write code? How do we test code? How do we deploy code?” Marinov said. “This combination of practical and intellectually stimulating work done here on a consistent basis proves academic relevance. Nothing helps this process more than having faculty members right down the hallway from me who serve as experts in related areas.
“Their willingness to share in a collaborative spirit pushes our work forward.”
Marinov said that their progress often comes from collaboration, but for that to occur, a number of interactions must take place.
Take, for example, the way Marinov, Xu and Zhang each guided PhD student Sam Cheng’s work to become the 2021 ACM SIGSOFT Distinguished Paper Award winner.
From a kernel of an idea, Cheng worked with faculty to form a research paper titled, “Test-case prioritization for configuration testing.” Reviewers of the ACM SIGSOFT Award heralded this as the world’s first solution using test-case prioritization to reorder configuration testing, thus speeding up detection of misconfigurations.
Marinov connected the correct dots
As a de facto coordinator for the entire effort – in part because he was Cheng’s co-adviser – Marinov helped not only with the technical components of the work but also from an organizational and structural point-of-view.
“I ended up serving as a bit of a bridge between Sam and the faculty involved,” Marinov said. “Perhaps this is because I’m a senior person for a project like this, but I was able to help put the pieces together for how best to address the issue. But students do the work, so Sam became the one who wrote the scripts, conducted the experiments and wrote the paper – although he leaned on all of us for polishing the paper.”
The collaborative aspect of the project, while wonderful in providing a spark, can also be overwhelming.
Cheng, as a second-year PhD student, had to account for multiple perspectives coming from three highly accomplished faculty members. Marinov helped the student decipher the input, but, ultimately, it was up to Cheng to choose the path forward.
“First, this is a credit to Sam, because he was willing to listen to advice from all three of us,” Marinov said. “Of course, it’s possible to hear conflicting advice. So, he had to make some of the decisions on his own, after taking in each point of view to better understand it.”
This collaborative process is not new to Marinov, who co-advises six of his 12 PhD students and five of his 10 graduate students.
The professor still gets a rush from seeing students thrive under the tutelage of several helpful faculty members. From identifying a particular problem and creating a new solution for it, Cheng impressed every faculty member he came across during this project.
“Incredible students are what make this department excellent, too; it’s not just the faculty, it’s the students,” Marinov said. “Faculty can do the theoretical work, but anything that’s applied – that involves system building, programming, writing code or hardware – we rely on the students.
“The fact is that they are strong, they have skills and they want to work with us.”
Xu’s vision captured the project’s genesis
A year ago, Cheng’s work as a PhD student started with Xu’s big-vision project known as continuous configuration testing.
Xu explained that the goal is to “develop new, practical testing techniques to help cloud and datacenter systems effectively detect faulty configuration changes before deployment to prevent production failures.”
The professor’s experience on this project dates to his own days as a PhD student and experience in industry.
Together, Cheng, Xu, other students and collaborators of Xu’s group began asking questions about the practical problems of configuration testing in real-world deployments.
When they sought outside perspectives on their progress, they turned to Marinov.
It couldn’t have been more natural for Xu to include Marinov, who is his mentor and a person he considers one of his closest friends. Countless midnight chats over research topics have inspired progress that each attribute to the other.
“For this work, Darko repetitively asked important questions, such as: What do we need to identify to deploy configuration testing in cloud and Internet companies like Facebook and Google tomorrow?” Xu said. “One key problem is test efficiency, which Sam’s project attacked.”
Marinov’s outside perspective helped Xu and Cheng address the problem in a different way and exemplified the collaborative spirit among software engineering faculty.
“To me, there is nothing more fun than exchanging ideas, sharing expertise, and working with people I love to accomplish bigger results that I, alone, can never accomplish,” Xu said. “There is no magic or secret sauce. It’s all about hard work, experience, and some luck.”
By sharing expertise, the next step in this project became clear.
“One effective approach to improving test efficiency is test-case prioritization (TCP), which is widely developed for traditional software tests,” Xu said. “However, there is no TCP technique available for configuration testing because this new technique breaks many assumptions of traditional TCP. Darko and I were brainstorming about designing new TCP techniques for configuration testing when, luckily, Lingming joined the department last semester.
“He is an expert in TCP, and with him on board we had a dream team for this project.”
Collaborative success leaves Zhang inspired
Zhang, meanwhile, grew excited about the project – not only because of the technical component, but also because it represented his first collaborative work as an Illinois CS professor.
Although new to the faculty, Zhang is not unfamiliar to the group. While at the University of Texas at Dallas, he had worked with Marinov previously through a joint grant. Zhang even knew Xu 18 years ago, as they were both undergraduate classmates at Nanjing University.
“I was super excited about the opportunity to work with this strong team,” Zhang said. “For the project, we did see a lot of potential to bridge software engineering and systems research. During the process, professor Xu's in-depth knowledge of the problem domain, professor Marinov's unique vision to bridge the gap between the two areas, and, of course, Sam's hard work all became indispensable to the success of the project.”
In his coordinator role, Marinov saw the expertise that each Zhang and Xu brought to this project as instrumental to its development.
That all three could collaborate from the same institution meant progress could occur quickly.
“Lingming provided more of a solution domain and solution expertise,” Marinov said. “His work in test prioritization centers around the idea that reordering and prioritizing your tests differently will help find a bug faster. This knowledge is critical to the process, because if you have a bug, and your test doesn’t uncover it immediately, you may spend hours or days trying to find that bug.
“If you find it at the beginning, though, the solution can take place in just seconds or minutes.”
The result became something that Zhang felt proud of in the near term, but also excited about in terms of future possibilities.
“I am very happy to see this wonderful result and would say that this is definitely the joint effort of our team,” Zhang said. “This is my first ever joint project with my new colleagues at Illinois, and it means a lot to me and my group. I already cannot wait to start more collaborative work with Tianyin, Darko, Sam, as well as other colleagues and students at Illinois.”