Recommendation systems in software engineering (RSSEs) are software applications that provide information items estimated to be valuable for a software engineering task in a given context.  The word "estimated" is key: if an exact answer can be faithfully produced, you are not dealing with an RSSE.  RSSEs pervade software engineering because of the difficulty in either specifying what we are interested in finding or in calculating exactly what we care about.

Much of the work in LSMR has produced RSSEs; some of the work has been about RSSEs in a more general sense.  We separate these two categories below.

Publications

About RSSEs in general

  • Martin P. Robillard and Robert J. Walker. An introduction to recommendation systems in software engineering. Chapter 1 in Martin Robillard, Walid Maalej, Robert J. Walker, and Thomas Zimmermann, editors, Recommendation Systems for Software Engineering, Springer, 2014. doi: 10.1007/978-3-642-45135-5_1
  • Laura Inozemtseva, Reid Holmes, and Robert J. Walker. Recommendation in-the-small. Chapter 5 in Martin Robillard, Walid Maalej, Robert J. Walker, and Thomas Zimmermann, editors, Recommendation Systems for Software Engineering, Springer, 2014. doi: 10.1007/978-3-642-45135-5_5
  • Robert J. Walker and Reid Holmes. Simulation to evaluate recommendation systems for software engineering. Chapter 12 in Martin Robillard, Walid Maalej, Robert J. Walker, and Thomas Zimmermann, editors, Recommendation Systems for Software Engineering, Springer, 2014. doi: 10.1007/978-3-642-45135-5_12
  • Martin Robillard, Walid Maalej, Robert J. Walker, and Thomas Zimmermann, editors. Recommendation Systems for Software Engineering. Springer, 2014. doi: 10.1007/978-3-642-45135-5
  • Robert J. Walker. Recent advances in recommendation systems for software engineering. In Recent Trends in Applied Artificial Intelligence (Proceedings of the International Conference on Industrial, Engineering, and Other Applications of Applied Intelligent Systems [IEA/AIE]), volume 7906 of Lecture Notes in Computer Science, pages 372–381, 2013. doi: 10.1007/978-3-642-38577-3_38
  • Walid Maalej, Martin Robillard, Robert J. Walker, and Thomas Zimmermann. Proceedings of the 3rd International Workshop on Recommendation Systems for Software Engineering, ACM/IEEE International Conference on Software Engineering, 2012. IEEE Digital Library.
  • Martin Robillard, Robert Walker, and Thomas Zimmermann. Recommendation systems for software engineering. IEEE Software, 27(4):80–86, July/August 2010. doi: 10.1109/MS.2009.161
  • Reid Holmes, Martin Robillard, Robert J. Walker, and Thomas Zimmermann. Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering, ACM/IEEE International Conference on Software Engineering, 2010. ACM Digital Library. doi: 10.1145/1808920

Reviver

  • Mehrdad Nurolahzade, Robert J. Walker, and Frank Maurer. An assessment of test-driven reuse: Pitfalls and promises. In Safe and Secure Software Reuse [Proceedings of the International Conference on Software Reuse (ICSR)], volume 7925 of Lecture Notes in Computer Science, pages 65–80, 2013. doi: 10.1007/978-3-642-38977-1_5 (Talk)

Skipper

  • Soha Makady and Robert J. Walker. Validating pragmatic reuse tasks by leveraging existing test suites. Software: Practice & Experience, 43(9):1039–1070, September 2013. doi: 10.1002/spe.2134

Strathcona/Jigsaw integration

  • Reid Holmes, Rylan Cottrell, Robert J. Walker, and Jörg Denzinger. The end-to-end use of source code examples: An exploratory study. In Proceedings of the 2009 IEEE International Conference on Software Maintenance (ICSM 2009), pages 555–558, 2009. doi: 10.1109/ICSM.2009.5306387
  • Reid Holmes, Rylan Cottrell, Robert J. Walker, and Jörg Denzinger. The end-to-end use of source code examples: An exploratory study—Appendix. Technical report 2009-934-13, Department of Computer Science, University of Calgary, Canada, June 2009. 8 pages. doi: 1880/47297

Guido

  • Rylan Cottrell, Brina Goyette, Reid Holmes, Robert J. Walker, and Jörg Denzinger. Compare and contrast: Visual exploration of source code examples. In Proceedings of the 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT '09), pages 29–32, 2009. doi: 10.1109/VISSOF.2009.5336429

YooHoo

  • Reid Holmes and Robert J. Walker. Customized awareness: Recommending relevant external change events. In Proceedings of the 2010 ACM/IEEE International Conference on Software Engineering (ICSE 2010), pages 465–474, 2010. doi: 10.1145/1806799.1806867
  • Reid Holmes and Robert J. Walker. Developer-specific awareness of external changes. In 2009 Workshop on Socio-technical Congruence at the International Conference on Software Engineering, 2009. 4 pages.
  • Reid Holmes and Robert J. Walker. A newbie's guide to Eclipse APIs. In Proceedings of the Working Conference on Mining Software Repositories (MSR '08), pages 149–152, 2008. doi: 10.1145/1370750.1370787
  • Reid Holmes and Robert J. Walker. Promoting developer-specific awareness. In Proceedings of the 2008 International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE '08), International Conference on Software Engineering, pages 61–64, 2008. doi: 10.1145/1370114.1370130

