Skip to main content

and
  1. Chapter and Conference Paper

    Semantic Code Search in Software Repositories using Neural Machine Translation

    Nowadays, software development is accelerated through the reuse of code snippets found online in question-answering platforms and software repositories. In order to be efficient, this process requires forming ...

    Evangelos Papathomas in Fundamental Approaches to Software Enginee… (2022)

  2. No Access

    Book

  3. No Access

    Chapter

    Mining Solutions for Extended Snippet Reuse

    The introduction of question–answering services, such as Stack Overflow, has given rise to a new problem-solving paradigm in software development. Using these services, developers can post their programming qu...

    Themistoklis Diamantopoulos in Mining Software Engineering Data for Softw… (2020)

  4. Chapter and Conference Paper

    Versatile Internet of Things for Agriculture: An eXplainable AI Approach

    The increase of the adoption of IoT devices and the contemporary problem of food production have given rise to numerous applications of IoT in agriculture. These applications typically comprise a set of sensor...

    Nikolaos L. Tsakiridis in Artificial Intelligence Applications and I… (2020)

  5. No Access

    Chapter

    Future Work

    In this chapter, we discuss ideas for future work in the area of applying mining techniques on software engineering data. We initially focus on potential improvements in each of the three main areas of applica...

    Themistoklis Diamantopoulos in Mining Software Engineering Data for Softw… (2020)

  6. No Access

    Chapter

    Introduction

    Software engineering has grown to be one of the most important disciplines with noticeable impact to business and everyday life. However, there are still several challenges posed when develo** and maintainin...

    Themistoklis Diamantopoulos in Mining Software Engineering Data for Softw… (2020)

  7. No Access

    Chapter

    Providing Reusability-Aware Recommendations

    As contemporary software development relies more on software reuse, several systems have been designed to automate the process of finding reusable software components from online sources and integrating them t...

    Themistoklis Diamantopoulos in Mining Software Engineering Data for Softw… (2020)

  8. No Access

    Chapter

    Conclusion

    This chapter concludes the book and summarizes the main contributions produced by applying mining techniques on software engineering data. These contributions lie in three different areas of application, which...

    Themistoklis Diamantopoulos in Mining Software Engineering Data for Softw… (2020)

  9. No Access

    Chapter

    Theoretical Background and State-of-the-Art

    This chapter provides an overview of the background knowledge that is relevant to the main areas of application of this book. The areas of software engineering, software reuse, and software quality are discuss...

    Themistoklis Diamantopoulos in Mining Software Engineering Data for Softw… (2020)

  10. No Access

    Chapter

    Mining Software Requirements

    Requirements identification is one of the most important phases in software engineering, as incomplete or badly specified requirements are the most common cause of project failure. In this chapter, we design a...

    Themistoklis Diamantopoulos in Mining Software Engineering Data for Softw… (2020)

  11. No Access

    Chapter

    Mining Source Code for Component Reuse

    Although the development of code search engines has brought forth syntax-aware capabilities when searching for reusable components, these engines do not fully exploit the given context and do not assess the re...

    Themistoklis Diamantopoulos in Mining Software Engineering Data for Softw… (2020)

  12. No Access

    Chapter

    Assessing the Reusability of Source Code Components

    In the context of reusing components from online repositories, assessing the quality and specifically the reusability of source code before reusing it poses a major challenge for the research community. Althou...

    Themistoklis Diamantopoulos in Mining Software Engineering Data for Softw… (2020)

  13. No Access

    Chapter

    Modeling Software Requirements

    Enhancing requirements elicitation and specification extraction has always been of added value to software engineering, as it expedites the software development life cycle. In this context, the main challenge ...

    Themistoklis Diamantopoulos in Mining Software Engineering Data for Softw… (2020)

  14. No Access

    Chapter

    Source Code Indexing for Component Reuse

    The momentum of the open-source community has been constantly increasing, thus leading to numerous tools for writing, maintaining, and sharing source code. Several code search engines have been developed to su...

    Themistoklis Diamantopoulos in Mining Software Engineering Data for Softw… (2020)

  15. Chapter and Conference Paper

    Extracting Semantics from Question-Answering Services for Snippet Reuse

    Nowadays, software developers typically search online for reusable solutions to common programming problems. However, forming the question appropriately, and locating and integrating the best solution back to ...

    Themistoklis Diamantopoulos in Fundamental Approaches to Software Enginee… (2020)

  16. No Access

    Chapter

    Mining Source Code for Snippet Reuse

    As developers rely more and more on reusing components from online sources, an important challenge is that of finding snippets in order to integrate these components and/or to address common programming proble...

    Themistoklis Diamantopoulos in Mining Software Engineering Data for Softw… (2020)

  17. No Access

    Chapter and Conference Paper

    Assessing the User-Perceived Quality of Source Code Components Using Static Analysis Metrics

    Nowadays, developers tend to adopt a component-based software engineering approach, reusing own implementations and/or resorting to third-party source code. This practice is in principle cost-effective, howeve...

    Valasia Dimaridou, Alexandros-Charalampos Kyprianidis in Software Technologies (2018)

  18. Chapter and Conference Paper

    Summarizing Software API Usage Examples Using Clustering Techniques

    As developers often use third-party libraries to facilitate software development, the lack of proper API documentation for these libraries undermines their reuse potential. And although several approaches extr...

    Nikolaos Katirtzis in Fundamental Approaches to Software Enginee… (2018)

  19. No Access

    Article

    From requirements to source code: a Model-Driven Engineering approach for RESTful web services

    During the last few years, the REST architectural style has drastically changed the way web services are developed. Due to its transparent resource-oriented model, the RESTful paradigm has been incorporated in...

    Christoforos Zolotas, Themistoklis Diamantopoulos in Automated Software Engineering (2017)

  20. No Access

    Article

    Software requirements as an application domain for natural language processing

    Map** functional requirements first to specifications and then to code is one of the most challenging tasks in software development. Since requirements are commonly written in natural language, they can be p...

    Themistoklis Diamantopoulos, Michael Roth in Language Resources and Evaluation (2017)