Recommendation Systems in Software Engineering

  • Martin P. Robillard
  • Walid Maalej
  • Robert J. Walker
  • Thomas Zimmermann

Table of contents

  1. Front Matter
    Pages i-xiii
  2. Martin P. Robillard, Robert J. Walker
    Pages 1-11
  3. Techniques

    1. Front Matter
      Pages 13-13
    2. Alexander Felfernig, Michael Jeran, Gerald Ninaus, Florian Reinfrank, Stefan Reiterer, Martin Stettinger
      Pages 15-37
    3. Tim Menzies
      Pages 39-75
    4. Laura Inozemtseva, Reid Holmes, Robert J. Walker
      Pages 77-92
    5. Kim Mens, Angela Lozano
      Pages 93-130
    6. Kim Herzig, Andreas Zeller
      Pages 131-171
    7. Walid Maalej, Thomas Fritz, Romain Robbes
      Pages 173-197
    8. Annie T. T. Ying, Martin P. Robillard
      Pages 199-222
    9. Emerson Murphy-Hill, Gail C. Murphy
      Pages 223-242
  4. Evaluation

    1. Front Matter
      Pages 243-243
    2. Iman Avazpour, Teerat Pitakrat, Lars Grunske, John Grundy
      Pages 245-273
    3. Alan Said, Domonkos Tikk, Paolo Cremonesi
      Pages 275-300
    4. Robert J. Walker, Reid Holmes
      Pages 301-327
    5. Ayşe Tosun Mısırlı, Ayşe Bener, Bora Çağlayan, Gül Çalıklı, Burak Turhan
      Pages 329-355
  5. Applications

    1. Front Matter
      Pages 357-357
    2. Werner Janjic, Oliver Hummel, Colin Atkinson
      Pages 359-386
    3. Gabriele Bavota, Andrea De Lucia, Andrian Marcus, Rocco Oliveto
      Pages 387-419
    4. Miryung Kim, Na Meng
      Pages 421-453

About this book

Introduction

With the growth of public and private data stores and the emergence of off-the-shelf data-mining technology, recommendation systems have emerged that specifically address the unique challenges of navigating and interpreting software engineering data.

This book collects, structures, and formalizes knowledge on recommendation systems in software engineering. It adopts a pragmatic approach with an explicit focus on system design, implementation, and evaluation. The book is divided into three parts: “Part I – Techniques” introduces basics for building recommenders in software engineering, including techniques for collecting and processing software engineering data, but also for presenting recommendations to users as part of their workflow. “Part II – Evaluation” summarizes methods and experimental designs for evaluating recommendations in software engineering. “Part III – Applications” describes needs, issues, and solution concepts involved in entire recommendation systems for specific software engineering tasks, focusing on the engineering insights required to make effective recommendations. The book is complemented by the webpage rsse.org/book, which includes free supplemental materials for readers of this book and anyone interested in recommendation systems in software engineering, including lecture slides, data sets, source code, and an overview of people, groups, papers, and tools with regard to recommendation systems in software engineering.

The book is particularly well-suited for graduate students and researchers building new recommendation systems for software engineering applications or in other high-tech fields. It may also serve as the basis for graduate courses on recommendation systems, applied data mining, or software engineering. Software engineering practitioners developing recommendation systems or similar applications with predictive functionality will also benefit from the broad spectrum of topics covered.

Keywords

Code Reuse Data Mining Program Transformation Recommender Systems Requirements Engineering Software Defect Analysis Software Development Software Evolution Software Testing

Editors and affiliations

  • Martin P. Robillard
    • 1
  • Walid Maalej
    • 2
  • Robert J. Walker
    • 3
  • Thomas Zimmermann
    • 4
  1. 1.McGill UniversityMontréalCanada
  2. 2.University of HamburgHamburgGermany
  3. 3.University of CalgaryCalgaryCanada
  4. 4.Microsoft ResearchRedmondUSA

Bibliographic information

  • DOI https://doi.org/10.1007/978-3-642-45135-5
  • Copyright Information Springer-Verlag Berlin Heidelberg 2014
  • Publisher Name Springer, Berlin, Heidelberg
  • eBook Packages Computer Science
  • Print ISBN 978-3-642-45134-8
  • Online ISBN 978-3-642-45135-5
  • About this book