CN110765007A - Crash information online analysis method for android application - Google Patents

Crash information online analysis method for android application Download PDF

Info

Publication number
CN110765007A
CN110765007A CN201910952058.9A CN201910952058A CN110765007A CN 110765007 A CN110765007 A CN 110765007A CN 201910952058 A CN201910952058 A CN 201910952058A CN 110765007 A CN110765007 A CN 110765007A
Authority
CN
China
Prior art keywords
crash
application
information
collapse
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910952058.9A
Other languages
Chinese (zh)
Inventor
房春荣
田元汉
虞圣呈
赵文远
陈振宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN201910952058.9A priority Critical patent/CN110765007A/en
Publication of CN110765007A publication Critical patent/CN110765007A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention provides an android application-oriented crash information online analysis method, which is used for automatically capturing crash of a mobile application in operation and providing a multi-dimensional visual crash report. (2) And a support vector machine and a naive Bayes classification algorithm are introduced to realize crash, and crash deduplication is realized based on a mode matching and inconsistency analysis method. (3) The multi-dimensional visualization shows the crash report, provides a page distribution view and crash solution suggestion viewing, can realize a custom crash solution by opening a third-party solution submission and viewing entrance, and gives praise to useful suggestions to solve the problem of the incompleteness of the solution.

Description

