Loading [MathJax]/extensions/MathMenu.js
A Survey on the Use of Computer Vision to Improve Software Engineering Tasks | IEEE Journals & Magazine | IEEE Xplore

A Survey on the Use of Computer Vision to Improve Software Engineering Tasks


Abstract:

Software engineering (SE) research has traditionally revolved around engineering the source code. However, novel approaches that analyze software through computer vision ...Show More

Abstract:

Software engineering (SE) research has traditionally revolved around engineering the source code. However, novel approaches that analyze software through computer vision have been increasingly adopted in SE. These approaches allow analyzing the software from a different complementary perspective other than the source code, and they are used to either complement existing source code-based methods, or to overcome their limitations. The goal of this manuscript is to survey the use of computer vision techniques in SE with the aim of assessing their potential in advancing the field of SE research. We examined an extensive body of literature from top-tier SE venues, as well as venues from closely related fields (machine learning, computer vision, and human-computer interaction). Our inclusion criteria targeted papers applying computer vision techniques that address problems related to any area of SE. We collected an initial pool of 2,716 papers, from which we obtained 66 final relevant papers covering a variety of SE areas. We analyzed what computer vision techniques have been adopted or designed, for what reasons, how they are used, what benefits they provide, and how they are evaluated. Our findings highlight that visual approaches have been adopted in a wide variety of SE tasks, predominantly for effectively tackling software analysis and testing challenges in the web and mobile domains. The results also show a rapid growth trend of the use of computer vision techniques in SE research.
Published in: IEEE Transactions on Software Engineering ( Volume: 48, Issue: 5, 01 May 2022)
Page(s): 1722 - 1742
Date of Publication: 22 October 2020

ISSN Information:


1 Introduction

All areas of the software engineering (SE) lifecycle— such as requirements, design, development, and testing— often have the ultimate goal of contributing to a fundamental product of software engineering: the source code. Accordingly, a wide range of SE activities have typically revolved around the source code, whether to improve its quality, reliability, maintainability, or increase developers’ productivity. A relatively more recent—and less explored— alternative approach to SE is the adoption of a computer vision perspective. This approach utilizes one or more computer vision (CV) algorithms to extract, analyze, or process visual aspects pertaining to the software. The objective is still focused on solving a SE problem or task, but using visual techniques instead of relying merely on the source code. As an example, a typical CV approach might involve screenshot image comparison to compare or analyze two graphical user interfaces (GUI) for testing purposes.

Contact IEEE to Subscribe

References

References is not available for this document.