Skip to content
Gabriel Ferreira edited this page Dec 7, 2019 · 335 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: Mondays 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 16 2019

TBD. Moderator: Miguel

December 9 2019

Andreas Vogelsang and Markus Borg. Requirements Engineering for Machine Learning: Perspectives from Data Scientists. Proc. of AIRE (2019). Moderator: Shurui

December 2 2019

Cynthia Rudin. Stop Explaining Black Box Machine Learning Models for High Stakes Decisions and Use Interpretable Models Instead. Nature Machine Intelligence, 1: 206–215 (2019). Moderator: Christian

November 25 2019

Diane Tang, Ashish Agarwal, Deirdre O'Brien, and Mike Meyer. Overlapping Experiment Infrastructure: More, Better, Faster Experimentation. Proc. of SIGKDD: 17-26 (2010). Moderator: Jens

November 18 2019

James Somers (The Atlantic). The Scientific Paper Is Obsolete. Commun. ACM (2018). Moderator: Gabriel

November 11 2019

Ming Wen, Junjie Chen, Rongxin Wu, Dan Hao and Shing-Chi Cheung. Context-Aware Patch Generation for Better Automated Program Repair. Proc. of ICSE: 1-11 (2018). Moderator: Chu-Pan

November 4 2019

John Ousterhout. Always Measure One Level Deeper. Commun. ACM, 61(7): 74-83 (2018). Moderator: Miguel

October 28 2019

Andrew Head, Fred Hohman, Titus Barik, Steven M. Drucker, and Robert DeLine. Managing Messes in Computational Notebooks. Proc. of CHI: paper 270 (2019). Moderator: Shurui

October 21 2019

Jeffrey L. Jenkins, Bonnie Brinton Anderson, Anthony Vance, C. Brock Kirwan, David Eargle. More Harm Than Good? How Messages That Interrupt Can Make Us Vulnerable. Information Systems Research, 27(4): 880–896 (2016). Moderator: Gabriel

October 14 2019

Phu H. Nguyen, Hui Song, Franck Chauvel, Roy Muller, Seref Boyar, and Erik Levin. Using Microservices for Non-Intrusive Customization of Multi-Tenant SaaS. Proc. of ESEC/FSE, Industry Track: 905-915 (2019). Moderator: Wesley

October 7 2019

Bryan Muscedere, Robert Hackman, Davood Anbarnam, Joanne Atlee, Ian Davis and Michael Godfrey,. Detecting Feature-Interaction Symptoms in Automotive Software using Lightweight Analysis. Proc. of SANER: 175-185 (2019). Moderator: Jens

September 30 2019

Marwan Abi-Antoun and Jeffrey M. Barnes. Analyzing Security Architectures. Proc. of ASE: 3-12 (2010). Moderator: Christian

September 23 2019

Zhiyuan Wan, Xin Xia, David Lo, and Gail C. Murphy. How does Machine Learning Change Software Development Practices?. IEEE Transactions on Software Engineering, Early Access (2019). Moderator: Shurui

September 16 2019

Tianyin Xu. Configuration Testing: Testing Configuration Values Together with Code Logic. arXiv preprint arXiv:1905.12195 (2019). Moderator: Miguel

September 2 2019

René Just, Bob Kurtz, and Paul Ammann. Inferring Mutant Utility from Program Context. Proc. of ISSTA: 284-294 (2017). Moderator: Chu-Pan

July 30 2019

Frank DeRemer and Hans Kron. Programming-in-the Large versus Programming-in-the-small. Proc. of the International Conference on Reliable Software: 114-121 (1975). Moderator: Gabriel

July 23 2019

Joseph Simmons, Leif D. Nelson, and Uri Simonsohn. False-positive Psychology: Undisclosed Flexibility in Data Collection and Analysis Allows Presenting Anything as Significant. Psychological Science, 20: 1-8 (2011). Moderator: Ben

July 16 2019 (GHC 6002)

Sandeep Krishnamurthy, Arvind K. Tripathi. Monetary Donations To An Open Source Software Platform. Research Policy, 38(2): 404-414 (2009). Moderator: Cassandra

July 09 2019

Orni Meerbaum-Salant, Michal Armoni, and Mordechai Ben-Ari. Habits of Programming in Scratch. Proc. of ITiCSE: 168-172 (2011). Moderator: Annika

July 02 2019

Sule Anjomshoae, Amro Najjar, Davide Calvaresi, and Kary Främling. Explainable Agents and Robots: Results from a Systematic Literature Review. Proc. of AAMAS: 1078-1088 (2019). Moderator: Sydney

June 25 2019

Daniel M. German, Gregorio Robles, Germán Poo-Caamaño, Xin Yang, Hajimu Iida, and Katsuro Inoue. "Was My Contribution Fairly Reviewed?": A Framework To Study The Perception Of Fairness In Modern Code Reviews. Proc. of ICSE: 523-534 (2018). Moderator: Naveen Raman

June 19 2019

Janet Siegmund, Norbert Siegmund, and Sven Apel. Views on Internal and External Validity in Empirical Software Engineering. Proc. of ICSE: 9-19 (2015). Moderator: Jens

June 12 2019

