Recommendation systems in software engineering
This book surveys and analyzes information on recommendation systems in software engineering, in separate sections on Techniques, Evaluation and Applications. A supplemental website offers additional material, including lecture slides, source code and more.
Saved in:
Main Authors | , , , |
---|---|
Format | eBook Book |
Language | English |
Published |
Berlin, Heidelberg
Springer
2014
Springer Berlin / Heidelberg Springer Berlin Heidelberg |
Edition | 1 |
Subjects | |
Online Access | Get full text |
Cover
Loading…
Abstract | This book surveys and analyzes information on recommendation systems in software engineering, in separate sections on Techniques, Evaluation and Applications. A supplemental website offers additional material, including lecture slides, source code and more. |
---|---|
AbstractList | This book surveys and analyzes information on recommendation systems in software engineering, in separate sections on Techniques, Evaluation and Applications. A supplemental website offers additional material, including lecture slides, source code and more. 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. |
Author | Zimmermann, Thomas Maalej, Walid Robillard, Martin P. Walker, Robert J. |
Author_xml | – sequence: 1 fullname: Robillard, Martin P. – sequence: 2 fullname: Maalej, Walid – sequence: 3 fullname: Walker, Robert J. – sequence: 4 fullname: Zimmermann, Thomas |
BackLink | https://cir.nii.ac.jp/crid/1130000793834182528$$DView record in CiNii |
BookMark | eNpFkMtOwzAQRY14iLb0A9h1gYRYpLU9dmwvaVUeUiUkhNhaTuKU0NQucaDi73EaBJuZudK5o5k7RCfOO4vQJcFTgrGYKSETSFJGE8YJ8IQfoSFEeVDi-F8wdYYGUiigaaroORqH8I4xJkQpwfkATZ9t7rdb6wrTVt5Nwndo7TZMqjj6st2bxk6sW1fO2qZy6wt0Wpo62PFvH6HXu-XL4iFZPd0_Lm5XiQGqIN5WcpApL1mWs4xRkYlSEQxQZIUhwkgpypQXOQBIltFUGFUIjmluC8bKIscwQjf9YhM2dh_efN0G_VXbzPtN0PH9v295ZGc9G3bdjbbRPUWw7sLqaA068vpg0J3junfsGv_xaUOrD4tz69rG1Ho5XxABhFIayauedFWl86qrhEBMEMdMJTAiKacSfgAgBnFd |
ContentType | eBook Book |
Copyright | Springer-Verlag Berlin Heidelberg 2014 |
Copyright_xml | – notice: Springer-Verlag Berlin Heidelberg 2014 |
DBID | RYH |
DEWEY | 005.1 |
DOI | 10.1007/978-3-642-45135-5 |
DatabaseName | CiNii Complete |
DatabaseTitleList | |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISBN | 3642451357 9783642451355 |
Edition | 1 2014 |
Editor | Zimmermann, Thomas Maalej, Walid Robillard, Martin P. Walker, Robert J. |
Editor_xml | – sequence: 1 givenname: Martin P. surname: Robillard fullname: Robillard, Martin P. email: martin@cs.mcgill.ca – sequence: 2 givenname: Walid surname: Maalej fullname: Maalej, Walid email: maalej@informatik.uni-hamburg.de – sequence: 3 givenname: Robert J. surname: Walker fullname: Walker, Robert J. email: walker@ucalgary.ca – sequence: 4 givenname: Thomas surname: Zimmermann fullname: Zimmermann, Thomas email: tzimmer@microsoft.com |
ExternalDocumentID | 9783642451355 311938 EBC1731222 BB15561013 |
GroupedDBID | 0D6 0DA 20A 38. A0U A3- AABBV AAPCR ABFTD ABMNI ACBPT ACKEY ACTXJ AEJLV AEKFX AETDV AEZAY AHJUR ALMA_UNASSIGNED_HOLDINGS ANZUN AZZ BBABE BZAQK CZZ I4C IEZ JJU MYL RYH SBO TPJZQ UZ6 Z5O Z7R Z7S Z7U Z7W Z7X Z7Y Z7Z Z81 Z83 Z84 Z85 Z87 Z88 SAO Z7V Z82 |
ID | FETCH-LOGICAL-a32938-3f53865f4bc4b427b7f91033dbda17a887f65dc33384b267a9d7502ced44fdc03 |
ISBN | 3642451349 9783642451348 |
IngestDate | Fri Nov 08 00:11:45 EST 2024 Tue Jul 29 20:16:05 EDT 2025 Fri May 30 22:51:11 EDT 2025 Thu Jun 26 23:27:30 EDT 2025 |
IsPeerReviewed | false |
IsScholarly | false |
LCCallNum_Ident | QA76.758 |
Language | English |
LinkModel | OpenURL |
MergedId | FETCHMERGED-LOGICAL-a32938-3f53865f4bc4b427b7f91033dbda17a887f65dc33384b267a9d7502ced44fdc03 |
Notes | Includes bibliographical references |
OCLC | 879326692 |
PQID | EBC1731222 |
PageCount | 560 |
ParticipantIDs | askewsholts_vlebooks_9783642451355 springer_books_10_1007_978_3_642_45135_5 proquest_ebookcentral_EBC1731222 nii_cinii_1130000793834182528 |
PublicationCentury | 2000 |
PublicationDate | c2014 2014 20131220 2014-04-30 |
PublicationDateYYYYMMDD | 2014-01-01 2013-12-20 2014-04-30 |
PublicationDate_xml | – year: 2014 text: c2014 |
PublicationDecade | 2010 |
PublicationPlace | Berlin, Heidelberg |
PublicationPlace_xml | – name: Berlin – name: Berlin, Heidelberg |
PublicationYear | 2014 2013 |
Publisher | Springer Springer Berlin / Heidelberg Springer Berlin Heidelberg |
Publisher_xml | – name: Springer – name: Springer Berlin / Heidelberg – name: Springer Berlin Heidelberg |
SSID | ssj0001199755 |
Score | 2.2377357 |
Snippet | This book surveys and analyzes information on recommendation systems in software engineering, in separate sections on Techniques, Evaluation and Applications.... With the growth of public and private data stores and the emergence of off-the-shelf data-mining technology, recommendation systems have emerged that... |
SourceID | askewsholts springer proquest nii |
SourceType | Aggregation Database Publisher |
SubjectTerms | Computer Science Information Storage and Retrieval Management of Computing and Information Systems Recommender systems (Information filtering) Software Engineering |
TableOfContents | Intro -- Preface -- About This Book -- Structure and Content -- Target Audience -- Website and Resources -- Acknowledgments -- Contents -- List of Contributors -- 1 An Introduction to Recommendation Systems in Software Engineering -- 1.1 Introduction -- 1.2 Information Spaces in Software Engineering -- 1.3 Recommendation Systems in Software Engineering -- 1.4 Overview of the Book -- 1.5 Outlook -- 1.6 Conclusion -- References -- Part I Techniques -- 2 Basic Approaches in Recommendation Systems -- 2.1 Introduction -- 2.2 Collaborative Filtering -- 2.3 Content-Based Filtering -- 2.4 Knowledge-Based Recommendation -- 2.5 Hybrid Recommendations -- 2.6 Hints for Practitioners -- 2.6.1 Usage of Algorithms -- 2.6.2 Recommendation Environments -- 2.7 Further Algorithmic Approaches -- 2.7.1 Critiquing-Based Recommendation -- 2.7.2 Group Recommendation -- 2.8 Conclusion -- References -- 3 Data Mining -- 3.1 Introduction -- 3.2 Different Learners for Different Data -- 3.3 Association Rules -- 3.3.1 Technical Aside: How to Discretize? -- 3.4 Learning Trees -- 3.4.1 C4.5 -- 3.4.2 CART -- 3.4.3 Hints and Tips for CART and C4.5 -- 3.4.4 Random Forests -- 3.4.5 Applications of Tree Learning -- 3.5 Naive Bayesian -- 3.5.1 Bayesian and Anomaly Detection -- 3.5.2 Incremental Bayesian -- 3.5.3 Incremental Learning and Dataset Shift -- 3.6 Support Vector Machines -- 3.7 Pruning Data -- 3.7.1 Feature Pruning -- 3.7.2 Row Pruning -- 3.8 Text Mining -- 3.9 Nearest-Neighbor Methods -- 3.10 Some Fast Clustering Methods -- 3.11 Conclusion -- References -- 4 Recommendation Systems in-the-Small -- 4.1 Introduction -- 4.2 Recommendations with and without Data Mining -- 4.3 The Versatility of Recommendation Systems in-the-Small -- 4.3.1 Suade: Feature Location -- 4.3.2 Strathcona: API Exploration -- 4.3.3 Quick Fix Scout: Coding Assistance 10.3 Relation Between Dimensions -- 10.4 Evaluation Approaches and Frameworks -- 10.5 Conclusion -- References -- 11 Benchmarking -- 11.1 Introduction -- 11.2 Benchmarking and Evaluation Settings -- 11.2.1 Datasets -- 11.2.2 Toolkits -- 11.2.3 Accuracy and Error Metrics -- Classification Accuracy -- Predictive Accuracy Metrics -- Coverage Metrics -- Confidence Metrics -- Learning Rate Metrics -- Diversity Metrics -- Novelty and Serendipity Metrics -- User Satisfaction Metrics -- 11.2.4 One-Dimensional Evaluation -- 11.2.5 Multi-dimensional Evaluation and Benchmarking -- User Aspects -- Business Aspects -- Technical Aspects -- 11.2.6 When to Benchmark and When to Evaluate -- 11.3 Benchmarking Example -- 11.3.1 Evaluation Setting -- 11.3.2 Benchmarking Experiment -- 11.3.3 Results -- 11.4 Discussion -- 11.5 Conclusion -- References -- 12 Simulation -- 12.1 Introduction -- 12.2 A General Model of Simulation for Evaluation of RSSEs -- 12.2.1 Inputs and Outputs -- 12.2.2 Characterizing the Results -- Determining Expected Recommendations -- Real Data -- Evaluating the Objective Aspect of Quality -- 12.3 Experience with Simulation to Evaluate RSSEs -- 12.3.1 Recommending Programmatic Entities to Change -- The Recommendation System -- The Evaluation Problem -- How Simulation Was Used -- Reported Threats to Validity -- 12.3.2 Recommending Usage Examples for an API -- The Recommendation System -- The Evaluation Problem -- How Simulation Was Used -- Reported Threats to Validity -- 12.3.3 Recommending Dependency Treatments During Reuse -- The Recommendation System -- The Evaluation Problem -- How Simulation Was Used -- Reported Threats to Validity -- 12.3.4 Recommending Development Environment Commands -- The Recommendation System -- The Evaluation Problem -- How Simulation Was Used -- Reported Threats to Validity -- 12.4 Lessons Learned -- 12.4.1 Triangulation 6.2 Structure and Quality of Bug Reports -- 6.2.1 Anatomy of a Bug Report -- 6.2.2 Influence of Bug-Tracking Systems -- 6.2.3 Peril of Duplicate Bug Reports -- 6.3 How Reliable Are Bug Reports? -- 6.3.1 Matter of Perspective -- 6.3.2 Recommending Bug Report Fields -- 6.4 Mapping Bug Data -- 6.4.1 Relating Bugs to Code Changes -- 6.4.2 Relating Bugs to Code Artifacts -- 6.4.3 Mapping Bias -- Unmapped Bug Reports -- Mismatched Timestamps -- 6.4.4 Error Propagation: Misclassified Bug Reports -- 6.4.5 Impact of Tangled Changes -- 6.4.6 Alternative Mapping Approaches -- 6.5 Predicting Bugs -- 6.5.1 Relating Bugs and Code Features -- 6.5.2 Training Prediction Models -- 6.5.3 From Prediction to Recommendation -- 6.6 Hands-On: Mining Bug Repositories -- 6.6.1 Step 1: Getting Mozkito -- 6.6.2 Step 2: Mining an Issue Repository -- 6.6.3 Step 3: Analyzing Bug Reports in Java -- 6.6.4 Relating Bugs to Changes -- Exporting Bug Count Per Source File -- 6.7 Hands-On: Predicting Bugs -- 6.7.1 Step 1: Load Required Libraries -- 6.7.2 Step 2: Reading the Data -- 6.7.3 Step 3: Splitting the Dataset -- 6.7.4 Step 4: Prepare the Data -- 6.7.5 Step 5: Train the Models -- 6.7.6 Step 6: Make the Prediction -- 6.7.7 Step 7: Compute Precision, Recall, and F-measure -- 6.8 Conclusion -- References -- 7 Collecting and Processing Interaction Data for Recommendation Systems -- 7.1 Introduction -- 7.2 Examples -- 7.2.1 Early Work -- 7.2.2 Mylyn -- 7.2.3 OCompletion -- 7.2.4 Switch! -- 7.3 What Is Interaction Data? -- 7.3.1 Interactions -- 7.3.2 Artifacts -- 7.3.3 Tools -- 7.3.4 Context -- 7.3.5 Interaction Granularity -- 7.4 Collecting Interaction Data -- 7.4.1 Monitoring Developers' Interactions -- 7.4.2 Generating Interaction Events -- 7.4.3 Logging Interaction Data -- 7.5 Processing Interaction Data -- 7.5.1 Sessionization of Interaction Events -- 7.5.2 Filtering of Events 4.3.4 A Tool for Debugging Method Names: Refactoring Support -- 4.3.5 YooHoo: Developer Awareness -- 4.4 Developing Heuristics -- 4.4.1 Human Intuition -- Suade's Heuristics -- Strathcona's Heuristics -- Quick Fix Scout's Heuristics -- Advantages and Disadvantages -- 4.4.2 Off-line Data Mining -- 4.4.3 Machine Learning -- 4.5 Limitations of Recommendation Systems in-the-Small -- 4.6 Conclusion -- References -- 5 Source Code-Based Recommendation Systems -- 5.1 Introduction -- 5.2 Selection of Source Code-Based Recommendation Systems -- 5.2.1 RASCAL -- 5.2.2 FrUiT -- 5.2.3 Strathcona -- 5.2.4 Hipikat -- 5.2.5 CodeBroker -- 5.3 Development Decisions When Building a SCoReS -- 5.3.1 Process -- 5.3.2 Intent -- Intended User -- Supported Task -- Cognitive Support -- Proposed Information -- 5.3.3 Human-Computer Interaction -- Type of System -- Type of Recommender -- User Involvement -- 5.3.4 Corpus -- Program Code -- Complementary Information -- Correlated Information -- 5.3.5 General Input/Output -- Input Mechanism -- Nature of Input -- Response Triggers -- Nature of Output -- Type of Output -- 5.3.6 Method -- Data Selection -- Type of Analysis -- Data Requirements -- Intermediate Data Representation -- Analysis Technique -- Filtering -- 5.3.7 Detailed Input/Output -- Type of Input -- Multiplicity of Output -- 5.3.8 Support -- Empirical Validation -- Usefulness -- Correctness -- 5.3.9 Interaction -- Usability -- System Availability -- Availability of Recommendation Data -- 5.4 Building a Code-Based Recommendation System -- 5.4.1 MEnToR -- Requirements -- Approach -- Limitations -- 5.4.2 From MEnToR to Clairvoyant -- 5.4.3 From Clairvoyant to Mendel -- 5.4.4 Porting Mendel from Smalltalk to Java -- 5.4.5 Adding a Database Storage Back-End to Mendel -- 5.5 Conclusion -- References -- 6 Mining Bug Data -- 6.1 Introduction 7.5.3 Aggregation of Events and Inference of Context Information -- 7.5.4 Pitfalls When Processing Interaction Data -- 7.6 Using Interaction Data -- 7.6.1 Productivity -- 7.6.2 Awareness and Collaboration -- 7.7 Challenges and Future Directions -- 7.7.1 Challenges -- 7.7.2 Future Scenarios -- 7.8 Conclusion -- References -- 8 Developer Profiles for Recommendation Systems -- 8.1 Introduction -- 8.2 Applications of Developer Profiles -- 8.2.1 Personalizing Recommendations -- 8.2.2 Recommending Developers -- 8.3 Development Knowledge -- 8.3.1 Version Control System Data -- 8.3.2 Interaction History Data -- 8.3.3 Issue Tracking System Data -- 8.3.4 Explicit Data Collection -- 8.3.5 Representation -- 8.4 Organizational Information and Communication Networks -- 8.4.1 Data Collection -- 8.4.2 Representation -- 8.5 Profile Maintenance and Storage -- 8.5.1 Adapting Developer Profiles -- 8.5.2 Storing Developer Profiles -- 8.6 Conclusion -- References -- 9 Recommendation Delivery -- 9.1 Introduction -- 9.2 Presenting Recommendations -- 9.2.1 Understandability -- 9.2.2 Transparency -- 9.2.3 Assessability -- 9.2.4 Trust -- 9.2.5 Distraction -- 9.3 Strategies Used in RSSE User Interfaces -- 9.3.1 Interfaces for Getting Users' Attention -- 9.3.2 Descriptive User Interface Options -- 9.4 Conclusion -- References -- Part II Evaluation -- 10 Dimensions and Metrics for Evaluating RecommendationSystems -- 10.1 Introduction -- 10.2 Dimensions -- 10.2.1 Correctness -- Predicting User Ratings -- Ranking Items -- Recommending Interesting Items -- 10.2.2 Coverage -- 10.2.3 Diversity -- 10.2.4 Trustworthiness -- 10.2.5 Recommender Confidence -- 10.2.6 Novelty -- 10.2.7 Serendipity -- 10.2.8 Utility -- 10.2.9 Risk -- 10.2.10 Robustness -- 10.2.11 Learning Rate -- 10.2.12 Usability -- 10.2.13 Scalability -- 10.2.14 Stability -- 10.2.15 Privacy -- 10.2.16 User Preferences 12.4.2 Quality of Real Data |
Title | Recommendation systems in software engineering |
URI | https://cir.nii.ac.jp/crid/1130000793834182528 https://ebookcentral.proquest.com/lib/[SITE_ID]/detail.action?docID=1731222 http://link.springer.com/10.1007/978-3-642-45135-5 https://www.vlebooks.com/vleweb/product/openreader?id=none&isbn=9783642451355&uid=none |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1La9tAEF5S99Jc0id12hQReigEGa92V5KPdXAJpgk9pGnoZdmHBKK1C7WTQH59v5FWluwWSntZZCF5xIw0-82bsbfGJBYbdx6bsZEwUJyI89QnsVHSOSvS3HMqcD6_SM8-y_m1uu6aINTVJWs7cvd_rCv5H6niHORKVbL_INnNn-IEjiFfrJAw1h3wu_kZWmnDaFwsijAQKbRjrjNbV1Crd5TNVXSNBrugiqUZQ00ye9M_4OTTqPNJY6-oYzlfgM19z9MeEi-aJOyT-eaOrxV5vRdhzHIv1Sh4Ebjc8SK0XsQt61KkFBblommF-Zuu7adX4MqYLlWx6jaWTbrfdMppCueYpgs_yDIon4fvZ_OPV50zjNJdlKLam5bmpOmO1D1DG5IOXYG3aO6zfbP6hl0BO8Z6BZiwrKotk2Enyl2Dh8vHbEAFJU_YXrF8yg7aMRpR0KrP2GhbmlGQZlThMEgz6knzObv6MLs8PYvDGIvYCIApPGqpaLJqKa2TViaZzUqANCG89YZnBmq-TJV3Qohc2iTNzMQDxyWu8FKW3o3FCzZY_lgWL1nk8WVNPFAvsI1UsgC8tRlgnE_IEOTFkB33GKFvv9ch95XucVKpITsCf7SraOUUzxxTm8QcgCZPVJIPWdRyTtf3hzxhPZue8kxwQMohe9dyVDcU2vbXoKSFBi1dE9Pq8C_UXrFH3Qv5mg3WP2-KIwC9tX0TXpNfXsJGXw |
linkProvider | Library Specific Holdings |
openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.title=Recommendation+systems+in+software+engineering&rft.au=Robillard%2C+Martin+P.&rft.au=Maalej%2C+Walid&rft.au=Walker%2C+Robert+J.&rft.au=Zimmermann%2C+Thomas&rft.date=2014-01-01&rft.pub=Springer&rft.isbn=9783642451348&rft_id=info:doi/10.1007%2F978-3-642-45135-5&rft.externalDocID=BB15561013 |
thumbnail_m | http://utb.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fvle.dmmserver.com%2Fmedia%2F640%2F97836424%2F9783642451355.jpg |
thumbnail_s | http://utb.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fmedia.springernature.com%2Fw306%2Fspringer-static%2Fcover-hires%2Fbook%2F978-3-642-45135-5 |