Conference photo
ACM OOPSLA’17 conference. From left to right: Michael Bond, Danny Dig, Davood Mazinian, Jonathan Aldrich, Gail Murphy, Sam Tobin- Hochstadt.

Danny Dig with his students and collaborators won four prestigious research paper awards at international conferences this year. Dig, an associate professor of computer science in the College of Engineering at Oregon State University, researches software engineering. His focus is on interactive program transformations that improve programmer productivity and software quality.

conference photo
ICSME ’17 conference. From left to right: Nick Nelson and Thomas Zimmermann.

Distinguished Paper Award (awarded by ACM SIGSOFT at FSE ’17)

Trade-Offs in Continuous Integration: Assurance, Security, and Flexibility
Authors: Michael Hilton, Nicholas Nelson, Timothy Tunnell, Darko Marinov, and Danny Dig

Distinguished Paper Award (awarded by IEEE TCSE at ICSME’17)

Software Practitioner Perspectives on Merge Conflicts and Resolutions
Authors: Shane McKee, Nicholas Nelson, Anita Sarma, and Danny Dig

Distinguished Artifact Award (awarded by ACM SIGPLAN at OOPSLA’17)

Understanding the Use of Lambda Expressions in Java
Authors: Davood Mazinanian, Ameya Ketkar, Nikolaos Tsantalis, and Danny Dig

Best Paper Award (awarded by IBM at HICSS’17)

Are Web Applications Ready for Parallelism?
Authors: Cosmin Radoi, Stephan Herhut, Jaswanth Sreeram, and Danny Dig

Margaret Burnet
Margaret Burnett gives a keynote address at FSE 2016.

Oregon State University faculty and students were well represented at the premiere software engineering conference, ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2016) in Seattle November 13-18, 2016.

Distinguished Professor Margaret Burnett gave a keynote address titled Womenomics and Gender-Inclusive Software: What Software Engineers Need to Know, and five of the 74 papers presented there were from Oregon State which is an honor in itself. However, two of those papers were selected to receive Distinguished Paper Awards. Both papers aim to improve the efficiency of software development:

API Code Recommendation Using Statistical Learning from Fine-grained Changes

by Anh Nguyen, Michael Hilton, Mihai Codoban, Hoan Nguyen, Lily Mast, Eli Rademacher, Tien Nguyen and Danny Dig

Distinguished Paper Award
Distinguished Paper Award, FSE 2016. Pictured (left to right): Mihai Codoban (OSU alumus, now at Microsoft), Danny Dig (OSU), Michael Hilton (OSU) , Tien Nguyen (UT Dallas.) and three conference organizers.

Abstract: Learning and remembering how to use APIs is difficult. While code- completion tools can recommend API methods, browsing a long list of API method names and their documentation is tedious. Moreover, users can easily be overwhelmed with too much information. We present a novel API recommendation approach that taps into the predictive power of repetitive code changes to provide relevant API recommendations for developers. Our approach and tool, APIREC, is based on statistical learning from fine-grained code changes and from the context in which those changes were made. Our empirical evaluation shows that APIREC correctly recommends an API call in the first position 59% of the time, and it recommends the correct API call in the top 5 positions 77% of the time. This is a significant improvement over the state-of-the-art approaches by 30-160% for top-1 accuracy, and 10-30% for top-5 accuracy, respectively. Our result shows that APIREC performs well even with a one-time, minimal training dataset of 50 publicly available projects.

Foraging and Navigations, Fundamentally: Developers’ Predictions of Value and Cost

by David Piorkowski, Austin Henley, Tahmid Nabi, Scott Fleming, Christopher Scaffidi and Margaret Burnett

Distinguished Paper Award, FSE 2016.
Distinguished Paper Award, FSE 2016. Pictured (left to right) Margaret Burnett (OSU), Scott Fleming (Univ. Memphis, former OSU postdoc), David Piorkowski (OSU alum, now at IBM Research), Austin Henley (Univ. Memphis), and three conference organizers.

Abstract: Empirical studies have revealed that software developers spend 35%–50% of their time navigating through source code during development activities, yet fundamental questions remain: Are these percentages too high, or simply inherent in the nature of software development? Are there factors that somehow determine a lower bound on how effectively developers can navigate a given information space? Answering questions like these requires a theory that captures the core of developers’ navigation decisions. Therefore, we use the central proposition of Information Foraging Theory to investigate developers’ ability to predict the value and cost of their navigation decisions. Our results showed that over 50% of developers’ navigation choices produced less value than they had predicted and nearly 40% cost more than they had predicted. We used those results to guide a literature analysis, to investigate the extent to which these challenges are met by current research efforts, revealing a new area of inquiry with a rich and crosscutting set of research challenges and open problems.

Danny Dig
Danny Dig integrates lectures and labs in his courses on parallel programming for professionals.

Danny Dig, assistant professor of computer science at Oregon State University and Andrew Black, professor of computer science at Portland State University, are hosting a workshop in Portland, Oregon on October 17-19 for software professionals to learn the foundations of multicore programming in Java and JavaScript.

Dig’s research focus for the last 8 years has been on techniques for transforming sequential code into parallel code. He is acutely aware of the need for software developers to learn these techniques now that all new devices from smartphones to desktops use parallel processors. In response, he has organized workshops at Boeing and the Illinois-Intel Parallelism Center at the University of Illinois Urbana-Champaign to help professional programmers improve the performance of their applications by using parallelism in software.

Dig will instruct the class along with other software experts including Tim Matsson from Intel Corporation who is co-author of the influential book, “Patterns for Parallel Programming,” and Doug Lea, professor at State University of New York at Oswego and the lead architect of Java concurrency libraries.

“I teach it as a unique blend of lectures and labs that are deeply integrated. It’s not theoretical, it’s very hands-on,” Dig said. After 30 minutes of lecture, students work on planned exercises on their own laptops with help from teaching assistants.

Dig said that the very pragmatic approach has been well received by past participants. For example, a Boeing engineer commented: “Excellent course:  relevant, well done, timely.  Well worth the time and effort.  I would recommend this course to all our developers.”

Dig has also made changes to the course over the years based on comments from participants. Previous courses included additional programming languages like C++, but he said covering just Java and JavaScript has allowed him to go more in-depth into the main topics of parallelism.

This is the first time he will offer the class in a compressed format over a weekend instead of a full week, to make it easier for software developers to attend without missing work. The shortened course cannot cover all the same content, so he will offer additional resources for the material not covered, and there is a possibility he would offer a follow-up course based on interest.

Dig is excited to be hosting the class in Portland, a hub of software development, so he can start building relationships with local software practitioners.

“A constant dialogue with practitioners keeps my research centered and very focused on current software development problems,” he said.

But these classes fulfill another need for him as well.

“Fundamentally, I’m a teacher and I love seeing the lights go on — it’s my mission in life to help people develop their full potential,” Dig said.

Visit the Multicore Parallel Programming Summer School website for more details.