CS 534 Advanced Object-Oriented Programming, Fall 2017

Literature Review

Grad students are required to review a recent paper regarding design patterns.

  1. Pick a paper published in a recent (i.e. in the last ~5 years) reputable conference (e.g. ICSE, OOPSLA/SPLASH, ECOOP) or journal (e.g. IEEE Software, ACM TOSEM).

  2. Ideally, the paper should be about design patterns, but anything related to object-oriented programming is acceptable.

  3. Send the paper link to the instructor for approval.

  4. Prepare a review of the paper as a report. A “review” is a serious job. In particular, focus on the following things:
    • What is the paper about? What problem does it address? What are the assumptions about its problem context?
    • How does the paper solve the problem?
    • What are the strengths and weaknesses?
    • How can the paper be extended for future work?

    Reading papers that cite the picked paper is a smart trick to quickly see what other researchers think about this paper.

  5. At the end of the semester, you will submit the report, and present the paper in class.

Potential paper list:

  • Yuriy Solodkyy, Gabriel Dos Reis, and Bjarne Stroustrup. 2012. Open and efficient type switch for C++. In Proceedings of the ACM international conference on Object oriented programming systems languages and applications (OOPSLA ‘12). ACM, New York, NY, USA, 963-982. http://dx.doi.org/10.1145/2384616.2384686

  • Hridesh Rajan, Steven M. Kautz, and Wayne Rowcliffe. 2010. Concurrency by modularity: design patterns, a case in point. In Proceedings of the ACM international conference on Object oriented programming systems languages and applications (OOPSLA ‘10). ACM, New York, NY, USA, 790-805. http://dx.doi.org/10.1145/1869459.1869523

  • A. Ampatzoglou, A. Chatzigeorgiou, S. Charalampidou and P. Avgeriou, “The Effect of GoF Design Patterns on Stability: A Case Study,” in IEEE Transactions on Software Engineering, vol. 41, no. 8, pp. 781-802, Aug. 1 2015.http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7066925&isnumber=7185498

  • Adrian Nistor, Linhai Song, Darko Marinov, and Shan Lu. 2013. Toddler: detecting performance problems via similar memory-access patterns. In Proceedings of the 2013 International Conference on Software Engineering (ICSE ‘13). IEEE Press, Piscataway, NJ, USA, 562-571. http://ieeexplore.ieee.org/document/6606602/?reload=true&arnumber=6606602

  • Guido Salvaneschi and Mira Mezini. 2013. Reactive behavior in object-oriented applications: an analysis and a research roadmap. In Proceedings of the 12th annual international conference on Aspect-oriented software development (AOSD ‘13). ACM, New York, NY, USA, 37-48. http://dx.doi.org/10.1145/2451436.2451442

  • Jongwook Kim, Don Batory, and Danny Dig. 2015. Scripting parametric refactorings in Java to retrofit design patterns. In Proceedings of the 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME) (ICSME ‘15). IEEE Computer Society, Washington, DC, USA, 211-220. http://dx.doi.org/10.1109/ICSM.2015.7332467

  • (Metin Güven): A. Bergel, W. Harrison, V. Cahill and S. Clarke, “FlowTalk: Language Support for Long-Latency Operations in Embedded Devices,” in IEEE Transactions on Software Engineering, vol. 37, no. 4, pp. 526-543, 2011. http://dx.doi.org/10.1109/TSE.2010.66

  • Nelio Cacho, Claudio Sant’anna, Eduardo Figueiredo, Francisco Dantas, Alessandro Garcia, and Thais Batista. 2014. Blending design patterns with aspects. J. Syst. Softw. 98, C (December 2014), 117-139. http://dx.doi.org/10.1016/j.jss.2014.08.041