Yang Song, Junayed Mahmud, Nadeeshan De Silva, Ying Zhou, Oscar Chaparro, Kevin Moran, Andrian Marcus, Denys Poshyvanyk
Year of Publication
2023
Summary
They designed a tool called BURT to assist Android app end-users in reporting high-quality defect information using an interactive interface. Guides the users in reporting essential bug report elements, i.e., the observed behavior, expected behavior, and the steps to reproduce the bug. It verifies the quality of the text written by the user and provides instant feedback. In addition, BURT provides graphical suggestions that the users can choose as alternatives to textual descriptions. It implements techniques based on natural language processing, dynamic software analysis, and automated bug report quality assessment.
Contributions of The Paper
Key Contributions :
A standalone web-based chatbot, currently tailored for Android apps, that aims to collect high-quality information from the reporter through a guiding dialog.
Generates a bug report with textual bug descriptions and app screen captures.
Guides the user in reporting essential bug report elements (the OB, EB, and S2Rs).
Provides graphical suggestions, such as the next S2Rs.
The GUI contains four elements - The Chat Box - that allows reporters to provide textual descriptions of OB,EB and S2R and select graphical suggestions, Reported Steps Panel - enumerates and displays the S2Rs that the user reported, Screen Capture Panel - screen captures of the last three S2Rs, Quick Action Panel - to finish or start the reporting process, Tips Panel - Suggestions on how to use BURT and how to better express OB, EB and S2R.
BURT's architecture has three main components :
Natural Language Parser - BURT parses the textual OB/EB/S2R using dependency parsing with Stanford Core NLP toolkit using the format - [subject][action] [object][preposition][object2]. It uses heuristic based approach to identify the sentence type of each message. Then for each sentence type - it extracts the relevant words from the sentences .
The Dialogue Manager - guides users to report OB, EB and S2Rs. It suggests different NL and graphical elements to assist the user through reporting. It relies on RP(Report Processing) engine to assess the quality of the bug elements reported. It performs quality checks on written bug report elements (applies to all bug elements), and provides automated suggestion of S2Rs (for S2Rs only)
Report Processing Engine - has three sub components - (1) App Execution Model - directed graph where nodes represent app screen. It uses the ap usage data to build the execution model automatically. (2) Dialogue Quality Processor - performs quality verifications of the parsed OB/EB/S2R descriptions by mapping the app states from the execution model and categorizes them high or low quality. (3) S2R Response Predictor - suggests the the reporter the next S2Rs by determining the paths between the current graph state and corresponding OB state.
Publisher
ICSE
Link to The Paper
https://arxiv.org/abs/2302.06050
Name of The Authors
Yang Song, Junayed Mahmud, Nadeeshan De Silva, Ying Zhou, Oscar Chaparro, Kevin Moran, Andrian Marcus, Denys Poshyvanyk
Year of Publication
2023
Summary
They designed a tool called BURT to assist Android app end-users in reporting high-quality defect information using an interactive interface. Guides the users in reporting essential bug report elements, i.e., the observed behavior, expected behavior, and the steps to reproduce the bug. It verifies the quality of the text written by the user and provides instant feedback. In addition, BURT provides graphical suggestions that the users can choose as alternatives to textual descriptions. It implements techniques based on natural language processing, dynamic software analysis, and automated bug report quality assessment.
Contributions of The Paper
Key Contributions :
BURT's architecture has three main components :
Natural Language Parser - BURT parses the textual OB/EB/S2R using dependency parsing with Stanford Core NLP toolkit using the format - [subject][action] [object][preposition][object2]. It uses heuristic based approach to identify the sentence type of each message. Then for each sentence type - it extracts the relevant words from the sentences .
The Dialogue Manager - guides users to report OB, EB and S2Rs. It suggests different NL and graphical elements to assist the user through reporting. It relies on RP(Report Processing) engine to assess the quality of the bug elements reported. It performs quality checks on written bug report elements (applies to all bug elements), and provides automated suggestion of S2Rs (for S2Rs only)
Report Processing Engine - has three sub components - (1) App Execution Model - directed graph where nodes represent app screen. It uses the ap usage data to build the execution model automatically. (2) Dialogue Quality Processor - performs quality verifications of the parsed OB/EB/S2R descriptions by mapping the app states from the execution model and categorizes them high or low quality. (3) S2R Response Predictor - suggests the the reporter the next S2Rs by determining the paths between the current graph state and corresponding OB state.
Comments
No response