<p>This book constitutes the refereed proceedings of the 17th International Conference on Software Reuse, ICSR 2018, held in Madrid, Spain, in May 2018.<br>The 9 revised full papers and 2 short papers presented were carefully reviewed and selected from 29 submissions. The papers are organized in the
Mining Software Engineering Data for Software Reuse
β Scribed by Diamantopoulos, Themistoklis, Symeonidis, Andreas L.
- Publisher
- SPRINGER NATURE
- Year
- 2020
- Tongue
- English
- Leaves
- 252
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Table of Contents
Preface
Contents
List of Figures
List of Tables
Part I Introduction and Background
1 Introduction
1.1 Overview
1.2 Scope and Purpose of the Book
1.3 Progress and Contribution of the Book
1.3.1 Requirements Mining
1.3.2 Source Code Mining
1.3.3 Quality Assessment
1.4 Overview of the Chapters
1.5 Supplementary Material
References
2 Theoretical Background and State-of-the-Art
2.1 Software Engineering
2.2 Software Reuse
2.2.1 Overview of Reuse and Reuse Landscape
2.2.2 Software Engineering Data
2.2.3 Component Reuse Challenges
2.3 Software Quality
2.3.1 Overview of Quality and Its Characteristics
2.3.2 Quality Metrics
2.3.3 Software Testing
2.4 Analyzing Software Engineering Data
2.4.1 Data Mining
2.4.2 Data Mining on Software Engineering Data
2.4.3 Overview of Reuse Potential and Contributions
2.4.4 An Integrated View of Software Reuse
References
Part II Requirements Mining
3 Modeling Software Requirements
3.1 Overview
3.2 State of the Art on Requirements Elicitation and Specification Extraction
3.3 From Requirements to Specifications
3.3.1 System Overview
3.3.2 Extracting Artifacts from Software Requirements
3.3.3 A Parser for Automated Requirements Annotation
3.3.4 From Software Artifacts to Specifications
3.4 Case Study
3.5 Conclusion
References
4 Mining Software Requirements
4.1 Overview
4.2 State of the Art on Requirements Mining
4.2.1 Functional Requirements Mining
4.2.2 UML Models Mining
4.3 Functional Requirements Mining
4.4 UML Models Mining
4.5 Evaluation
4.5.1 Functional Requirements Mining
4.5.2 UML Models Mining
4.6 Conclusion
References
Part III Source Code Mining
5 Source Code Indexing for Component Reuse
5.1 Overview
5.2 Background on Code Search Engines
5.2.1 Code Search Engines Criteria
5.2.2 Historical Review of Code Search Engines
5.2.3 AGORA Offerings
5.3 The AGORA Code Search Engine
5.3.1 Overview
5.3.2 Analyzers
5.3.3 Document Indexing
5.3.4 Relevance Scoring
5.4 Searching for Code
5.4.1 AGORA Search Features
5.4.2 AGORA Search Scenarios
5.4.3 Example Usage Scenario
5.5 Evaluation
5.5.1 Evaluation Mechanism and Dataset
5.5.2 Evaluation Results
5.6 Conclusion
References
6 Mining Source Code for Component Reuse
6.1 Overview
6.2 Background on Recommendation Systems in Software Engineering
6.2.1 Overview
6.2.2 Code Reuse Systems
6.2.3 Test-Driven Reuse Systems
6.2.4 Motivation
6.2.5 Mantissa Offerings
6.3 Mantissa: A New Test-Driven Reuse Recommendation System
6.3.1 Overview
6.3.2 Parser
6.3.3 Downloader
6.3.4 Miner
6.3.5 Transformer
6.3.6 Tester
6.3.7 Flow Extractor
6.4 Mantissa User Interface and Search Scenario
6.4.1 Mantissa User Interface
6.4.2 Example Search Scenario
6.5 Evaluation
6.5.1 Evaluation Framework
6.5.2 Comparing Mantissa with CSEs
6.5.3 Comparing Mantissa with FAST
6.5.4 Comparing Mantissa with Code Conjurer
6.6 Conclusion
References
7 Mining Source Code for Snippet Reuse
7.1 Overview
7.2 State of the Art on Snippet and API Mining
7.3 CodeCatch Snippet Recommender
7.3.1 Downloader
7.3.2 Parser
7.3.3 Reusability Evaluator
7.3.4 Readability Evaluator
7.3.5 Clusterer
7.3.6 Presenter
7.4 Example Usage Scenario
7.5 Evaluation
7.5.1 Evaluation Framework
7.5.2 Evaluation Results
7.6 Conclusion
References
8 Mining Solutions for Extended Snippet Reuse
8.1 Overview
8.2 Data Collection and Preprocessing
8.2.1 Extracting Data from Questions
8.2.2 Storing and Indexing Data
8.3 Methodology
8.3.1 Text Matching
8.3.2 Tag Matching
8.3.3 Snippet Matching
8.4 Example Usage Scenario
8.5 Evaluation
8.6 Conclusion
References
Part IV Quality Assessment
9 Providing Reusability-Aware Recommendations
9.1 Overview
9.2 QualBoa: Reusability-Aware Component Recommendations
9.2.1 High-Level Overview of QualBoa
9.2.2 Downloading Source Code and Metrics
9.2.3 Mining Source Code Components
9.2.4 Recommending Quality Code
9.3 Evaluation
9.4 Conclusion
References
10 Assessing the Reusability of Source Code Components
10.1 Overview
10.2 Background on Reusability Assessment
10.3 Correlating Reusability with Popularity
10.3.1 GitHub Popularity as Reusability Indicator
10.3.2 Modeling GitHub Popularity
10.4 Reusability Modeling
10.4.1 Benchmark Dataset
10.4.2 Evaluation of Metrics' Influence on Reusability
10.5 Reusability Estimation
10.5.1 System Overview
10.5.2 Model Construction
10.6 Evaluation
10.6.1 Reusability Estimation Evaluation
10.6.2 Example Reusability Estimation
10.7 Conclusion
References
Part V Conclusion and Future Work
11 Conclusion
12 Future Work
π SIMILAR VOLUMES
Data science happens in code. The ability to write reproducible, robust, scaleable code is key to a data science project's successβand is absolutely essential for those working with production code. This practical book bridges the gap between data science and software engineering, clearly explaining
<span><i> </i><p>Perspectives on Data Science for Software Engineering presents the best practices of seasoned data miners in software engineering. The idea for this book was created during the 2014 conference at Dagstuhl, an invitation-only gathering of leading computer scientists who meet to ident
<i> <p>Perspectives on Data Science for Software Engineering</i> presents the best practices of seasoned data miners in software engineering. The idea for this book was created during the 2014 conference at Dagstuhl, an invitation-only gathering of leading computer scientists who meet to identify an
<p>Software Reuse is a state of the art book concerning all aspects of software reuse. It does away with the hype and shows the reality. Different techniques are presented which enable software reuse and the author demonstrates why object-oriented methods are better for reuse than other approaches.
These easy to learn and apply software engineering techniques will radically improve collaboration, scaling, and deployment in your Data Science projects. In Software Engineering for Data Scientists youβll learn to improve performance and efficiency by: Using source control Handling exception