Gabriel Coutinho edited this page Oct 19, 2018 · 273 revisions

Reading Group

The paper reading group meets weekly during the semester to discuss papers. Participation is open to all, guests are always welcome; if you are interested in receiving invitations contact the organizer.

Each week we will discuss a different paper. The paper to discuss is announced about one week in advance by the organizer. All participants are expected to read the paper before the meeting. It is recommended to take notes about insights, questions, and other points potentially worth discussing.

The goals of the reading group are:

  • Critical reflection on scientific work
  • Practice of reading and argumentation strategies
  • Exposure to a broad range of research topics
  • Practice of leading group discussions

The discussion is limited to one hour. The discussion is lead by a moderator, who may also set a focus for the discussion. The moderator will kick off the meeting by giving a short summary of the paper and raising a few points for discussion. The moderator should try to incorporate all participants into the discussion. The moderator role rotates through all participants. The moderator is encouraged to help with the selection of a paper that week.

Time and location: Tuesdays 11:00am in Wean 4220.

Organizer: Gabriel Ferreira (gferreir at cs dot cmu dot edu)

Subscribe for announcements on the mailing list here:


The archive of discussed papers can be found here.

December 18 2018

TBA. Moderator: TBD

December 11 2018

TBA. Moderator: TBD

December 4 2018

TBA. Moderator: TBD

November 27 2018

TBA. Moderator: TBD

November 20 2018

TBA. Moderator: Chu-Pan

November 13 2018

TBA. Moderator: Christian

November 6 2018

TBA. Moderator: Miguel

October 30 2018

TBA. Moderator: Shurui

October 23 2018

Mukelabai Mukelabai, Damir Nešić, Salome Maro, Thorsten Berger, and Jan-Philipp Steghöfer. Tackling Combinatorial Explosion: A Study of Industrial Needs and Practices for Analyzing Highly-Configurable Systems. Proc. of ASE: 155-166 (2018). Moderator: Jens

October 16 2018

Kami Vaniea and Yasmeen Rashidi. Tales of Software Updates: The Process of Updating Software. Proc. of CHI: 3215-3226 (2016). Moderator: Gabriel

October 9 2018

Sai Zhang and Michel D. Ernst. Automated Diagnosis of Software Configuration Errors. Proc. of ICSE: 312-321 (2013). Moderator: Chu-Pan

October 2 2018

Mikaela Cashman, Myra B. Cohen, Priya Ranjan, and Robert W. Cottingham. Navigating the Maze: The Impact of Configurability in Bioinformatics Software. Proc. of ASE: 757-767 (2018). Moderator: Christian

September 25 2018

Lisa Nguyen Quang Do, Karim Ali, Benjamin Livshits, Eric Bodden, Justin Smith, and Emerson Murphy-Hill. Just-in-time Static Analysis. Proc. of ISSTA: 307-317 (2017). Moderator: Miguel

September 18 2018

John Businge, Openja Moses, Sarah Nadi, Engineer Bainomugisha, and Thorsten Berger. Clone-Based Variability Management in the Android Ecosystem. Proc. of ICSME, Industry Track (2018). Moderator: Shurui

September 11 2018

Mengtao Sun and Gang Tan. NativeGuard: Protecting Android Applications from Third-party Native Libraries. Proc. of WiSec: 165-176 (2014). Moderator: Gabriel

August 29 2018

Valeria Borsotti. Barriers to Gender Diversity in Software Development Education: Actionable Insights from a Danish Case Study. Proc. of ICSE-SEET: 146-152 (2018). Moderator: Christian

August 21 2018

Xiangyu Zhang, Sriraman Tallam, Neelam Gupta, and Rajiv Gupta. Towards Locating Execution Omission Errors. Proc. of PLDI: 415-424 (2007). Moderator: Chu-Pan

August 14 2018

Xin Zhang, Yang Chen, Yongfeng Gu, Weiqin Zou, Xiaoyuan Xie, Xiangyang Jia, and Jifeng Xuan. How do Multiple Pull Requests Change the Same Code: A Study of Competing Pull Requests in GitHub. Proc. of ICSME (2018). Moderator: Luyao

August 7 2018

Byron DeVries and Betty H. C. Cheng. Run-time Monitoring of Self-adaptive Systems to Detect N-way Feature Interactions and their Causes. Proc. of SEAMS: 94-100 (2018). Moderator: Jens

July 31 2018

Erik Wittern, Philippe Suter, and Shriram Rajagopalan. A Look at the Dynamics of the JavaScript Package Ecosystem. Proc. of MSR: 351-361 (2016). Moderator: Hannah

July 24 2018

Samim Mirhosseini and Chris Parnin. Can Automated Pull Requests Encourage Software Developers to Upgrade Out-of-date Dependencies?. Proc. of ASE: 84-94 (2017). Moderator: Kallil

July 17 2018

Thomas Laurent, Mike Papadakis, Marinos Kintis, Christopher Henard, Yves L. Traon and Antonhy Ventresque. Assessing and Improving the Mutation Testing Practice of PIT. Proc. of ICST: 430-435 (2017). Moderator: Serena