Crash information online analysis method for android application
Technical Field
The invention belongs to the technical field of software testing in computer technology, in particular to the technical field of automatic testing in software testing, and is used for capturing, collecting and analyzing the breakdown of online android applications.
Background
With the continuous high-speed growth of the mobile internet industry, the popularity of mobile terminals is higher and higher. As the operating system with the most users, thousands of new applications are released on the android platform every day, and the total number of the applications reaches the million level. Domestic android ecological environment is comparatively unique, and each big cell-phone manufacturer lacks unified equipment software and hardware standard to the customization of android system degree of depth, and does not have unified application release platform, and each big manufacturer is for war for the android fragmentation problem is especially serious. In this case, compatibility with android system versions and device models of different vendors has no serious requirement for mobile application quality.
Most commercial applications go through a strict test flow before being released, and the application is released online after the defects detected in the test phase are repaired, while the undetected defects are directly exposed to the user. Among them, crashes are the most serious of the application defects, and usually directly result in user churn. The crashes that occur during the use of the application by the user are very hidden and not easily reproducible for the developer. Most mobile application developers' tracking of crashes typically stems from feedback from a small fraction of the core users. And the user reports the defects to the customer service, and the customer service integrates the user feedback results and feeds the user feedback results back to the testing and developing personnel. Meanwhile, due to different professional levels of users, defects cannot be accurately described, and log logs and related debugging information when the defects occur cannot be recorded, so that great cost is required for testers to reproduce the defects and developers to position and repair the defects. Therefore, monitoring the abnormality such as crash and flash back in the online application running process in real time by the crash monitoring analysis tool to assist the developer in analyzing the crash reason and positioning the crash position is a very important way in the mobile application test.
Disclosure of Invention
The invention aims to solve the problems that: and automatically capturing the crash of the mobile user in the using process, and displaying a multi-dimensional visual crash report.
The technical scheme of the invention is as follows: an android application-oriented crash information online analysis system is characterized in that android application crash is automatically captured through an embedded SDK and crash related information is collected, wherein the crash related information comprises equipment hardware information, equipment performance state information, user page path tracking, crash screenshot and the like. The system automatically analyzes the crash exception stack to complete classification and deduplication of the crash. The system has the functions of product management, crash filtering and searching, crash detail checking and real-time monitoring and analysis, and the crash details are displayed from multiple dimensions such as page distribution, system version distribution, model equipment distribution, detailed stacking, reporting trend and the like so as to assist developers to quickly find, locate and repair the crash. The method comprises the following steps:
1) by filling in contents such as product names, product types, product descriptions and the like, the system automatically generates application app _ keys for uniquely identifying the applications;
2) the user embeds the SDK into the application according to the system integration description to realize the access of the system and the application;
3) when the application is started, firstly, monitoring an Activity life cycle by using a Java reflection mechanism to obtain a user page operation path and a screenshot, and simultaneously judging whether a left non-uploaded file exists in the equipment or not, and if so, immediately uploading the file to a server;
4) when the application crashes, capturing the exception through an android exception handling mechanism, collecting contents such as exception stacks, equipment hardware information, equipment performance state information and the like, reading the acquired information such as user operation paths, crash screenshots and the like, and uploading the information to a server;
5) analyzing the uploaded crash data, predicting crash categories by adopting a support vector machine and a naive Bayes classification algorithm, and corresponding the categories to solutions one by one; the collapse duplicate removal is realized through a mode matching and inconsistency analysis method;
6) on the basis of classification and duplicate removal, generating a visual crash report from dimensions such as page distribution, model equipment distribution, reporting trend, application version distribution, detailed stacking, user page tracking, solution and the like so as to help a user to quickly search, locate and repair the crash;
7) and counting the application collapse occurrence times, the number of influencing users, the total problem number, the repaired problem number, the latest problem number and other real-time monitoring analysis data so as to help the users to master the application running condition in real time.
The method rewrites the main method in the Activity life cycle, replaces the native method by a Java reflection mechanism, and acquires the user operation path and the crash screenshot by monitoring the Activity life cycle.
According to the method, the structured stack information is analyzed, data preprocessing is carried out on the abnormal stack, the hash vectorization is carried out on the abnormal stack, a classification model is trained by adopting a support vector machine and a naive Bayes classification algorithm to predict the breakdown category, and the breakdown classification accuracy is improved.
According to the invention, the stack key information is extracted by using pattern matching, three attributes such as an application package name, an app _ key and an application version are combined to be used as inconsistent labels, and duplicate removal is carried out according to the result of whether the four attributes are completely consistent or not.
The visual crash report is displayed from each dimension, and the system crash solution suggestion and the third-party solution suggestion are provided for the user, namely the user can submit the custom solution suggestion and can view and approve the third-party solution suggestion so as to perfect the crash solution suggestion.
By aggregating the crash data with the same category or the same stack key information, the similar crash data, namely the stack information, is basically consistent, but has slight differences of different error code line numbers or different activities and the like, and by displaying the crash distribution on different pages, a developer can be helped to trace and repair similar bugs.
The invention has the beneficial effects that: the crash of the application in operation can be automatically captured, a user is prompted through a friendly interface and quits the application, the crash related information is timely reported to the system, the crash information is counted and analyzed from a plurality of different dimensions, a detailed crash report is displayed, a developer is helped to quickly locate and repair the application program error, and the android application quality is improved in an all-round mode.
Drawings
FIG. 1 is a flow chart of the system implementation
FIG. 2 crash Classification example code
FIG. 3 is a flow chart of pattern matching
FIG. 4 product management screenshot
FIG. 5 crash List screenshot
FIG. 6 crash detail screenshot
FIG. 7 real-time monitoring analysis screenshot
Detailed description of the invention
The method aims to automatically capture the crash of the application in operation, predict the crash category based on the support vector machine algorithm, and analyze and remove the repeated crash by adopting pattern matching and inconsistency so as to finally generate a multi-dimensional visual crash report. The specific implementation method comprises the following steps: and collecting crash information, classifying the crash, removing the duplicate and visualizing the crash report so as to obtain a final result.
1. Crash information collection
By rewriting the main method in the android lifecycle, replacing the system native method with the tangent plane programming technology, in each lifecycle state function, obtaining the current equipment time, the Activity name, the Activity current state and calling a screen capture function to capture the current page. Capturing the crash of the application running based on the android exception handling mechanism, namely, capturing the exception and simultaneously acquiring exception stack information and collecting equipment hardware information and equipment performance state information by a user-defined exception handler and setting the user-defined exception handler as a global exception handler.
2. Crash deduplication and classification
And (4) implementing the deduplication and classification of the crash. The classification process is based on the collected crash data and adopts a support vector machine and a naive Bayes classification algorithm to train a classification model, and mainly comprises the steps of data preprocessing, training set reading, text vectorization, model training and model evaluation. The data preprocessing process comprises feature extraction and type labeling, and text vectorization is realized by adopting a Hash algorithm. The deduplication process comprises two steps of pattern matching extraction of key sentences and inconsistency analysis, key sentences are extracted through pattern matching, three attributes of application package names, app _ keys and application versions are used as inconsistency labels for deduplication, and deduplication is carried out according to the result of whether the four attributes are completely consistent or not. The flow chart of pattern matching extraction is shown in fig. 6.
3. Crash visualization
The processes of product management, crash filtering and query, crash detail viewing, real-time monitoring and analysis and the like are visualized in a webpage form. The product management provides functions of creating a product, modifying a product, deleting a product, and the like, and a screenshot of a page of the product management is shown in fig. 4. Crash filtering and query are carried out according to the crash type and the crash state, and meanwhile, keywords can be directly input for query, and the screenshot of the webpage is shown in fig. 5. The crash detail check provides multi-dimensional crash data analysis, including the number of times of crash occurrence, the number of users affected, solutions, different page distributions, model device distributions, application version distributions, reporting trends, user page path tracking, detailed stack information, device software and hardware information, and the like, and a page screenshot is shown in fig. 6. The solutions correspond to the crash categories one to one, custom solutions can be submitted when the crash state is modified, and praise can be made to the suggestions when third party solutions are checked. The real-time monitoring analysis is responsible for analyzing application near conditions, such as the number of times of occurrence of crash, the number of users affected, the proportion of users affected, the reporting trend, the total number of problems, the crash summary ranked by the number of repairs, the number of newly discovered problems, and the number of times of occurrence of crash, Top5, and the screenshot of the page is shown in fig. 7.

