Giter VIP home page Giter VIP logo

avgust's Introduction

Avgust

This repository holds the source code and data for the paper "AVGUST: Automating Usage-Based Test Generation from Videos of App Executions". This paper was accepted in ESEC/FSE 2022 research track. You can find the accepted paper here.

AVGUST is a human-in-the-loop technique that assists developers in generating usage-based tests for mobile apps by learning from videos of app usages.

  1. The main code base is under code folder. You can find the code related to the 4 main stages of Avgust:

Step Extraction: Processing app videos to generate app-specific UI events
IR Classification: Classifying UI screens and widgets
Model Generation: Generating app-independent usage models
Dynamic Test Generation: Dynamically generating usage-based tests for new apps

  1. the KNN and MLP screen and widget classifiers are under KNNClassifier and MLP_Screen_Widget_Classification, respectively.
  2. the definitions of canonical screens and canonical widgets are under IR folder
  3. the intermediate embeddings output by our classifiers are under embeddings folder.
  4. the IR Models, generated tests, and intermediate results (e.g., screenshots, cropped widgets, reverse engineered UI layout hierarchy) are under output folder.
  5. the processed video frames, screenshots, cropped widgets, keyboard classifier's results of all the usages are under usage_data folder.

This repository also contains the software requirements and installation instructions for the provided artifact.

DOI

avgust's People

Contributors

felicitia avatar saghartalebipour avatar kpmoran avatar

Stargazers

 avatar

Watchers

 avatar

avgust's Issues

About installing

Hi!
I am trying to run Avgust but unfortunately, I don't think the link to [REMAUI Java program] is available anymore.
I would appreciate it if you could provide a new link for it.

In addition, I found out that someone else has re-implemented REMAUI in Python like the link below:
https://github.com/soumikmohianuta/pixtoapp/blob/master/README.md

However, I am not sure that this will work if I follow the steps explained in INSTALL.md

Many thanks for considering my request.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.