Jaideep Nijjar

dblp:03/9980 · DBLP profile ↗
← Back
4ranked-venue papers
4as first author
0since 2021 · last 2015
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 4 · 4 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
4 papers
Program verification · 48% Debugging and program repair · 23% Requirements engineering and software design · 15%
Network and information security
1 paper
Web and mobile security · 100%

Topics — the 6 heaviest of 10, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Debugging and program repair
automated program repair
0.212013
Data model property inference and repair · ISSTA 2013
Program verification
SMT-based verification
0.112012
Unbounded data model verification using SMT solvers · ASE 2012
Program verification
unbounded verification
0.112012
Unbounded data model verification using SMT solvers · ASE 2012
Program verification
bounded verification
0.112011
Bounded verification of Ruby on Rails data models · ISSTA 2011
Requirements engineering and software design › software architecture › architectural style
model-view-controller
0.112011
Bounded verification of Ruby on Rails data models · ISSTA 2011
Requirements engineering and software design
software architecture
0.112011
Bounded verification of Ruby on Rails data models · ISSTA 2011

Methods — techniques the papers use, named apart from their topics

bounded verification · 0.6unbounded verification · 0.4property inference heuristics · 0.4property inference · 0.2automated verification · 0.2satisfiability modulo theories · 0.1formal specification · 0.1bounded model checking · 0.1alloy · 0.1
YearPublicationVenuePosition
2015 Data Model Property Inference, Verification, and Repair for Web Applications
abstract
Most software systems nowadays are Web-based applications that are deployed over compute clouds using a three-tier architecture, where the persistent data for the application is stored in a backend datastore and is accessed and modified by the server-side code based on the user interactions at the client-side. The data model forms the foundation of these three tiers, and identifies the sets of objects (object classes) and the relations among them (associations among object classes) stored by the application. In this article, we present a set of property patterns to specify properties of a data model, as well as several heuristics for automatically inferring them. We show that the specified or inferred data model properties can be automatically verified using bounded and unbounded verification techniques. For the properties that fail, we present techniques that generate fixes to the data model that establish the failing properties. We implemented this approach for Web applications built using the Ruby on Rails framework and applied it to ten open source applications. Our experimental results demonstrate that our approach is effective in automatically identifying and fixing errors in data models of real-world web applications.
Jaideep Nijjar, Ivan Bocic, Tevfik Bultan
ACM Trans. Softw. Eng. Methodol.1
2013 Data model property inference and repair
abstract
Nowadays many software applications are deployed over compute clouds using the three-tier architecture, where the persistent data for the application is stored in a backend datastore and is accessed and modified by the server-side code based on the user interactions at the client-side. The data model forms the foundation of these three tiers, and identifies the set of objects stored by the application and the relations (associations) among them. In this paper, we present techniques for automatically inferring properties about the data model by analyzing the relations among the object classes. We then check the inferred properties with respect to the semantics of the data model using automated verification techniques. For the properties that fail, we present techniques that generate fixes to the data model that establish the inferred properties. We implemented this approach for web applications built using the Ruby on Rails framework and applied it to five open source applications. Our experimental results demonstrate that our approach is effective in automatically identifying and fixing errors in data models of real-world web applications.
Jaideep Nijjar, Tevfik Bultan
ISSTA1
2012 Unbounded data model verification using SMT solvers
abstract
The growing influence of web applications in every aspect of society makes their dependability an immense concern. A fundamental building block of web applications that use the Model-View-Controller (MVC) pattern is the data model, which specifies the object classes and the relations among them. We present an approach for unbounded, automated verification of data models that 1) extracts a formal data model from an Object Relational Mapping, 2) converts verification queries about the data model to queries about the satisfiability of formulas in the theory of uninterpreted functions, and 3) uses a Satisfiability Modulo Theories (SMT) solver to check the satisfiability of the resulting formulas. We implemented this approach and applied it to five open-source Rails applications. Our results demonstrate that the proposed approach is feasible, and is more efficient than SAT-based bounded verification.
Jaideep Nijjar, Tevfik Bultan
ASE1
2011 Bounded verification of Ruby on Rails data models
abstract
The use of scripting languages to build web applications has increased programmer productivity, but at the cost of degrading dependability. In this paper we focus on a class of bugs that appear in web applications that are built based on the Model-View-Controller architecture. Our goal is to automatically discover data model errors in Ruby on Rails applications. To this end, we created an automatic translator that converts data model expressions in Ruby on Rails applications to formal specifications. In particular, our translator takes Active Records specifications (which are used to specify data models in Ruby on Rails applications) as input and generates a data model in Alloy language as output. We then use bounded verification techniques implemented in the Alloy Analyzer to look for errors in these formal data model specifications. We applied our approach to two open source web applications to demonstrate its feasibility.
Jaideep Nijjar, Tevfik Bultan
ISSTA1