Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Satish Chandra is active.

Publication


Featured researches published by Satish Chandra.


programming language design and implementation | 2000

Off-line variable substitution for scaling points-to analysis

Atanas Rountev; Satish Chandra

Most compiler optimizations and software productivity tools rely oninformation about the effects of pointer dereferences in a program.The purpose of points-to analysis is to compute this informationsafely, and as accurately as is practical. Unfortunately, accuratepoints-to information is difficult to obtain for large programs,because the time and space requirements of the analysis becomeprohibitive.nWe consider the problem of scaling flow- and context-insensitivepoints-to analysis to large programs, perhaps containing hundreds ofthousands of lines of code. Our approach is based on a variable substitution transformation, which is performed off-line, i.e.,before a standard points-to analysis is performed. The general idea ofvariable substitution is that a set of variables in a program can be replaced by a single representative variable, thereby reducing the input size of the problem. Our main contribution is a linear-time algorithm which finds a particular variable substitution that maintains the precision of the standard analysis, and is also very effective in reducing the size of the problem.nWe report our experience in performing points-to analysis on largeC programs, including some industrial-sized ones. Experiments show thatour algorithm can reduce the cost of Andersens points-to analysis substantially: on average, it reduced the running time by 53% and the memory cost by 59%, relative to an efficient baseline implementation of the analysis.


international conference on software engineering | 2002

Software model checking in practice: an industrial case study

Satish Chandra; Patrice Godefroid; Christopher D. Palm

We present an application of software model checking to the analysis of a large industrial software product: Lucent Technologies CDMA call-processing library. This software is deployed on thousands of base stations in wireless networks world-wide, where it sets up and manages millions of calls to and from mobile devices everyday. Our analysis of this software was carried out using VeriSoft, a tool developed at Bell Laboratories that implements model-checking algorithms for systematically testing concurrent reactive software. VeriSoft has now been used for over a year for analyzing several releases and versions of the CDMA call-processing software. Although we started this work with a fairly robust version of the software, the application of model checking exposed several problems that had escaped traditional testing. Model checking also helped developers maintain a high degree of confidence in the library as it evolved through its many releases and versions. To our knowledge, software model checking has rarely been applied to software systems of this scale. In this paper, we describe our experience in applying this technology in an industrial environment.


workshop on program analysis for software tools and engineering | 1999

Physical type checking for C

Satish Chandra; Thomas W. Reps

The effectiveness of traditional type checking in C is limited by the presence of type conversions using type casts. Because the C standard allows arbitrary type conversions between pointer types, neither C compilers, nor tools such as lint, can guarantee type safety in the presence of such type conversions. In particular, by using casts involving pointers to structures (C structs), a programmer can interpret any memory region to be of any desired type, further compromising Cs weak type system. Not only do type casts make a program vulnerable to type errors, they hinder program comprehension and maintenance by creating latent dependencies between seemingly independent pieces of code.To address these problems, we have developed a stronger form of type checking for C programs, called physical type checking. Physical type checking takes into account the layout of C struct fields in memory. This paper describes an inference-based physical type checking algorithm. Our algorithm can be used to perform static safety checks, as well as compute useful information for software engineering applications.


foundations of software engineering | 1999

Coping with type casts in C

Michael Siff; Satish Chandra; Thomas Ball; Krishna Kunchithapadam; Thomas W. Reps

The use of type casts is pervasive in C. Although casts provide great flexibility in writing programs, their use obscures the meaning of programs, and can present obstacles during maintenance. Casts involving pointers to structures (C structs) are particularly problematic, because by using them, a programmer can interpret any memory region to be of any desired type, thereby compromising Cs already weak type system.nThis paper presents an approach for making sense of such casts, in terms of understanding their purpose and identifying fragile code. We base our approach on the observation that casts are often used to simulate object-oriented language features not supported directly in C. We first describe a variety of ways — idioms — in which this is done in C programs. We then develop a notion of physical subtyping, which provides a model that explains these idioms.nWe have created tools that automatically analyze casts appearing in C programs. Experimental evidence collected by using these tools on a large amount of C code (over a million lines) shows that, of the casts involving struct types, most (over 90%) can be associated meaningfully — and automatically — with physical subtyping. Our results indicate that the idea of physical subtyping is useful in coping with casts and can lead to valuable software productivity tools.


IEEE Transactions on Software Engineering | 2003

Searching for points-to analysis

Glenn Bruns; Satish Chandra

The points-to analysis problem is to find the pointer relationships that could arise during program execution. Many points-to analysis algorithms exist, each making a particular trade off between cost of the analysis and precision of the results. In this paper, we show how points-to analysis algorithms can be defined as transformed versions of an exact algorithm. We present a set of program transformations over a general program model and use them to define some existing points-to analysis algorithms. Doing so makes explicit the approximations involved in these algorithms. We also show how the transformations can be used to define new points-to analysis algorithms. Our transformations are generic and may be useful in the design of other program analysis algorithms.


CONFENIS | 2006

Enterprise Architecture Definition Framework for IT Service Providers

Shankar Kambhampaty; Satish Chandra

As Enterprises evolve, they invariably end up with heterogeneous IT systems. The software applications for the IT systems would have been deployed on multiple platforms and built using varied programming languages or packaged software. Customers require approaches to plan enterprise wide strategies that lead to scenarios of well integrated IT systems within their organizations. Suitable integration strategies have to be adopted to ensure that the systems which are currently available are well-integrated as well as enable future systems to be easily brought into their fold through seamless integration.


Archive | 2000

Preparation for network interface recognition of network packet portion with declarative notation for field thereof and constraint therefor

Satish Chandra; Peter J. McCann


international conference on software engineering | 2006

Service oriented architecture for enterprise applications

Shankar Kambhampaty; Satish Chandra


Archive | 2001

Automatic verification of walsh code orthogonality

Satish Chandra; Patrice Godefroid; Christopher D. Palm; Steven M. Welsh


international conference on software engineering | 2003

Patterns Approach to Building Software Systems.

Satish Chandra; Satyendra Bhattaram

Collaboration


Dive into the Satish Chandra's collaboration.

Top Co-Authors

Avatar

Thomas W. Reps

University of Wisconsin-Madison

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Krishna Kunchithapadam

University of Wisconsin-Madison

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge