CN110765007A - Crash information online analysis method for android application - Google Patents
Crash information online analysis method for android application Download PDFInfo
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 23
- 238000009826 distribution Methods 0.000 claims abstract description 17
- 238000012706 support-vector machine Methods 0.000 claims abstract description 8
- 230000000007 visual effect Effects 0.000 claims abstract description 7
- 238000007635 classification algorithm Methods 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 16
- 238000012544 monitoring process Methods 0.000 claims description 12
- 230000000694 effects Effects 0.000 claims description 7
- 230000008439 repair process Effects 0.000 claims description 7
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 238000013145 classification model Methods 0.000 claims description 3
- 230000010354 integration Effects 0.000 claims description 2
- 239000000243 solution Substances 0.000 claims 4
- 239000012088 reference solution Substances 0.000 claims 1
- 238000012800 visualization Methods 0.000 abstract description 2
- 230000007547 defect Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 5
- 230000015556 catabolic process Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000013522 software testing Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods 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
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.
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)
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)
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 |
-
2019
- 2019-09-29 CN CN201910952058.9A patent/CN110765007A/en active Pending
Patent Citations (3)
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)
Title |
---|
李秋婷: "面向安卓应用的崩溃信息线上分析系统的设计与实现", 《中国优秀硕士论文全文数据库信息科技辑》 * |
Cited By (3)
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 |