Claims (5)

1. An android application-oriented crash information online analysis method is characterized by comprising the following steps: (1) the application accesses the system through the SDK, the system automatically monitors the running state of the application, globally captures the collapse abnormal stack, and automatically collects and uploads context information including device software and hardware parameters, page path tracking, collapse screenshot and memory occupation when the collapse occurs; (2) performing collapse duplicate removal through key sentence pattern matching and inconsistency analysis, performing collapse classification based on a support vector machine and a naive Bayesian algorithm, and displaying detailed collapse information according to multiple dimensions such as page distribution, version distribution and equipment distribution; (3) providing reference solution suggestions for all crash categories, supporting submission and approval of third-party solution suggestions, and intelligently recommending crash high-resolution solution suggestions of the same category, wherein the method specifically comprises the following steps:
1) by filling in contents such as product names, product types, product descriptions and the like, the system automatically generates application app _ keys for uniquely identifying the applications;
2) the user embeds the SDK into the application according to the system integration description to realize the access of the system and the application;
3) when the application is started, firstly, monitoring an Activity life cycle by using a Java reflection mechanism to obtain a user page operation path and a screenshot, and simultaneously judging whether a left non-uploaded file exists in the equipment or not, and if so, immediately uploading the file to a server;
4) when the application crashes, capturing the exception through an android exception handling mechanism, collecting contents such as exception stacks, equipment hardware information, equipment performance state information and the like, reading the acquired information such as user operation paths, crash screenshots and the like, and uploading the information to a server;
5) analyzing the uploaded crash data, predicting crash categories by adopting a support vector machine and a naive Bayes classification algorithm, and corresponding the categories to solutions one by one; the collapse duplicate removal is realized through a mode matching and inconsistency analysis method;
6) on the basis of classification and duplicate removal, generating a visual crash report from dimensions such as page distribution, model equipment distribution, reporting trend, application version distribution, detailed stacking, user page tracking, solution and the like so as to help a user to quickly search, locate and repair the crash;
7) and counting the application collapse occurrence times, the number of influencing users, the total problem number, the repaired problem number, the latest problem number and other real-time monitoring analysis data so as to help the users to master the application running condition in real time.
2. The android application-oriented crash information online analysis system of claim 1, wherein application crashes occurring at a user side are monitored globally and captured automatically, and complete context information of crash-occurring devices is collected and uploaded to achieve multi-dimensional crash analysis and display.
3. The android application-oriented crash information online analysis system of claim 1, wherein structured crash information is deduplicated by pattern matching and inconsistency analysis, and subjected to abnormal stack hash vectorization, and then a classification model is trained by using a support vector machine and a naive Bayes classification algorithm to predict crash categories.
4. The android application-oriented crash information online analysis system as claimed in claim 1, wherein a visual crash report is analyzed and displayed from a plurality of different dimensions such as a page, an application version, a model and the like, and each category of crash page path tracking, crash screenshot and monitoring crash reporting trend are analyzed and displayed in detail.
5. The android application-oriented crash information online analysis system of claim 1, wherein reference resolution suggestions are provided for crash categories, user addition and approval of third party resolution suggestions are supported, and high approval category crash third party resolution suggestions are intelligently recommended.
CN201910952058.9A 2019-09-29 2019-09-29 Crash information online analysis method for android application Pending CN110765007A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910952058.9A CN110765007A (en) 2019-09-29 2019-09-29 Crash information online analysis method for android application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910952058.9A CN110765007A (en) 2019-09-29 2019-09-29 Crash information online analysis method for android application