July 10 2018

Jailton Coelho, Marco Tulio Valente, Luciana Silva, and Andre Hora. Why We Engage in FLOSS: Answers from Core Developers. Proc. of CHASE (2018). Moderator: Shurui

July 3 2018

Alexandre Decan, Tom Mens, and Eleni Constantinou. On the Impact of Security Vulnerabilities in the NPM Package Dependency Network. Proc. of MSR (2018). Moderator: Gabriel

June 26 2018

Guoliang Jin, Linhai Song, Xiaoming Shi, Joel Scherpelz, and Shan Lu. Understanding and Detecting Real-world Performance Bugs. Proc. of PLDI: 77-88 (2012). Moderator: Pooyan

June 19 2018

Xavier Devroey, Gilles Perrouin, Mike Papadakis, Axel Legay, Pierre-Yves Schobbens, and Patrick Heymans. Featured model-based Mutation Analysis. Proc. of ICSE: 655-6662 (2016). Moderator: Chu-Pan

June 12 2018

Caitlin Sadowski, Edward Aftandilian, Alex Eagle, Liam Miller-Cushon, and Ciera Jaspan. Lessons from Building Static Analysis Tools at Google. Communications of the ACM, 61(4): 58-66 (2018). Moderator: Christian

May 22 2018

Yue Jia and Mark Harman. Higher Order Mutation Testing. Information and Software Technology, 51(10): 1379-1393 (2009). Moderator: Chu-Pan

May 15 2018

Jonathan Kaldor, Jonathan Mace, Michał Bejda, Edison Gao, Wiktor Kuropatwa, Joe O'Neill, Kian Win Ong, Bill Schaller, Pingjia Shan, Brendan Viscomi, Vinod Venkataraman, Kaushik Veeraraghavan, and Yee Jiun Song. Canopy: An End-to-End Performance Tracing And Analysis System. Proc. of SOSP: 34-50 (2017). Moderator: Pooyan

May 8 2018

Andrew J. Ko and Brad A. Myers. Debugging Reinvented: Asking and Answering Why and Why Not Questions About Program Behavior. Proc. of ICSE: 301-310 (2008). Moderator: Jens

May 1 2018

Justin Middleton, Emerson Murphy-Hill, Demetrius Green, Adam Meade, Roger Mayer, David White, and Steve McDonald. Which Contributions Predict Whether Developers Are Accepted Into GitHub Teams. Proc. of MSR (2018). Moderator: Shurui

Apr 24 2018

Shu Wang, Chi Li, Henry Hoffmann, Shan Lu, William Sentosa, and Achmad Imam Kistijantoro. Understanding and Auto-Adjusting Performance-Sensitive Configurations. Proc. of ASPLOS: 154-168 (2018). Moderator: Miguel

Apr 17 2018

Adam Alami, Yvonne Ditrich, and Andrzej Wąsowski. Influencers of Quality Assurance Practices in an Open Source Community. Proc. of CHASE (2018). Moderator: Gabriel

Apr 10 2018

John Downs, Beryl Plimmer, and John G. Hosking. Ambient Awareness of Build Status in Collocated Software Teams. Proc. of ICSE: 507-517 (2012). Moderator: Shurui

Apr 3 2018

Iago Abal, Jean Melo, Ştefan Stănciulescu, Claus Brabrand, Márcio Ribeiro, and Andrzej Wąsowski. Variability Bugs in Highly Configurable Systems: A Qualitative Analysis. TOSEM, 26(3): Article 10 (2018). Moderator: Chu-Pan

Mar 27 2018

René Just, Darioush Jalali, Laura Inozemtseva, Michael D. Ernst, Reid Holmes, and Gordon Fraser. Are Mutants a Valid Substitute for Real Faults in Software Testing?. Proc. of FSE: 654-665 (2014). Moderator: Eduardo

Mar 20 2018

Xue Han and Tingting Yu. An Empirical Study on Performance Bugs for Highly Configurable Software Systems. Proc. of ESEM: Article 23 (2016). Moderator: Miguel

Mar 13 2018

Peter Ohmann and Ben Liblit. Lightweight Control-flow Instrumentation and Postmortem Analysis in Support of Debugging. Proc. of ASE: 378-388 (2013). Moderator: Jens

Mar 06 2018

Heather Miller, Philipp Haller, Eugene Burmako, and Martin Odersky. Instant Pickles: Generating Object-Oriented Pickler Combinators for Fast and Extensible Serialization. Proc. of OOPSLA: 183-202 (2013). Moderator: Christian

Feb 27 2018

Elena L. Glassman, Tianyi Zhangk, Björn Hartmann, and Miryung Kim. Visualizing API Usage Examples at Scale. Proc. of CHI (2018). Moderator: Larissa

Feb 20 2018

Mukund Raghothaman, Sulekha Kulkarni, Kihong Heo, and Mayur Naik. Interactive Program Reasoning using Bayesian Inference. Unpublished draft. Moderator: Pooyan

Feb 13 2018

