• Checking Observational Purity of Procedures 

      Arora, Himanshu
      We provide two static analysis approaches(using theorem proving) that check if a given (recursive) procedure behaves as if it were stateless, even when it maintains state in global variables. In other words, we check if ...
    • Extending Program Analysis Techniques to Web Applications and Distributed Systems 

      Athaiya, Snigdha
      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 ...
    • Identifying Method Memoization Opportunities in Java Programs 

      Chugh, Pallavi (2017-12-13)
      Memorization of a method is a commonly used re-factoring wherein developer modules the code of a method to save return values for some or all incoming parameter values. Whenever a parameter-tuple is received for the second ...
    • Matching Domain Model with Source Code using Relationships 

      Bharat, Patil Tejas (2018-01-30)
      We address the task of mapping a given domain model (e.g., an industry-standard reference model) for a given domain (e.g., ERP), with the source code of an independently developed application in the same domain. This has ...
    • Model Checking Temporal Properties of Presburger Counter Systems 

      Kommineni, Vasanta Lakshmi
      Counter systems are a well-known and powerful modeling notation for specifying infnite state systems. In this thesis we target the problem of checking temporal properties of counter systems. We address three predominant ...
    • Model-Checking in Presburger Counter Systems using Accelerations 

      Acharya, Aravind N (2018-04-18)
      Model checking is a powerful technique for analyzing reach ability and temporal properties of finite state systems. Model-checking finite state systems has been well-studied and there are well known efficient algorithms ...
    • Modeling and verification of database-accessing applications 

      Chawla, Geetam
      Databases are central to the functioning of most IT-enabled processes and services. In many domains, databases are accessed and updated via applications written in general-purpose lan- guages, as such applications need ...
    • Program Analyses to Support Memory-saving Refactorings in Java Programs 

      Rama, Girish Maskeri
      Software commonly consumes unexpectedly high amounts of memory, frequently due to programming idioms that are used to make software more reliable, maintainable and understandable. In the case of modern object-oriented ...