Saurabh Srivastava - Academia.edu (original) (raw)
Papers by Saurabh Srivastava
A constraint-based approach to invariant generation in programs translates a program into constra... more A constraint-based approach to invariant generation in programs translates a program into constraints that are solved using off-theshelf constraint solvers to yield desired program invariants.
Abstract. Program verification is the task of automatically generating proofs for a program'... more Abstract. Program verification is the task of automatically generating proofs for a program's compliance with a given specification. Program synthesis is the task of automatically generating a program that meets a given specification. Both program verification and ...
The volume expansion and bulk modulus data due to Anderson have been extrapolated by modification... more The volume expansion and bulk modulus data due to Anderson have been extrapolated by modification of previously used relationships for ionic materials viz. NaCl, KCl, MgO and CaO. The empirically modified relationships provide the non-linear models for the variation of both thermal expansivity and bulk modulus with temperature. The results are found to be in close agreement with the experiment which in turn reveals the validity of present work.
Sadhana-academy Proceedings in Engineering Sciences, 2004
The real and imaginary parts (ε 1 and ε 2 ) of the complex dielectric constant (ε) of sand, silt ... more The real and imaginary parts (ε 1 and ε 2 ) of the complex dielectric constant (ε) of sand, silt and clay with varied moisture content have been determined experimentally under laboratory conditions at 9·967 GHz. using infinite sample method. The values of (ε 1 ) and (ε 2 ) first increase slowly with moisture content upto a certain transition point and then increase rapidly with moisture content. Vyas A D 1982 Complex permittivity of sand and sandy loam soils at microwave frequencies Indian J. Radio Space Phys. 11: 169-174 Wang J R, Schmugge T J 1980 An emprical model for complex dielectric permittivity of soils as a function of water content, IEEE Trans. Geosc. 288-295 Yadav J S, Gandhi J M 1992 Simple microwave technique for measuring the dielectric parameters of solids and their powders. Indian J. Pure Appl. Phys. 30: 427-431
International Journal of Manufacturing Technology and Management, 2010
Proceedings of the 32nd …, 2011
Page 1. Draft of November 19, 2010 Path-based Inductive Synthesis for Program Inversion ∗Saurabh ... more Page 1. Draft of November 19, 2010 Path-based Inductive Synthesis for Program Inversion ∗Saurabh Srivastava University of California, Berkeley saurabhs@cs.berkeley.edu Sumit Gulwani Microsoft Research, Redmond sumitg@microsoft.com ...
Program reasoning consists of the tasks of automatically and statically ver-ifying correctness an... more Program reasoning consists of the tasks of automatically and statically ver-ifying correctness and inferring properties of programs. Program synthesis is the task of automatically generating programs. Both program reasoning and synthesis are theoretically undecidable, but the ...
Proceedings of the 10th …, 2008
The introduction of the concept of ad hoc grouping of portable terminals to form a wireless netwo... more The introduction of the concept of ad hoc grouping of portable terminals to form a wireless network spurred a large amount of interest in the field of wireless data communications. CDMA had been shown to outperform other multiaccess schemes and IEEE specifed the 802.11 set of ...
Computer Aided Verification, 2009
We present VS 3 , a tool that automatically verifies complex properties of programs and infers ma... more We present VS 3 , a tool that automatically verifies complex properties of programs and infers maximally weak preconditions and maximally strong postconditions by leveraging the power of SMT solvers. VS 3 discovers program invariants with arbitrary, but prespecified, quantification and logical structure. The user supplies VS 3 with a set of predicates and invariant templates. VS 3 automatically finds instantiations of the unknowns in the templates as subsets of the predicate set. We have used VS 3 to automatically verify ∀∃ properties of programs and to infer worst case upper bounds and preconditions for functional correctness.
… and Networking, 2003 …, 2003
We consider here the problem of allocating variable length orthogonal codes in an ad hoc network ... more We consider here the problem of allocating variable length orthogonal codes in an ad hoc network based on CDMA. We consider a snapshot version of the problem at some instant. It had been proved earlier that even for a static set of communications and topology the problem is intractable. A greedy algorithm is stated to provide a bounded approximation to the throughput maximizing optimal allocation. We present a simple distributed code allocation protocol based on the greedy approximation. Simulation experiments show the enhanced throughput obtained by our protocol as compared to other code allocation schemes.
Information processing letters, 2003
A k-core C k of a tree T is subtree with exactly k leaves for k n l , where n l the number of lea... more A k-core C k of a tree T is subtree with exactly k leaves for k n l , where n l the number of leaves in T , and minimizes the sum of the distances of all nodes from C k . In this paper first we propose a distributed algorithm for constructing a rooted spanning tree of a dynamic graph such that root of the tree is located near the center of the graph. Then we provide a distributed algorithm for finding k-core of that spanning tree. The spanning tree is constructed in two stages. In the first stage, a forest of trees is generated. In the next stage these trees are connected to form a single rooted tree. An interesting aspect of the first stage of proposed spanning algorithm is that it implicitly constructs the (convex) hull of those nodes which are not already included in the spanning forest. The process is repeated till all non root nodes of the graph have chosen a unique parent. We implemented the algorithms for finding spanning tree and its k-core. A core can be quite useful for routing messages in a dynamic network consisting of a set of mobile devices.
Proceedings of the 37th annual …, 2010
This paper describes a novel technique for the synthesis of imperative programs. Automated progra... more This paper describes a novel technique for the synthesis of imperative programs. Automated program synthesis has the potential to make programming and the design of systems easier by allowing programs to be specified at a higher-level than executable code. In our approach, which we call proof-theoretic synthesis, the user provides an input-output functional specification, a description of the atomic operations in the programming language, and a specification of the synthesized program's looping structure, allowed stack space, and bound on usage of certain operations. Our technique synthesizes a program, if there exists one, that meets the inputoutput specification and uses only the given resources.
… of the 6th international workshop on …, 2002
ABSTRACT The problem of routing in Mobile Ad hoc Networks is non-trivial because of the dynamic n... more ABSTRACT The problem of routing in Mobile Ad hoc Networks is non-trivial because of the dynamic nature of the network topol-ogy. In addition to computing shortest paths, as in wire-line networks, any routing scheme must consider that the topol-ogy of the network can vary ...
ACM SIGPLAN Notices, 2009
We address the problem of automatically generating invariants with quantified and boolean structu... more We address the problem of automatically generating invariants with quantified and boolean structure for proving the validity of given assertions or generating pre-conditions under which the assertions are valid. We present three novel algorithms, having different strengths, that combine template and predicate abstraction based formalisms to discover required sophisticated program invariants using SMT solvers.
Page 1. PINS: Path-based Inductive Synthesis ∗ Saurabh Srivastava University of California, Berke... more Page 1. PINS: Path-based Inductive Synthesis ∗ Saurabh Srivastava University of California, Berkeley srivasta@eecs.berkeley.edu Sumit Gulwani Microsoft Research, Redmond sumitg@microsoft.com Swarat Chaudhuri Pennsylvania State University swarat@cse.psu.edu ...
In this paper we discuss a Multi Carrier-Code Division Multiple Access (MC-CDMA) system for the d... more In this paper we discuss a Multi Carrier-Code Division Multiple Access (MC-CDMA) system for the downlink of a wireless chan-nel. Through simulations, we evaluate the performance of combining techniques used in the MC-CDMA receiver under different conditions of load, Цг ratio, ...
Many modern languages have sophisticated linguistic support for modular programming. In these lan... more Many modern languages have sophisticated linguistic support for modular programming. In these languages, the different components of a system can be developed independently, and when combined together the resulting program will be type correct. The C programming language does not contain direct support for modules, but over time programmers have developed a discipline of modular programming which treats .c files as modules and .h header files included by C's preprocessor cpp as interfaces. However, without proper enforcement, a mistake can easily lead to a confusing error and time wasted tracking it down. This paper presents CMOD, a tool that enforces rules to ensure that common idioms for modularity are used correctly, and thus the program is compiled correctly. CMOD easily fits within the development process as a front-end for the compiler and linker (e.g., gcc and ld). We have tested CMOD on a number of open source software systems and found that each exhibits a small number of violations of our rules, all of which can be easily fixed.
A constraint-based approach to invariant generation in programs translates a program into constra... more A constraint-based approach to invariant generation in programs translates a program into constraints that are solved using off-theshelf constraint solvers to yield desired program invariants.
Abstract. Program verification is the task of automatically generating proofs for a program'... more Abstract. Program verification is the task of automatically generating proofs for a program's compliance with a given specification. Program synthesis is the task of automatically generating a program that meets a given specification. Both program verification and ...
The volume expansion and bulk modulus data due to Anderson have been extrapolated by modification... more The volume expansion and bulk modulus data due to Anderson have been extrapolated by modification of previously used relationships for ionic materials viz. NaCl, KCl, MgO and CaO. The empirically modified relationships provide the non-linear models for the variation of both thermal expansivity and bulk modulus with temperature. The results are found to be in close agreement with the experiment which in turn reveals the validity of present work.
Sadhana-academy Proceedings in Engineering Sciences, 2004
The real and imaginary parts (ε 1 and ε 2 ) of the complex dielectric constant (ε) of sand, silt ... more The real and imaginary parts (ε 1 and ε 2 ) of the complex dielectric constant (ε) of sand, silt and clay with varied moisture content have been determined experimentally under laboratory conditions at 9·967 GHz. using infinite sample method. The values of (ε 1 ) and (ε 2 ) first increase slowly with moisture content upto a certain transition point and then increase rapidly with moisture content. Vyas A D 1982 Complex permittivity of sand and sandy loam soils at microwave frequencies Indian J. Radio Space Phys. 11: 169-174 Wang J R, Schmugge T J 1980 An emprical model for complex dielectric permittivity of soils as a function of water content, IEEE Trans. Geosc. 288-295 Yadav J S, Gandhi J M 1992 Simple microwave technique for measuring the dielectric parameters of solids and their powders. Indian J. Pure Appl. Phys. 30: 427-431
International Journal of Manufacturing Technology and Management, 2010
Proceedings of the 32nd …, 2011
Page 1. Draft of November 19, 2010 Path-based Inductive Synthesis for Program Inversion ∗Saurabh ... more Page 1. Draft of November 19, 2010 Path-based Inductive Synthesis for Program Inversion ∗Saurabh Srivastava University of California, Berkeley saurabhs@cs.berkeley.edu Sumit Gulwani Microsoft Research, Redmond sumitg@microsoft.com ...
Program reasoning consists of the tasks of automatically and statically ver-ifying correctness an... more Program reasoning consists of the tasks of automatically and statically ver-ifying correctness and inferring properties of programs. Program synthesis is the task of automatically generating programs. Both program reasoning and synthesis are theoretically undecidable, but the ...
Proceedings of the 10th …, 2008
The introduction of the concept of ad hoc grouping of portable terminals to form a wireless netwo... more The introduction of the concept of ad hoc grouping of portable terminals to form a wireless network spurred a large amount of interest in the field of wireless data communications. CDMA had been shown to outperform other multiaccess schemes and IEEE specifed the 802.11 set of ...
Computer Aided Verification, 2009
We present VS 3 , a tool that automatically verifies complex properties of programs and infers ma... more We present VS 3 , a tool that automatically verifies complex properties of programs and infers maximally weak preconditions and maximally strong postconditions by leveraging the power of SMT solvers. VS 3 discovers program invariants with arbitrary, but prespecified, quantification and logical structure. The user supplies VS 3 with a set of predicates and invariant templates. VS 3 automatically finds instantiations of the unknowns in the templates as subsets of the predicate set. We have used VS 3 to automatically verify ∀∃ properties of programs and to infer worst case upper bounds and preconditions for functional correctness.
… and Networking, 2003 …, 2003
We consider here the problem of allocating variable length orthogonal codes in an ad hoc network ... more We consider here the problem of allocating variable length orthogonal codes in an ad hoc network based on CDMA. We consider a snapshot version of the problem at some instant. It had been proved earlier that even for a static set of communications and topology the problem is intractable. A greedy algorithm is stated to provide a bounded approximation to the throughput maximizing optimal allocation. We present a simple distributed code allocation protocol based on the greedy approximation. Simulation experiments show the enhanced throughput obtained by our protocol as compared to other code allocation schemes.
Information processing letters, 2003
A k-core C k of a tree T is subtree with exactly k leaves for k n l , where n l the number of lea... more A k-core C k of a tree T is subtree with exactly k leaves for k n l , where n l the number of leaves in T , and minimizes the sum of the distances of all nodes from C k . In this paper first we propose a distributed algorithm for constructing a rooted spanning tree of a dynamic graph such that root of the tree is located near the center of the graph. Then we provide a distributed algorithm for finding k-core of that spanning tree. The spanning tree is constructed in two stages. In the first stage, a forest of trees is generated. In the next stage these trees are connected to form a single rooted tree. An interesting aspect of the first stage of proposed spanning algorithm is that it implicitly constructs the (convex) hull of those nodes which are not already included in the spanning forest. The process is repeated till all non root nodes of the graph have chosen a unique parent. We implemented the algorithms for finding spanning tree and its k-core. A core can be quite useful for routing messages in a dynamic network consisting of a set of mobile devices.
Proceedings of the 37th annual …, 2010
This paper describes a novel technique for the synthesis of imperative programs. Automated progra... more This paper describes a novel technique for the synthesis of imperative programs. Automated program synthesis has the potential to make programming and the design of systems easier by allowing programs to be specified at a higher-level than executable code. In our approach, which we call proof-theoretic synthesis, the user provides an input-output functional specification, a description of the atomic operations in the programming language, and a specification of the synthesized program's looping structure, allowed stack space, and bound on usage of certain operations. Our technique synthesizes a program, if there exists one, that meets the inputoutput specification and uses only the given resources.
… of the 6th international workshop on …, 2002
ABSTRACT The problem of routing in Mobile Ad hoc Networks is non-trivial because of the dynamic n... more ABSTRACT The problem of routing in Mobile Ad hoc Networks is non-trivial because of the dynamic nature of the network topol-ogy. In addition to computing shortest paths, as in wire-line networks, any routing scheme must consider that the topol-ogy of the network can vary ...
ACM SIGPLAN Notices, 2009
We address the problem of automatically generating invariants with quantified and boolean structu... more We address the problem of automatically generating invariants with quantified and boolean structure for proving the validity of given assertions or generating pre-conditions under which the assertions are valid. We present three novel algorithms, having different strengths, that combine template and predicate abstraction based formalisms to discover required sophisticated program invariants using SMT solvers.
Page 1. PINS: Path-based Inductive Synthesis ∗ Saurabh Srivastava University of California, Berke... more Page 1. PINS: Path-based Inductive Synthesis ∗ Saurabh Srivastava University of California, Berkeley srivasta@eecs.berkeley.edu Sumit Gulwani Microsoft Research, Redmond sumitg@microsoft.com Swarat Chaudhuri Pennsylvania State University swarat@cse.psu.edu ...
In this paper we discuss a Multi Carrier-Code Division Multiple Access (MC-CDMA) system for the d... more In this paper we discuss a Multi Carrier-Code Division Multiple Access (MC-CDMA) system for the downlink of a wireless chan-nel. Through simulations, we evaluate the performance of combining techniques used in the MC-CDMA receiver under different conditions of load, Цг ratio, ...
Many modern languages have sophisticated linguistic support for modular programming. In these lan... more Many modern languages have sophisticated linguistic support for modular programming. In these languages, the different components of a system can be developed independently, and when combined together the resulting program will be type correct. The C programming language does not contain direct support for modules, but over time programmers have developed a discipline of modular programming which treats .c files as modules and .h header files included by C's preprocessor cpp as interfaces. However, without proper enforcement, a mistake can easily lead to a confusing error and time wasted tracking it down. This paper presents CMOD, a tool that enforces rules to ensure that common idioms for modularity are used correctly, and thus the program is compiled correctly. CMOD easily fits within the development process as a front-end for the compiler and linker (e.g., gcc and ld). We have tested CMOD on a number of open source software systems and found that each exhibits a small number of violations of our rules, all of which can be easily fixed.