Erik Derr, Sven Bugiel, Sascha Fahl, Yasemin Acar, and Michael Backes. Keep me Updated: An Empirical Study of Third-Party Library Updatability on Android. Proc. of CCS: 2187-2200 (2017). Moderator: Gabriel

Feb 06 2018

Igor Steinmacher, Gustavo Pinto, Igor Wiese, Marco Gerosa. Almost There: A Study on Quasi-Contributors in Open-Source Software Projects. Proc. of ICSE (2018). Moderator: Shurui

Jan 30 2018

Leonardo Da Silva Sousa, Anderson Oliveira, Willian Oizumi, Simone Diniz Junqueira Barbosa, Alessandro Garcia, Jaejoon Lee, Marcos Kalinowski, Rafael de Mello, Baldoino Neto, Roberto Oliveira, Carlos Lucena, Rodrigo Paes. Identifying Design Problems in the Source Code: A Grounded Theory. Proc. of ICSE (2018). Moderator: Eduardo

Jan 23 2018

Yonghwi Kwon, Dohyeong Kim, William Nick Sumner, Kyungtae Kim, Brendan Saltaformaggio, Xiangyu Zhang, and Dongyan Xu. 2016. LDX: Causality Inference by Lightweight Dual Execution. Proc. of ASPLOS: 503-515 (2016). Moderator: Jens

Jan 16 2018

Klaas-Jan Stol, Paul Ralph and Brian Fitzgerald. Grounded Theory in Software Engineering Research: A Critical Review and Guidelines. Proc. of ICSE: 120-131 (2016). Moderator: Christian

Suggestions for future readings

Additional suggestions are welcome. Software engineering and PL papers are in scope, preferably with a focus on variability or other concepts related to the research of participants. Papers on research methods or meta discussions (peer reviews etc) are welcome as well.

Methods and about research

  • Views on Internal and External Validity in Empirical Software Engineering (Siegmund, Siegmund, Apel)
  • Grounded Theory in Software Engineering Research: A Critical Review and Guidelines (Stol, Ralph, Fitzgerald)
  • False-positive Psychology: Undisclosed Flexibility in Data Collection and Analysis Allows Presenting Anything as Significant. (Simmons, Nelson, Simonsohn)
  • Single versus Double Blind Reviewing at WSDM 2017 (Tomkins, Zhang, Heavlin)

Product lines (in the broadest sense)

  • Iago Abal, Claus Brabrand, Andrzej Wasowski. 42 variability bugs in the linux kernel: a qualitative analysis. ASE 2014
  • Feature oriented refactoring of legacy applications. Jia Liu, Don Batory and Christian Lengauer. Proc. of ICSE: 112—121 (2006)
  • Czarnecki, Krzysztof, and Michał Antkiewicz. "Mapping features to models: A template approach based on superimposed variants." In Generative Programming and Component Engineering, pp. 422-437. Springer Berlin Heidelberg, 2005.
  • Thaker, Sahil, Don Batory, David Kitchin, and William Cook. "Safe composition of product lines." In Proceedings of the 6th international conference on Generative programming and component engineering, pp. 95-104. ACM, 2007.
  • The Choice Calculus
  • Reverse Engineering Feature Models (She, Lotufo, Berger, Wasowski, Czarnecki)
  • Feature-Oriented Programming: A Fresh Look at Objects (Prehofer)
  • Evolution in Software Product Lines: Two Cases. (Svahnber, Bosch)

DSLs and modularity

  • Declaratively Programming the Mobile Web with Mobl (Hemmel, Visser)
  • something on mbeddr, e.g., Embedded Software Development with Projectional Language Workbechnes (Voelter)
  • Robert J. Walker, Shreya Rawal and Jonathan Sillito. Do crosscutting concerns cause modularity problems?. Proc. of ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering (FSE) (2012)
  • Programming with Crosscutting Effective Views. Doug Janzen and Kris De Volder. Proc. of ECOOP: 275—306 (2004)
  • something on module systems
  • Revisiting Information Hiding: Reflections on Classical and Nonclassical Modularity (Ostermann, Giarrusso, Kaestner, Rendel)
  • The Paradoxical Success of Aspect-Oriented Programming (Steimann)

Software engineering and empirical studies

  • Ksplice: Automatic Rebootless Kernel Updates (Arnold, Kaashoek)
  • A Degree-of-Knowledge Model to Capture Source Code Familiarity (Fritz, Ou, Murphy, Murphy-Hill)
  • Hipikat: Recommending Pertinent Software Development Artifacts (Cubranic, Murphy)
  • A Large-scale study of programming languages and code quality in GitHub (Ray et al.)
  • Lightweight control-flow instrumentation and postmortem analysis in support of debugging (P. Ohmann, B. Liblit)
  • An Experiment about Static and Dynamic Type Systems: Doubts about the Positive Impact of Static Type Systems on Development Time (Hanenberg)
  • Truth in Advertising: The Hidden Cost of Mobile Ads for Software Developers (Gui, Mcilroy, Nagappan, Halfond)
  • A Comparative Study of Programming Languages in Rosetta Code (Nanz, Furia)
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.