Saleema Amershi, Andrew Begel, Christian Bird, Rob DeLine, Harald Gall, Ece Kamar, Nachiappan Nagappan, Besmira Nushi, Thomas Zimmermann. Software Engineering for Machine Learning: A Case Study. Proc. of ICSE-SEIP (2019). Moderator: Shurui

June 5 2019

Nicolas Bettenburg, Sascha Just, Adrian Schröter, Cathrin Weiss, Rahul Premraj, and Thomas Zimmermann. What Makes a Good Bug Report?. Proc. of FSE: 308-318 (2008). Moderator: Christian

May 15 2019

Pete Hodgson. Feature Toggles (aka Feature Flags). Blog post: Moderator: Jens

May 8 2019

Vahid Garousi, Michael Felderer, and Mika V. Mäntylä. The Need for Multivocal Literature Reviews in Software Engineering: Complementing Systematic Literature Reviews with Grey Literature. Proc. of EASE: Article 26 (2016). Moderator: Christian

May 1 2019

Ciera Jaspan, Matthew Jorde, Andrea Knight, Caitlin Sadowski, Edward K. Smith, Collin Winter, and Emerson Murphy-Hill. Advantages and Disadvantages of a Monolithic Repository: A Case Study at Google. Proc. of ICSE-SEIP: 225-234 (2018). Moderator: Miguel

April 24 2019

Mary Beth Kery, Bonnie E John, Patrick O’Flaherty, Amber Horvath, Brad A Myers. Towards Effective Foraging by Data Scientists to Find Past Analysis Choices. Proc. of CHI (2019). Moderator: Shurui

April 17 2019

John Toman and Dan Grossman. Staccato: A Bug Finder for Dynamic Configuration Updates. Proc. of ECOOP: 24:1--24:25 (2016). Moderator: Miguel

April 10 2019

Denae Ford, Kristina Lustig, Jeremy Banks, and Chris Parnin. "We Don't Do That Here": How Collaborative Editing with Mentors Improves Engagement in Social Q&A Communities. Proc. of CHI: Paper 608 (2018). Moderator: Christian

April 3 2019

René Just, Chris Parnin, Ian Drosos, Michael D. Ernst. Comparing Developer-provided to User-provided Tests for Fault Localization and Automated Program Repair. Proc. of ISSTA: 287-297 (2018). Moderator: Chu-Pan

March 27 2019

Dan Gopstein, Jake Iannacone, Yu Yan, Lois DeLong, Yanyan Zhuang, Martin K.-C. Yeh, and Justin Cappos. Understanding Misunderstandings in Source Code. Proc. of ESEC/FSE 2017: 129-139 (2017). Moderator: Gabriel

March 20 2019

Zhenhao Li, Tse-Hsun (Peter) Chen, Jinqiu Yang, Weiyi Shang. DLFinder: Characterizing and Detecting Duplicate Logging Code Smells. Proc. of ICSE (2019). Moderator: Shurui

March 06 2019

Md Tajmilur Rahman, Louis-Philippe Querel, Peter C. Rigby, and Bram Adams. Feature Toggles: Practitioner Practices and A Case Study. Proc. of MSR: 201-211 (2016). Moderator: Jens

Febuary 27 2019

Sarah E. Chasins, Maria Mueller, and Rastislav Bodik. Rousillon: Scraping Distributed Hierarchical Web Data. Proc. of UIST: 963-975 (2018). Moderator: Christian

Febuary 20 2019

Oscar Chaparro, Jing Lu, Fiorella Zampetti, Laura Moreno, Massimiliano Di Penta, Andrian Marcus, Gabriele Bavota, and Vincent Ng. Detecting Missing Information in Bug Descriptions. Proc. of ESEC/FSE: 396-407 (2017). Moderator: Miguel

Febuary 13 2019

Shiqing Ma, Yingqi Liu, Wen-Chuan Lee, Xiangyu Zhang, and Ananth Grama. MODE: Automated Neural Network Model Debugging via State Differential Analysis and Input Selection. Proc. of ESEC/FSE: 175-186 (2018). Moderator: Jens

Febuary 06 2019

James Bornholt and Emina Torlak. Finding Code that Explodes Under Symbolic Evaluation. PACMPL, 2(OOPSLA): Article 149. (2018). Moderator: Chu-Pan

January 30 2019

Elkana Pariwono, Daiki Chiba, Mitsuaki Akiyama, and Tatsuya Mori. Don't Throw Me Away: Threats Caused by the Abandoned Internet Resources Used by Android Apps. Proc. of ASIACCS: 147-158 (2018). Moderator: Gabriel

January 23 2019

Xue Han, Tingting Yu, and David Lo. PerfLearner: Learning from Bug Reports to Understand and Generate Performance Test Frames. Proc. of ASE: 17-28 (2018). Moderator: Miguel

January 16 2019

D. Sculley, Gary Holt, Daniel Golovin, Eugene Davydov, Todd Phillips, Dietmar Ebner, Vinay Chaudhary, Michael Young, Jean-François Crespo, Dan Dennison. Hidden Technical Debt in Machine Learning Systems. Proc. of NIPS (2015). 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.