Diagnostic tool for React Native : Reporting application state
The first step of debugging a deployed application is to reproduce the reported bug. But bugs that cause unpredictable behaviors without crashing the applica- tion can be difficult to reproduce, because the developer has to rely on bug-re- ports issued by users. The goal of this thesis has been to d...
Main Author: | |
---|---|
Format: | Others |
Language: | English |
Published: |
Mittuniversitetet, Avdelningen för informationssystem och -teknologi
2017
|
Subjects: | |
Online Access: | http://urn.kb.se/resolve?urn=urn:nbn:se:miun:diva-32800 |
id |
ndltd-UPSALLA1-oai-DiVA.org-miun-32800 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-UPSALLA1-oai-DiVA.org-miun-328002018-02-06T02:35:31ZDiagnostic tool for React Native : Reporting application stateengNordström, MikaelMittuniversitetet, Avdelningen för informationssystem och -teknologi2017MittmediaReact NativeReduxDiagnosticapplicationdevelopmentDebug.Software EngineeringProgramvaruteknikThe first step of debugging a deployed application is to reproduce the reported bug. But bugs that cause unpredictable behaviors without crashing the applica- tion can be difficult to reproduce, because the developer has to rely on bug-re- ports issued by users. The goal of this thesis has been to develop a diagnostic tool which makes user-reported bugs easier to reproduce. More specifically, the goal has been to develop such a tool for React Native applications implement- ing Redux, taking into consideration both state-data stored in Redux stores and React Native components. Requirements for the diagnostic tool were laid out and partitioned into proto- types that were implemented separately in iterations and then merged into the resulting tool. Requirements were also drawn for three sample applications to test and evaluate the tool, as well as a back-end to prove the tool's capability in uploading and downloading state-data from a server. The thesis resulted in a diagnostic tool that's imported into an already existing code-base as a third-party library, and which collects the complete state of the reported application instance and delivers it to the developer as a single JSON document. The tool can then inject the state-data into a fresh instance of the ap- plication to make it identical to the malfunctioning instance reported by the user; a process referred to as "reviving". Redux stores demonstrated state-over- write protection which complicates state-injection. A study was performed to compare the impact this difference has on performance. As expected, the study revealed that the diagnostic tool takes marginally longer to revive state-data in Redux stores for this reason. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:miun:diva-32800Local DT-H17-G3-001application/pdfinfo:eu-repo/semantics/openAccess |
collection |
NDLTD |
language |
English |
format |
Others
|
sources |
NDLTD |
topic |
Mittmedia React Native Redux Diagnostic application development Debug. Software Engineering Programvaruteknik |
spellingShingle |
Mittmedia React Native Redux Diagnostic application development Debug. Software Engineering Programvaruteknik Nordström, Mikael Diagnostic tool for React Native : Reporting application state |
description |
The first step of debugging a deployed application is to reproduce the reported bug. But bugs that cause unpredictable behaviors without crashing the applica- tion can be difficult to reproduce, because the developer has to rely on bug-re- ports issued by users. The goal of this thesis has been to develop a diagnostic tool which makes user-reported bugs easier to reproduce. More specifically, the goal has been to develop such a tool for React Native applications implement- ing Redux, taking into consideration both state-data stored in Redux stores and React Native components. Requirements for the diagnostic tool were laid out and partitioned into proto- types that were implemented separately in iterations and then merged into the resulting tool. Requirements were also drawn for three sample applications to test and evaluate the tool, as well as a back-end to prove the tool's capability in uploading and downloading state-data from a server. The thesis resulted in a diagnostic tool that's imported into an already existing code-base as a third-party library, and which collects the complete state of the reported application instance and delivers it to the developer as a single JSON document. The tool can then inject the state-data into a fresh instance of the ap- plication to make it identical to the malfunctioning instance reported by the user; a process referred to as "reviving". Redux stores demonstrated state-over- write protection which complicates state-injection. A study was performed to compare the impact this difference has on performance. As expected, the study revealed that the diagnostic tool takes marginally longer to revive state-data in Redux stores for this reason. |
author |
Nordström, Mikael |
author_facet |
Nordström, Mikael |
author_sort |
Nordström, Mikael |
title |
Diagnostic tool for React Native : Reporting application state |
title_short |
Diagnostic tool for React Native : Reporting application state |
title_full |
Diagnostic tool for React Native : Reporting application state |
title_fullStr |
Diagnostic tool for React Native : Reporting application state |
title_full_unstemmed |
Diagnostic tool for React Native : Reporting application state |
title_sort |
diagnostic tool for react native : reporting application state |
publisher |
Mittuniversitetet, Avdelningen för informationssystem och -teknologi |
publishDate |
2017 |
url |
http://urn.kb.se/resolve?urn=urn:nbn:se:miun:diva-32800 |
work_keys_str_mv |
AT nordstrommikael diagnostictoolforreactnativereportingapplicationstate |
_version_ |
1718613403730182144 |