Limit search to available items
Book Cover
E-book
Author Diamantopoulos, Themistoklis

Title Mining software engineering data for software reuse / Themistoklis Diamantopoulos, Andreas L. Symeonidis
Published Cham : Springer, 2020

Copies

Description 1 online resource (252 pages)
Series Advanced Information and Knowledge Processing
Advanced information and knowledge processing.
Contents Intro -- 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
Summary This monograph discusses software reuse and how it can be applied at different stages of the software development process, on different types of data and at different levels of granularity. Several challenging hypotheses are analyzed and confronted using novel data-driven methodologies, in order to solve problems in requirements elicitation and specification extraction, software design and implementation, as well as software quality assurance. The book is accompanied by a number of tools, libraries and working prototypes in order to practically illustrate how the phases of the software engineering life cycle can benefit from unlocking the potential of data. Software engineering researchers, experts, and practitioners can benefit from the various methodologies presented and can better understand how knowledge extracted from software data residing in various repositories can be combined and used to enable effective decision making and save considerable time and effort through software reuse. Mining Software Engineering Data for Software Reuse can also prove handy for graduate-level students in software engineering
Notes 6.5.1 Evaluation Framework
Bibliography Includes bibliographical references
Notes Print version record
Subject Software engineering.
Computer software -- Reusability.
Data mining.
Data Mining
Databases.
Data mining.
Computer programming -- software development.
Business mathematics & systems.
Software Engineering.
Computers -- Data Processing.
Computers -- Database Management -- Data Mining.
Computers -- Programming -- Open Source.
Computers -- Enterprise Applications -- General.
Computers -- Software Development & Engineering -- General.
Computer software -- Reusability
Data mining
Software engineering
Form Electronic book
Author Symeonidis, Andreas L.
ISBN 9783030301064
3030301060