SCS Researchers Honored for Influential Work in Software Engineering

Marylee WilliamsThursday, April 17, 2025

To celebrate its Golden Jubilee, IEEE's Transactions on Software Engineering journal recently selected the most influential papers it has published. Four papers from SCS researchers were among them.

Four researchers at Carnegie Mellon University's School of Computer Science (SCS) are credited with producing some of the most influential papers in software engineering.

To celebrate its Golden Jubilee, the Institute of Electrical and Electronics Engineers (IEEE) Transactions on Software Engineering recently selected the most influential papers it has published. IEEE's associate editors reviewed and selected papers from the last four decades and invited authors to write retrospectives on their work.

The journal recognized Mary Shaw's 1995 paper on software architecture for its contribution to software engineering. Shaw, the Alan J. Perlis University Professor of Computer Science in the Software and Societal Systems Department (S3D), and her colleagues explored the foundations of software architecture and how defining system structure, interactions between components and the importance of architectural decisions can be used to achieve things such as scalability and performance.

"Our original paper helped to define the field of software architecture and shape the first phase of its evolution," wrote researchers Shaw; Daniel Klein, a CMU alumnus in applied mathematics; and Theodore Ross, who earned his master's from CMU's Software Engineering Institute. "Today, few developers need to concern themselves with the conceptual complexity of the architecture they are creating, because much of the effort in creating a system has been abstracted away into language and infrastructure features.

S3D Professor James Herbsleb and Audris Mockus, a professor at the University of Tennessee Knoxville, were honored for their investigation into the impact of geographic distribution on speed and communication in software development. The researchers found that distributed work items take about 2.5 times longer to complete than work items in a shared facility, primarily because they involve more people. In the retrospective, the researchers noted that they contributed to the growth of research into global software development, among other things. But they also said that in today's global technological landscape, the context in which their work was originally anchored is gone.

"We take this paper life cycle as a good thing — it would be disappointing for our field if collaboration challenges still appeared in the same form, and if today's problems and the search for solutions were indistinguishable from what software engineers experienced two decades ago," Herbsleb and Mockus wrote. "Fortunately, the field has moved on (and, of course, so have we!)."

IEEE also selected a 2006 study from a team in CMU's Human-Computer Interaction Institute (HCII) that looked into developers' strategies to understand code and suggested improvements for software development tools to support that work. The team included Amy Ko and Michael Coblenz, who worked on the research while at SCS; Htet Htet Aung, who earned a master's degree in human-computer interaction; and Professor Brad Myers, the Charles M. Geschke director of the HCII. This research improved understanding of how developers behave and noted failures that arise from misrepresented cues in the programming environment. The paper proposed a model for program understanding as a process of searching, relating and collecting relevant information based on cues from the programming environment. In their retrospective, the researchers looked to the future.

"As notable as all of this work is, it is clear that software development, and programming more broadly, is in another period of disruption," they wrote. "We appear to be at the end of 20 years of the web transforming how developers get answers to questions about languages, APIs, frameworks and more."

Researchers who published the 2012 paper "GenProg: A Generic Method for Automatic Software Repair" were also invited to publish a retrospective. The research team included Claire Le Goues, an S3D professor; ThanhVu Nguyen, an associate professor at George Mason University; Stephanie Forrest, a professor at Arizona State University; and Westley Weimer, a professor at the University of Michigan. In their research, they created a tool that uses genetic programming to automatically generate fixes for computer program bugs. Evolution inspires genetic programming, which uses mutation and crossover to generate new program variations.

"GenProg was impactful because it demonstrated the feasibility of automating program transformation for bug repair on large (for the time) corpora of real-world open-source software used in production," the researchers wrote. "Automating this type of programming had been proposed, particularly in the evolutionary computation research area, but never explored seriously for production code."

Learn more about the research and retrospectives in the IEEE Transactions on Software Engineering Golden Jubilee issue.

For More Information

Aaron Aupperlee | 412-268-9068 | aaupperlee@cmu.edu