Publications (1)

Publication Number Publication Date
CN110765007A true CN110765007A (en) 2020-02-07

Family

ID=69331169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910952058.9A Pending CN110765007A (en) 2019-09-29 2019-09-29 Crash information online analysis method for android application

Country Status (1)

Country Link
CN (1) CN110765007A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113238960A (en) * 2021-06-07 2021-08-10 上海识装信息科技有限公司 Automatic-assignment Bug treatment method and device and electronic equipment
CN113836540A (en) * 2021-09-02 2021-12-24 青岛海信移动通信技术股份有限公司 Method, apparatus, storage medium, and program product for managing application rights
CN113900851A (en) * 2021-10-29 2022-01-07 广州品唯软件有限公司 Android application software control method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107305522A (en) * 2016-04-21 2017-10-31 富士通株式会社 The apparatus and method detected for the repetition collapse to application program
CN107491383A (en) * 2017-08-17 2017-12-19 杭州师范大学 Catching method, device and the mobile terminal of application crashes Operation Log
US20190294607A1 (en) * 2015-02-26 2019-09-26 International Business Machines Corporation Database query execution tracing and data generation for diagnosing execution issues

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190294607A1 (en) * 2015-02-26 2019-09-26 International Business Machines Corporation Database query execution tracing and data generation for diagnosing execution issues
CN107305522A (en) * 2016-04-21 2017-10-31 富士通株式会社 The apparatus and method detected for the repetition collapse to application program
CN107491383A (en) * 2017-08-17 2017-12-19 杭州师范大学 Catching method, device and the mobile terminal of application crashes Operation Log

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李秋婷: "面向安卓应用的崩溃信息线上分析系统的设计与实现", 《中国优秀硕士论文全文数据库信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113238960A (en) * 2021-06-07 2021-08-10 上海识装信息科技有限公司 Automatic-assignment Bug treatment method and device and electronic equipment
CN113836540A (en) * 2021-09-02 2021-12-24 青岛海信移动通信技术股份有限公司 Method, apparatus, storage medium, and program product for managing application rights
CN113900851A (en) * 2021-10-29 2022-01-07 广州品唯软件有限公司 Android application software control method and device

Similar Documents

Publication Publication Date Title
Wehaibi et al. Examining the impact of self-admitted technical debt on software quality
Da Costa et al. A framework for evaluating the results of the szz approach for identifying bug-introducing changes
Li et al. Which log level should developers choose for a new logging statement?
Li et al. Towards just-in-time suggestions for log changes
US10102113B2 (en) Software test automation systems and methods
D'Ambros et al. On the relationship between change coupling and software defects
Wu et al. Changelocator: locate crash-inducing changes based on crash reports
US8745572B2 (en) Software development automated analytics
Zampetti et al. Recommending when design technical debt should be self-admitted
US7757125B2 (en) Defect resolution methodology and data defects quality/risk metric model extension
CN112486557A (en) Development-based complete life cycle management platform and method
CN111108481B (en) Fault analysis method and related equipment
Bigonha et al. The usefulness of software metric thresholds for detection of bad smells and fault prediction
CN112433948A (en) Simulation test system and method based on network data analysis
CN115391082A (en) Abnormal data diagnosis method, system and storage medium
CN110765007A (en) Crash information online analysis method for android application
CN115952081A (en) Software testing method, device, storage medium and equipment
CN111353304B (en) Crowdsourcing test report aggregation and summarization method
CN114138537A (en) Crash information online analysis method for android application
Beyer et al. Analyzing the relationships between android api classes and their references on stack overflow
CN113535538A (en) Application full-link automatic testing method and device, electronic equipment and storage medium
Yan et al. Revisiting the correlation between alerts and software defects: A case study on myfaces, camel, and cxf
CN112783763B (en) Software quality detection method and device, electronic equipment and storage medium
Panchal An Empirical Study of Runtime Files Attached to Crash Reports
Puspaningrum et al. Vulnerable Source Code Detection using SonarCloud Code Analysis

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200207

WD01 Invention patent application deemed withdrawn after publication