Please use this identifier to cite or link to this item: http://hdl.handle.net/10603/428639
Title: Extending Program Analysis Techniques to Web Applications and Distributed Systems
Researcher: Athaiya, Snigdha
Guide(s): Raghavan, K V
Keywords: Computer Science
Computer Science Information Systems
Engineering and Technology
University: Indian Institute of Science Bangalore
Completed Date: 2020
Abstract: Web-based applications and distributed systems are ubiquitous and indispensable today. These systems use multiple parallel machines for greater functionality, and efficient and reliable computation. At the same time they present innumerable challenges, especially in the field of program analysis. In this thesis, we address two problems in the domain of web based applications and distributed systems relating to program analysis, and design effective solutions for those problems. The first challenge that the thesis addresses is the difficulty of analyzing a web application in an end-to-end manner using a single tool. Such an analysis is hard due to client-server interaction, user interaction, and the use of multiple types of languages, and frameworks in a web application. We propose a semantics preserving modeling technique, that converts a web application into a single-language program. The model of a web application in the thesis is a Java program as we present our modeling technique in the context Java-based web applications. As a result of the translation, off -the-shelf tools available for Java can now be used to analyze the application. We have built a tool for the translation of applications. We evaluate our translation tool by converting 5 real world web applications into corresponding models, and then analyzing the models using 3 popular third-party program analysis tools - Wala (static slicing), Java PathFinder (explicit-state and symbolic model checking), and Zoltar (dynamic fault localization). In all the analysis tools, we get precise results for most cases. The second challenge that the thesis addresses, is the precise data flow analysis of message passing asynchronous systems. Message passing systems are distributed systems, where multiple processes execute concurrently, and communicate with each other by passing messages to the channels associated with each process. These systems encompass majority of the real world distributed systems, e.g., web applications, event-driven programs, reactive...
Pagination: xii, 148p.
URI: http://hdl.handle.net/10603/428639
Appears in Departments:Computer Science and Automation

Files in This Item:
File Description SizeFormat 
01_title.pdfAttached File71.62 kBAdobe PDFView/Open
02_prelim pages.pdf239.63 kBAdobe PDFView/Open
03_table of contents.pdf68.06 kBAdobe PDFView/Open
04_abstract.pdf48.16 kBAdobe PDFView/Open
05_chapter 1.pdf445.19 kBAdobe PDFView/Open
06_chapter 2.pdf394.87 kBAdobe PDFView/Open
07_chapter 3.pdf925.54 kBAdobe PDFView/Open
08_chapter 4.pdf287.06 kBAdobe PDFView/Open
09_chapter 5.pdf508.41 kBAdobe PDFView/Open
10_chapter 6.pdf730.77 kBAdobe PDFView/Open
11_chapter 7.pdf233.08 kBAdobe PDFView/Open
12_chapter 8.pdf196.73 kBAdobe PDFView/Open
13_annexure.pdf180.49 kBAdobe PDFView/Open
80_recommendation.pdf143.33 kBAdobe PDFView/Open
Show full item record


Items in Shodhganga are licensed under Creative Commons Licence Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

Altmetric Badge: