Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3368089.3417040acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
short-paper
Open access

Towards learning visual semantics

Published: 08 November 2020 Publication History

Abstract

We envision visual semantics learning (VSL), a novel methodology that derives high-level functional description of given software from its visual (graphical) outputs. By visual semantics, we mean the semantic description about the software’s behaviors that are exhibited in its visual outputs. VSL works by composing this description based on visual element labels extracted from these outputs through image/video understanding and natural language generation. The result of VSL can then support tasks that may benefit from the high-level functional description. Just like a developer relies on program understanding to conduct many of such tasks, automatically understanding software (i.e., by machine rather than by human developers) is necessary to eventually enable fully automated software engineering. Apparently, VSL only works with software that does produce visual outputs that meaningfully demonstrate the software’s behaviors. Nevertheless, learning visual semantics would be a useful first step towards automated software understanding. We outline the design of our approach to VSL and present early results demonstrating its merits.

Supplementary Material

Auxiliary Teaser Video (fse20vr-p5-p-teaser.mp4)
This is the presentation video of my conference talk at ESEC/FSE 2020 on our paper accepted in the vision track. In this paper, we envision visual semantics learning, a novel methodology that derives high-level functional description of given software from its visual (graphical) outputs. The main contributions of our work include the introduction of the concept of visual semantics and technical approaches to learning visual semantics using program analysis and deep learning methods. Visual semantics learning essentially opens a door to automated program understanding, which is an essential step towards an automated software engineering process. More details can be found in our paper at http://chapering.github.io/pubs/fse20-vissemantics.pdf
Auxiliary Presentation Video (fse20vr-p5-p-video.mp4)
This is the presentation video of my conference talk at ESEC/FSE 2020 on our paper accepted in the vision track. In this paper, we envision visual semantics learning, a novel methodology that derives high-level functional description of given software from its visual (graphical) outputs. The main contributions of our work include the introduction of the concept of visual semantics and technical approaches to learning visual semantics using program analysis and deep learning methods. Visual semantics learning essentially opens a door to automated program understanding, which is an essential step towards an automated software engineering process. More details can be found in our paper at http://chapering.github.io/pubs/fse20-vissemantics.pdf

References

[1]
2018. https://github.com/PhilJay/MPAndroidChart.
[2]
2018. http://shorturl.at/bdijs.
[3]
2018. https://vtk.org/Wiki/VTK/Examples/Cxx/GeometricObjects/Circle.
[4]
2018. http://shorturl.at/asyZ6.
[5]
2018. https://vtk.org/Wiki/VTK/Examples/Cxx/GeometricObjects/Triangle.
[6]
2018. http://shorturl.at/fhsT9.
[7]
2018. https://f-droid.org/en/packages/org.whitequark.sipcaller/.
[8]
2018. https://github.com/sinch/app-app-calling-android.
[9]
2018. http://shorturl.at/JKMUZ.
[10]
2018. http://shorturl.at/fIL12.
[11]
2018. https://github.com/softvar/OpenGL/blob/master/primitives/rectangle.cpp.
[12]
2018. Stacked Bar Graph. http://shorturl.at/jLQX4.
[13]
2018. Stacked Bar Graph. http://shorturl.at/cpR58.
[14]
2019. https://github.com/lincolnloop/python-qrcode.
[15]
2019. https://github.com/endroid/qr-code.
[16]
2019. https://f-droid.org/en/packages/ru.henridellal.dialer/.
[17]
2019. https://www.nltk.org/.
[18]
2020. Prototype. https://github.com/Daybreak2019/vissem.
[19]
Tony Beltramelli. 2018. pix2code: Generating code from a graphical user interface screenshot. In EICS. 1-6.
[20]
Haipeng Cai et al. 2014. SensA: Sensitivity Analysis for Quantitative Change-impact Prediction. In SCAM. 165-174.
[21]
Haipeng Cai et al. 2016. Prioritizing Change Impacts via Semantic Dependence Quantification. IEEE Transactions on Reliability (TR) 65, 3 ( 2016 ), 1114-1132.
[22]
Chunyang Chen et al. 2018. From UI design image to GUI skeleton: a neural machine translator to bootstrap mobile GUI implementation. In ICSE. 665-676.
[23]
Biplab Deka et al. 2017. Rico: A Mobile App Dataset for Building Data-Driven Design Applications. In UIST.
[24]
Desmond Elliott et al. 2013. Image description using visual dependency representations. In EMNLP. 1292-1302.
[25]
Desmond Elliott et al. 2015. Describing images using inferred visual dependency representations. In ACL-IJCNLP. 42-52.
[26]
f droid. org. 2018. F-droid. https://f-droid.org/en/.
[27]
Yanming Guo et al. 2016. Deep learning for visual understanding: A review. Neurocomputing 187 ( 2016 ), 27-48.
[28]
Ravi Kondadadi, Blake Howald, and Frank Schilder. 2013. A statistical NLG framework for aggregated planning and realization. In ACL. 1406-1415.
[29]
Yann LeCun et al. 1998. Gradient-based learning applied to document recognition. Proceedings of the IEEE 86, 11 ( 1998 ), 2278-2324.
[30]
David Lo, Siau-Cheng Khoo, Jiawei Han, and Chao Liu. 2011. Mining software specifications: methodologies and applications. CRC Press.
[31]
matplotlib.org. 2018. Sample Python programs. https://matplotlib.org/.
[32]
Kevin Moran et al. 2018. Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps. TSE ( 2018 ).
[33]
Tuan Anh Nguyen and Christoph Csallner. 2015. Reverse engineering mobile application user interfaces with remaui. In ASE. 248-259.
[34]
Luis Gilberto Mateos Ortiz et al. 2015. Learning to interpret and describe abstract scenes. In NAACL-HLT. 1505-1515.
[35]
vtk.org. 2018. Sample VTK programs. https://vtk.org/.
[36]
vtk.org. 2020. sample visualization programs. https://gitlab.kitware.com/vtk/vtk/ tree/master/Examples.
[37]
Qixiang Ye et al. 2005. Fast and robust text detection in images and video frames. Image and vision computing 23, 6 ( 2005 ), 565-576.
[38]
Xu-Cheng Yin et al. 2013. Robust text detection in natural scene images. TPAMI 36, 5 ( 2013 ), 970-983.
[39]
Yongjian You et al. 2019. Improving Abstractive Document Summarization with Salient Information Modeling. In ACL. 2132-2141.
[40]
Hanwang Zhang et al. 2017. Visual translation embedding network for visual relation detection. In CVPR. 5532-5540.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEC/FSE 2020: Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
November 2020
1703 pages
ISBN:9781450370431
DOI:10.1145/3368089
This work is licensed under a Creative Commons Attribution International 4.0 License.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 08 November 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. computer vision
  2. program understanding
  3. visual semantics

Qualifiers

  • Short-paper

Conference

ESEC/FSE '20
Sponsor:

Acceptance Rates

Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 355
    Total Downloads
  • Downloads (Last 12 months)71
  • Downloads (Last 6 weeks)7
Reflects downloads up to 22 Nov 2024

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media