Jigsaw

  • Rylan Cottrell. Semi-automating Small-Scale Source Code Reuse via Structural Correspondence. MSc thesis. Department of Computer Science, University of Calgary, August 2008.
  • Rylan Cottrell, Robert J. Walker, and Jörg Denzinger. Semi-automating small-scale source code reuse via structural correspondence. In Proceedings of the 16th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (SIGSOFT '08/FSE-16), pages 214–225, 2008. doi: 10.1145/1453101.1453130
  • Rylan Cottrell, Robert J. Walker, and Jörg Denzinger. Jigsaw: A tool for small-scale source code reuse. In Companion of the International Conference on Software Engineering (ICSE '08), pages 933–934, 2008. Informal research demonstration. doi: 10.1145/1370175.1370194

DSketch

  • Brad Cossette and Robert J. Walker. DSketch: Lightweight, adaptable dependency analysis. In Proceedings of the 2010 ACM SIGSOFT International Symposium on Foundations of Software Engineering (SIGSOFT 2010/FSE-18), pages 297–306, 2010. doi: 10.1145/1882291.1882335
  • Bradley Cossette. Lightweight Support for Estimation of Polylingual Dependencies. MSc thesis. Department of Computer Science, University of Calgary, August 2008.
  • Brad Cossette and Robert J. Walker. Polylingual dependency analysis using island grammars: A cost versus accuracy evaluation. In Proceedings of the 2007 IEEE International Conference on Software Maintenance (ICSM '07), pages 214–223, 2007. doi: 10.1109/ICSM.2007.4362634

Breakaway

  • Rylan Cottrell, Joseph J. C. Chang, Robert J. Walker, and Jörg Denzinger. Determining detailed structural correspondence for generalization tasks. In Proceedings of the European Software Engineering Conference held jointly with the 15th ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC/FSE '07), pages 165–174, 2007. doi: 10.1145/1287624.1287649

Gilligan

  • Reid Holmes and Robert J. Walker. Systematizing pragmatic software reuse. ACM Transactions on Software Engineering and Methodology, 21(4):20/1–20/44, November 2012. doi: 10.1145/2377656.2377657
  • Reid Holmes, Tristan Ratchford, Martin Robillard, and Robert J. Walker. Automatically recommending triage decisions for pragmatic reuse tasks. In Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering (ASE 2009), pages 397–408, 2009. doi: 10.1109/ASE.2009.65
  • Reid Holmes. Pragmatic Software Reuse. PhD thesis. Department of Computer Science, University of Calgary, November 2008.
  • Reid Holmes and Robert J. Walker. Lightweight, semi-automated enactment of pragmatic-reuse plans. In Proceedings of the International Conference on Software Reuse (ICSR '08) [High Confidence Software Reuse in Large Systems, volume 5030 of Lecture Notes in Computer Science, Springer], pages 330–342, 2008. doi: 10.1007/978-3-540-68073-4_35
  • Reid Holmes and Robert J. Walker. Semi-automating pragmatic reuse tasks. In Proceedings of the ACM/IEEE International Conference on Automated Software Engineering (ASE '08), pages 481–482, 2008. Research demonstration track. doi: 10.1109/ASE.2008.81
  • Reid Holmes and Robert J. Walker. Supporting the investigation and planning of pragmatic reuse tasks. In Proceedings of the 29th International Conference on Software Engineering (ICSE '07), pages 447–457, 2007. doi: 10.1109/ICSE.2007.83

Reverb

  • Mark McIntyre. Supporting Repetitive Small-Scale Changes. MSc thesis. Department of Computer Science, University of Calgary, September 2007.
  • Mark McIntyre and Robert J. Walker. Assisting potentially-repetitive small-scale changes via semi-automated heuristic search. In Proceedings of the ACM/IEEE International Conference on Automated Software Engineering, pages 497–500, 2007. doi: 10.1145/1321631.1321718

TRE

  • Robert J. Walker, Reid Holmes, Ian Hedgeland, Puneet Kapur, and Andrew Smith. A lightweight approach to technical risk estimation via probabilistic impact analysis. In Proceedings of the 3rd International Workshop on Mining Software Repositories (MSR '06), 28th International Conference on Software Engineering, pages 98–104, 2006. doi: 10.1145/1137983.1138008
  • Robert J. Walker, Reid Holmes, Ian Hedgeland, Puneet Kapur, and Andrew Smith. A Lightweight Approach to Technical Risk Estimation via Probabilistic Impact Analysis. Technical report 2006-817-10, Department of Computer Science, University of Calgary, Calgary, Canada, February 2006. 8 pages. doi: 1880/46089

Strathcona

  • Reid Holmes, Robert J. Walker, and Gail C. Murphy. Approximate structural context matching: An approach to recommend relevant examples. IEEE Transactions on Software Engineering, 32(12):952–970, December 2006. doi: 10.1109/TSE. 2006.117
  • Reid Holmes, Robert J. Walker, and Gail C. Murphy. Strathcona example recommendation tool. In Proceedings of the Joint European Software Engineering Conference and ACM SIGSOFT International Symposium on the Foundations of Software Engineering (ESEC/FSE '05), pages 237–240, 2005. doi: 10.1145/1081706.1081744

Other tools

  • Mostafa (Hamza) Sayed and Robert J. Walker. Recommending features and feature relationships from requirements documents for software product lines. In Proceedings of the 4th International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering (RAISE '15), ACM/IEEE International Conference on Software Engineering, 2015. In press.