Please use this identifier to cite or link to this item:
https://www.um.edu.mt/library/oar/handle/123456789/35411| Title: | A runtime verification tool for JavaScript programs |
| Authors: | Mizzi, Bernard |
| Keywords: | JavaScript (Computer program language) Software engineering Computer software -- Verification |
| Issue Date: | 2018 |
| Citation: | Mizzi, B. (2018). A runtime verification tool for JavaScript programs (Bachelor's dissertation). |
| Abstract: | JavaScript’s popularity among developers is growing, and JavaScript web applications are also becoming more prominent; hence the need to apply verification techniques to verify their correctness is becoming more pressing because people tend to use the most effective of these techniques. Verification can be done through the use of runtime verification where they must first establish the wanted behaviour, instrument the application and then run the application with runtime verification in the background. For this reason, in this study, we implement the previously mentioned approach as a tool named JavaScript Runtime Verifier (JsRV), as its name implies JsRV performs runtime verification on JavaScript web applications. JsRV verifies the behaviour of a system by comparing the trace of events that occur during execution to the pre-defined correctness properties, and if any misbehaviour is detected JsRV reports the error to the user. However, although runtime verification may offer extra correctness due to it being performed at runtime, the induced performance overheads cannot be overlooked, and the same applies for JsRV. Therefore we establish a case-study and identify correctness properties that are used to verify the application’s behaviour at runtime. We then use JsRV to runtime verify the application, collect results which represent JsRV’s performance and provide any insights that concern the induced time and memory. Despite the fact that JsRV succeeded in performing runtime verification on the case-study, the additional time and memory overheads were not negligible. We also used three other aspect-oriented programming (AOP) libraries, which were similarly used for runtime verification and their respective results were likewise collected and compared to those of JsRV. Furthermore, the results were utilised in discovering any improvements that could be made to enhance the AOP element in our tool so that we could improve the performance of runtime verification. |
| Description: | B.SC.(HONS)COMP.SCI. |
| URI: | https://www.um.edu.mt/library/oar//handle/123456789/35411 |
| Appears in Collections: | Dissertations - FacICT - 2018 Dissertations - FacICTCS - 2018 |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| 18BCS011.pdf Restricted Access | 788.44 kB | Adobe PDF | View/Open Request a copy |
Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.
