Document your code
Every project on GitHub comes with a version-controlled wiki to give your documentation the high level of care it deserves. It’s easy to create well-maintained, Markdown or rich text documentation alongside your code.
Sign up for free See pricing for teams and enterprisesHome
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 feature-prg@lists.andrew.cmu.edu mailing list here: https://lists.andrew.cmu.edu/mailman/listinfo/feature-prg
Agenda
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: https://martinfowler.com/articles/feature-toggles.html. 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)