SEMar 26, 2018

SEAT: A Taxonomy to Characterize Automation in Software Engineering

arXiv:1803.09536v12 citationsHas Code
Originality Synthesis-oriented
AI Analysis

This work provides a foundational taxonomy for researchers and professionals in automated software engineering to understand and synthesize automation tools, though it is incremental as it builds on existing literature without introducing new methods.

The authors tackled the problem of characterizing automation tools in software engineering by conducting a systematic literature review of about 1175 articles, resulting in the SEAT taxonomy that organizes tools, techniques, and their relationships across the software development life cycle.

Reducing cost and time required to build high quality software is a major goal for software developers. Building tools and techniques that can help achieve such a goal is the chief aim for Automated Software Engineering (ASE) researchers. However, in order to be effective an ASE researcher or professional must understand the characteristics of both successful and not-so-successful ASE tools, and the constituent techniques employed by such ASE tools. In this paper we present such a characterization of ASE tools and major constituent techniques from different areas of computer science and engineering that have been employed by such ASE tools. To develop the characterization we carried out an extensive systematic literature review over about 1175 ASE research articles. One of our key goal was to identify useful relationships among ASE tools, their constituent techniques and the software development life cycle activities that these tools targeted. In terms of changes in popularity of constituent techniques with time we did not observe any clear trend. We organized the results of our characterization as a taxonomy called SEAT (Software Engineering Automation Taxonomy). A salient feature of SEAT is that it focuses on automation of activities from all phases of SDLC. Such a taxonomy, among other applications, shall enable synthesizing new automation tools for different SDLC activities. Recomposing existing systems to achieve better features will also be possible. Further, the taxonomy has been realized as a graph database using neo4j(an open source graph database), which can be queried using an SQL like language. The graph database allowed us to uncover hidden relationships by way of exhaustive search for connections and paths between different nodes (i.e. concepts). We demonstrate the efficacy of SEAT by discussing few practical use cases.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes