PRANAV GARG - Academia.edu (original) (raw)
Papers by PRANAV GARG
Tools and Algorithms for the Construction and Analysis of Systems, 2018
We propose a framework for synthesizing inductive invariants for incomplete verification engines,... more We propose a framework for synthesizing inductive invariants for incomplete verification engines, which soundly reduce logical problems in undecidable theories to decidable theories. Our framework is based on the counterexample guided inductive synthesis principle (CEGIS) and allows verification engines to communicate non-provability information to guide invariant synthesis. We show precisely how the verification engine can compute such non-provability information and how to build effective learning algorithms when invariants are expressed as Boolean combinations of a fixed set of predicates. Moreover, we evaluate our framework in two verification settings, one in which verification engines need to handle quantified formulas and one in which verification engines have to reason about heap properties expressed in an expressive but undecidable separation logic. Our experiments show that our invariant synthesis framework based on non-provability information can both effectively synthesize inductive invariants and adequately strengthen contracts across a large suite of programs.
Abstraction-guided Runtime Checking of Assertions on Lists
ion-guided Runtime Checking of Assertions on Lists Alex Gyori, Pranav Garg, Edgar Pek, P. Madhusu... more ion-guided Runtime Checking of Assertions on Lists Alex Gyori, Pranav Garg, Edgar Pek, P. Madhusudan University of Illinois at Urbana-Champaign, Urbana, IL, USA {gyori, garg11, pek1, madhu}@illinois.edu Abstract. We investigate ways to specify and check, at runtime, assertions that express properties of dynamically manipulated linked-list data structures. Checking an assertion involving whether pointers point to a valid linked list and separation properties of these lists typically requires linear or even quadratic time on the size of the heap. Our main contribution is a way to scale this checking by orders of magnitude, using a novel idea called abstraction-guided runtime checking, whereby we maintain an accurate abstraction of the dynamic heap by utilizing the evolving runtime state, and where the abstraction helps in checking the runtime assertions much faster. We develop this synergistic combination of abstractions and runtime checking for lists, list-segments, and their separat...
Efficient Incrementalized Runtime Checking of Linear Measures on Lists
2017 IEEE International Conference on Software Testing, Verification and Validation (ICST), 2017
We present mechanisms to specify and efficiently check, at runtime, assertions that express struc... more We present mechanisms to specify and efficiently check, at runtime, assertions that express structural properties and aggregate measures of dynamically manipulated linkedlist data structures. Checking assertions involving the structure, disjointness, and aggregation measures on lists and list segments typically requires linear or quadratic time in the size of the heap. Our main contribution is an incrementalization instrumentation that tracks properties of data structures dynamically as the program executes and leads to orders of magnitude speedup in assertion checking in many scenarios. Our incrementalization incurs a constant overhead on updates to list structures but enables checking assertions in constant time, independent of the size of the heap. We define a general class of functions on lists, called linear measures, which are amenable to our incrementalization technique. We demonstrate the effectiveness of our technique by showing orders of magnitude speedup in two scenarios: one scenario stemming from assertions at the level of APIs of list-manipulating libraries and the other scenario stemming from providing dynamic detection of security attacks caused by malicious rootkits.
Journal of Automated Reasoning, 2020
We propose a framework for synthesizing inductive invariants for incomplete verification engines,... more We propose a framework for synthesizing inductive invariants for incomplete verification engines, which soundly reduce logical problems in undecidable theories to decidable theories. Our framework is based on the counterexample guided inductive synthesis principle and allows verification engines to communicate non-provability information to guide invariant synthesis. We show precisely how the verification engine can compute such non-provability information and how to build effective learning algorithms when invariants are expressed as Boolean combinations of a fixed set of predicates. Moreover, we evaluate our framework in two verification settings, one in which verification engines need to handle quantified formulas and one in which verification engines have to reason about heap properties expressed in an expressive but undecidable separation logic. Our experiments show that our invariant synthesis framework based on non-provability information can both effectively synthesize induc...
ACM SIGPLAN Notices, 2016
Inductive invariants can be robustly synthesized using a learning model where the teacher is a pr... more Inductive invariants can be robustly synthesized using a learning model where the teacher is a program verifier who instructs the learner through concrete program configurations, classified as positive, negative, and implications. We propose the first learning algorithms in this model with implication counter-examples that are based on machine learning techniques. In particular, we extend classical decision-tree learning algorithms in machine learning to handle implication samples, building new scalable ways to construct small decision trees using statistical measures. We also develop a decision-tree learning algorithm in this model that is guaranteed to converge to the right concept (invariant) if one exists. We implement the learners and an appropriate teacher, and show that the resulting invariant synthesis is efficient and convergent for a large suite of programs.
Lecture Notes in Computer Science, 2015
We present a technique and an accompanying tool that learns guarded affine functions. In our sett... more We present a technique and an accompanying tool that learns guarded affine functions. In our setting, a teacher starts with a guarded affine function and the learner learns this function using equivalence queries only. In each round, the teacher examines the current hypothesis of the learner and gives a counter-example in terms of an input-output pair where the hypothesis differs from the target function. The learner uses these input-output pairs to learn the guarded affine expression. This problem is relevant in synthesis domains where we are trying to synthesize guarded affine functions that have particular properties, provided we can build a teacher who can answer using such counter-examples. We implement our approach and show that our learner is effective in learning guarded affine expressions, and more effective than general-purpose synthesis techniques.
ACM SIGPLAN Notices, 2014
We consider the problem of provably verifying that an asynchronous message-passing system satisfi... more We consider the problem of provably verifying that an asynchronous message-passing system satisfies its local assertions. We present a novel reduction scheme for asynchronous event-driven programs that finds almost-synchronous invariants - invariants consisting of global states where message buffers are close to empty. The reduction finds almost-synchronous invariants and simultaneously argues that they cover all local states. We show that asynchronous programs often have almost-synchronous invariants and that we can exploit this to build natural proofs that they are correct. We implement our reduction strategy, which is sound and complete, and show that it is more effective in proving programs correct as well as more efficient in finding bugs in several programs, compared to current search strategies which almost always diverge. The high point of our experiments is that our technique can prove the Windows Phone USB Driver written in P [9]correct for the responsiveness property, whi...
Lecture Notes in Computer Science, 2011
We show that any concurrent program that is amenable to compositional reasoning can be effectivel... more We show that any concurrent program that is amenable to compositional reasoning can be effectively translated to a sequential program. More precisely, we give a reduction from the verification problem for concurrent programs against safety specifications to the verification of sequential programs against safety specifications, where the reduction is parameterized by a set of auxiliary variables A, such that the concurrent program compositionally satisfies its specification using auxiliary variables A iff the sequentialization satisfies its specification. Existing sequentializations for concurrent programs work only for underapproximations like bounded context-switching, while our sequentialization has the salient feature that it can prove concurrent programs entirely correct, as long as it has a compositional proof. The sequentialization allows us to use sequential verification tools (including deductive verification tools and predicate abstraction tools) to analyze and prove concurrent programs correct. We also report on our experience in the deductive verification of concurrent programs by proving their sequential counterparts using the program verifier Boogie.
A New Reduction for Event-Driven Distributed Programs
We consider the problem of provably verifying that an asynchronous message-passing system satisfi... more We consider the problem of provably verifying that an asynchronous message-passing system satisfies its local assertions. We present a novel reduction scheme for asynchronous event-driven programs that finds almost-synchronous invariants— invariants consisting of global states where message buffers are close to empty. The reduction finds almostsynchronous invariants and simultaneously argues that they cover all local states. We show that asynchronous programs often have almost-synchronous invariants and that we can exploit this to build natural proofs that they are correct. We implement our reduction strategy, which is sound and complete, and show that it is more effective in proving programs correct as well as more efficient in finding bugs in several programs, compared to current search strategies which almost always diverge. The high point of our experiments is that our technique can prove the Windows Phone USB Driver written in P [4] correct for the receptiveness property, which was hitherto not provable using state-of-the-art model-checkers.
ACM SIGPLAN Notices, 2013
We propose natural proofs for reasoning with programs that manipulate data-structures against spe... more We propose natural proofs for reasoning with programs that manipulate data-structures against specifications that describe the structure of the heap, the data stored within it, and separation and framing of sub-structures. Natural proofs are a subclass of proofs that are amenable to completely automated reasoning, that provide sound but incomplete procedures, and that capture common reasoning tactics in program verification. We develop a dialect of separation logic over heaps, called Dryad, with recursive definitions that avoids explicit quantification. We develop ways to reason with heaplets using classical logic over the theory of sets, and develop natural proofs for reasoning using proof tactics involving disciplined unfoldings and formula abstractions. Natural proofs are encoded into decidable theories of first-order logic so as to be discharged using SMT solvers. We also implement the technique and show that a large class of more than 100 correct programs that manipulate data-s...
Lecture Notes in Computer Science, 2013
We propose a new automaton model, called quantified data automata over words, that can model quan... more We propose a new automaton model, called quantified data automata over words, that can model quantified invariants over linear data structures, and build poly-time active learning algorithms for them, where the learner is allowed to query the teacher with membership and equivalence queries. In order to express invariants in decidable logics, we invent a decidable subclass of QDAs, called elastic QDAs, and prove that every QDA has a unique minimally-over-approximating elastic QDA. We then give an application of these theoretically sound and efficient active learning algorithms in a passive learning framework and show that we can efficiently learn quantified linear data structure invariants from samples obtained from dynamic runs for a large class of programs.
Computer Aided Verification, 2014
We introduce ICE, a robust learning paradigm for synthesizing invariants, that learns using examp... more We introduce ICE, a robust learning paradigm for synthesizing invariants, that learns using examples, counterexamples , and implications, and show that it admits honest teachers and strongly convergent mechanisms for invariant synthesis. We observe that existing algorithms for black-box abstract interpretation can be interpreted as ICE-learning algorithms. We develop new strongly convergent ICE-learning algorithms for two domains, one for learning Boolean combinations of numerical invariants for scalar variables and one for quantified invariants for arrays and dynamic lists. We implement these ICE-learning algorithms in a verification tool and show they are robust, practical, and efficient.
(Invited) Silicon Grow-in-Place Nanowires and Their Applications
ECS Transactions, 2011
Grow-in-place VLS Silicon nanowires have been used since 2007 to produce accumulation metal oxide... more Grow-in-place VLS Silicon nanowires have been used since 2007 to produce accumulation metal oxide semiconductor accumulation field effect transistors. Since their inception, the in-template version of these devices has suffered from surface quality control whereas the extruded version suffered from control of growth direction. Both of these issues now appear to be solvable. However, doping control remains a problem due to the inadvertent doping of the VLS catalyst. Purposeful doping to overcome this inadvertent doping may be the practical solution to this problem. These devices may have display applications and their simplicity and small size makes them very attractive for sensor applications.
Lecture Notes in Computer Science, 2013
We propose a new approach to heap analysis through an abstract domain of automata, called automat... more We propose a new approach to heap analysis through an abstract domain of automata, called automatic shapes. The abstract domain uses a particular kind of automata, called quantified data automata on skinny trees (QSDAs), that allows to define universally quantified properties of singly-linked lists. To ensure convergence of the abstract fixed-point computation, we introduce a sub-class of QSDAs called elastic QSDAs, which also form an abstract domain. We evaluate our approach on several list manipulating programs and we show that the proposed domain is powerful enough to prove a large class of these programs correct.
(Invited) The Silicon Nanowire Accumulation-Mode MOSFETs
ECS Transactions, 2010
The accumulation-mode MOSFET (AMOSFET) is a very simple structured FET configuration which offers... more The accumulation-mode MOSFET (AMOSFET) is a very simple structured FET configuration which offers the potential for fabricating low cost, high performance FETs on semiconductor nanostructures. The configuration consists of a single doping type silicon nanowire, ohmic source and drain contacts, and a partially gated region. Despite their simple structure, AMOSFETs are capable of showing excellent device characteristics. AMOSFETs fabricated on undoped VLS-grown silicon nanowires exhibit transfer characteristics, with ION/IOFF ratios ~105, and subthreshold swings as low as 150 mV/dev. However, contrary to expectations, AMOSFETs fabricated on intentionally p-type doped silicon nanowires exhibit very poor transfer characteristics; this we attribute to a decrease in conductivity of the doped silicon nanowire upon oxidation. A new device structure, called the AMISFET is demonstrated, which overcomes the problems associated with oxidation of doped nanowires, and is capable of exhibiting goo...
Biophysical Journal, 2011
Building a Computer-Supported Peer Review (CSPR) Tool: Data Mining Seven Years of Journal Rejections
cspred.org
Abstract. The peer review process plays a critical role in academic publishing. Online systems ha... more Abstract. The peer review process plays a critical role in academic publishing. Online systems have enhanced the peer review process by: 1) facilitating communications between editorial staff-peer reviewers and reviewers-authors, 2) standardizing some of the feedback on ...
Tools and Algorithms for the Construction and Analysis of Systems, 2018
We propose a framework for synthesizing inductive invariants for incomplete verification engines,... more We propose a framework for synthesizing inductive invariants for incomplete verification engines, which soundly reduce logical problems in undecidable theories to decidable theories. Our framework is based on the counterexample guided inductive synthesis principle (CEGIS) and allows verification engines to communicate non-provability information to guide invariant synthesis. We show precisely how the verification engine can compute such non-provability information and how to build effective learning algorithms when invariants are expressed as Boolean combinations of a fixed set of predicates. Moreover, we evaluate our framework in two verification settings, one in which verification engines need to handle quantified formulas and one in which verification engines have to reason about heap properties expressed in an expressive but undecidable separation logic. Our experiments show that our invariant synthesis framework based on non-provability information can both effectively synthesize inductive invariants and adequately strengthen contracts across a large suite of programs.
Abstraction-guided Runtime Checking of Assertions on Lists
ion-guided Runtime Checking of Assertions on Lists Alex Gyori, Pranav Garg, Edgar Pek, P. Madhusu... more ion-guided Runtime Checking of Assertions on Lists Alex Gyori, Pranav Garg, Edgar Pek, P. Madhusudan University of Illinois at Urbana-Champaign, Urbana, IL, USA {gyori, garg11, pek1, madhu}@illinois.edu Abstract. We investigate ways to specify and check, at runtime, assertions that express properties of dynamically manipulated linked-list data structures. Checking an assertion involving whether pointers point to a valid linked list and separation properties of these lists typically requires linear or even quadratic time on the size of the heap. Our main contribution is a way to scale this checking by orders of magnitude, using a novel idea called abstraction-guided runtime checking, whereby we maintain an accurate abstraction of the dynamic heap by utilizing the evolving runtime state, and where the abstraction helps in checking the runtime assertions much faster. We develop this synergistic combination of abstractions and runtime checking for lists, list-segments, and their separat...
Efficient Incrementalized Runtime Checking of Linear Measures on Lists
2017 IEEE International Conference on Software Testing, Verification and Validation (ICST), 2017
We present mechanisms to specify and efficiently check, at runtime, assertions that express struc... more We present mechanisms to specify and efficiently check, at runtime, assertions that express structural properties and aggregate measures of dynamically manipulated linkedlist data structures. Checking assertions involving the structure, disjointness, and aggregation measures on lists and list segments typically requires linear or quadratic time in the size of the heap. Our main contribution is an incrementalization instrumentation that tracks properties of data structures dynamically as the program executes and leads to orders of magnitude speedup in assertion checking in many scenarios. Our incrementalization incurs a constant overhead on updates to list structures but enables checking assertions in constant time, independent of the size of the heap. We define a general class of functions on lists, called linear measures, which are amenable to our incrementalization technique. We demonstrate the effectiveness of our technique by showing orders of magnitude speedup in two scenarios: one scenario stemming from assertions at the level of APIs of list-manipulating libraries and the other scenario stemming from providing dynamic detection of security attacks caused by malicious rootkits.
Journal of Automated Reasoning, 2020
We propose a framework for synthesizing inductive invariants for incomplete verification engines,... more We propose a framework for synthesizing inductive invariants for incomplete verification engines, which soundly reduce logical problems in undecidable theories to decidable theories. Our framework is based on the counterexample guided inductive synthesis principle and allows verification engines to communicate non-provability information to guide invariant synthesis. We show precisely how the verification engine can compute such non-provability information and how to build effective learning algorithms when invariants are expressed as Boolean combinations of a fixed set of predicates. Moreover, we evaluate our framework in two verification settings, one in which verification engines need to handle quantified formulas and one in which verification engines have to reason about heap properties expressed in an expressive but undecidable separation logic. Our experiments show that our invariant synthesis framework based on non-provability information can both effectively synthesize induc...
ACM SIGPLAN Notices, 2016
Inductive invariants can be robustly synthesized using a learning model where the teacher is a pr... more Inductive invariants can be robustly synthesized using a learning model where the teacher is a program verifier who instructs the learner through concrete program configurations, classified as positive, negative, and implications. We propose the first learning algorithms in this model with implication counter-examples that are based on machine learning techniques. In particular, we extend classical decision-tree learning algorithms in machine learning to handle implication samples, building new scalable ways to construct small decision trees using statistical measures. We also develop a decision-tree learning algorithm in this model that is guaranteed to converge to the right concept (invariant) if one exists. We implement the learners and an appropriate teacher, and show that the resulting invariant synthesis is efficient and convergent for a large suite of programs.
Lecture Notes in Computer Science, 2015
We present a technique and an accompanying tool that learns guarded affine functions. In our sett... more We present a technique and an accompanying tool that learns guarded affine functions. In our setting, a teacher starts with a guarded affine function and the learner learns this function using equivalence queries only. In each round, the teacher examines the current hypothesis of the learner and gives a counter-example in terms of an input-output pair where the hypothesis differs from the target function. The learner uses these input-output pairs to learn the guarded affine expression. This problem is relevant in synthesis domains where we are trying to synthesize guarded affine functions that have particular properties, provided we can build a teacher who can answer using such counter-examples. We implement our approach and show that our learner is effective in learning guarded affine expressions, and more effective than general-purpose synthesis techniques.
ACM SIGPLAN Notices, 2014
We consider the problem of provably verifying that an asynchronous message-passing system satisfi... more We consider the problem of provably verifying that an asynchronous message-passing system satisfies its local assertions. We present a novel reduction scheme for asynchronous event-driven programs that finds almost-synchronous invariants - invariants consisting of global states where message buffers are close to empty. The reduction finds almost-synchronous invariants and simultaneously argues that they cover all local states. We show that asynchronous programs often have almost-synchronous invariants and that we can exploit this to build natural proofs that they are correct. We implement our reduction strategy, which is sound and complete, and show that it is more effective in proving programs correct as well as more efficient in finding bugs in several programs, compared to current search strategies which almost always diverge. The high point of our experiments is that our technique can prove the Windows Phone USB Driver written in P [9]correct for the responsiveness property, whi...
Lecture Notes in Computer Science, 2011
We show that any concurrent program that is amenable to compositional reasoning can be effectivel... more We show that any concurrent program that is amenable to compositional reasoning can be effectively translated to a sequential program. More precisely, we give a reduction from the verification problem for concurrent programs against safety specifications to the verification of sequential programs against safety specifications, where the reduction is parameterized by a set of auxiliary variables A, such that the concurrent program compositionally satisfies its specification using auxiliary variables A iff the sequentialization satisfies its specification. Existing sequentializations for concurrent programs work only for underapproximations like bounded context-switching, while our sequentialization has the salient feature that it can prove concurrent programs entirely correct, as long as it has a compositional proof. The sequentialization allows us to use sequential verification tools (including deductive verification tools and predicate abstraction tools) to analyze and prove concurrent programs correct. We also report on our experience in the deductive verification of concurrent programs by proving their sequential counterparts using the program verifier Boogie.
A New Reduction for Event-Driven Distributed Programs
We consider the problem of provably verifying that an asynchronous message-passing system satisfi... more We consider the problem of provably verifying that an asynchronous message-passing system satisfies its local assertions. We present a novel reduction scheme for asynchronous event-driven programs that finds almost-synchronous invariants— invariants consisting of global states where message buffers are close to empty. The reduction finds almostsynchronous invariants and simultaneously argues that they cover all local states. We show that asynchronous programs often have almost-synchronous invariants and that we can exploit this to build natural proofs that they are correct. We implement our reduction strategy, which is sound and complete, and show that it is more effective in proving programs correct as well as more efficient in finding bugs in several programs, compared to current search strategies which almost always diverge. The high point of our experiments is that our technique can prove the Windows Phone USB Driver written in P [4] correct for the receptiveness property, which was hitherto not provable using state-of-the-art model-checkers.
ACM SIGPLAN Notices, 2013
We propose natural proofs for reasoning with programs that manipulate data-structures against spe... more We propose natural proofs for reasoning with programs that manipulate data-structures against specifications that describe the structure of the heap, the data stored within it, and separation and framing of sub-structures. Natural proofs are a subclass of proofs that are amenable to completely automated reasoning, that provide sound but incomplete procedures, and that capture common reasoning tactics in program verification. We develop a dialect of separation logic over heaps, called Dryad, with recursive definitions that avoids explicit quantification. We develop ways to reason with heaplets using classical logic over the theory of sets, and develop natural proofs for reasoning using proof tactics involving disciplined unfoldings and formula abstractions. Natural proofs are encoded into decidable theories of first-order logic so as to be discharged using SMT solvers. We also implement the technique and show that a large class of more than 100 correct programs that manipulate data-s...
Lecture Notes in Computer Science, 2013
We propose a new automaton model, called quantified data automata over words, that can model quan... more We propose a new automaton model, called quantified data automata over words, that can model quantified invariants over linear data structures, and build poly-time active learning algorithms for them, where the learner is allowed to query the teacher with membership and equivalence queries. In order to express invariants in decidable logics, we invent a decidable subclass of QDAs, called elastic QDAs, and prove that every QDA has a unique minimally-over-approximating elastic QDA. We then give an application of these theoretically sound and efficient active learning algorithms in a passive learning framework and show that we can efficiently learn quantified linear data structure invariants from samples obtained from dynamic runs for a large class of programs.
Computer Aided Verification, 2014
We introduce ICE, a robust learning paradigm for synthesizing invariants, that learns using examp... more We introduce ICE, a robust learning paradigm for synthesizing invariants, that learns using examples, counterexamples , and implications, and show that it admits honest teachers and strongly convergent mechanisms for invariant synthesis. We observe that existing algorithms for black-box abstract interpretation can be interpreted as ICE-learning algorithms. We develop new strongly convergent ICE-learning algorithms for two domains, one for learning Boolean combinations of numerical invariants for scalar variables and one for quantified invariants for arrays and dynamic lists. We implement these ICE-learning algorithms in a verification tool and show they are robust, practical, and efficient.
(Invited) Silicon Grow-in-Place Nanowires and Their Applications
ECS Transactions, 2011
Grow-in-place VLS Silicon nanowires have been used since 2007 to produce accumulation metal oxide... more Grow-in-place VLS Silicon nanowires have been used since 2007 to produce accumulation metal oxide semiconductor accumulation field effect transistors. Since their inception, the in-template version of these devices has suffered from surface quality control whereas the extruded version suffered from control of growth direction. Both of these issues now appear to be solvable. However, doping control remains a problem due to the inadvertent doping of the VLS catalyst. Purposeful doping to overcome this inadvertent doping may be the practical solution to this problem. These devices may have display applications and their simplicity and small size makes them very attractive for sensor applications.
Lecture Notes in Computer Science, 2013
We propose a new approach to heap analysis through an abstract domain of automata, called automat... more We propose a new approach to heap analysis through an abstract domain of automata, called automatic shapes. The abstract domain uses a particular kind of automata, called quantified data automata on skinny trees (QSDAs), that allows to define universally quantified properties of singly-linked lists. To ensure convergence of the abstract fixed-point computation, we introduce a sub-class of QSDAs called elastic QSDAs, which also form an abstract domain. We evaluate our approach on several list manipulating programs and we show that the proposed domain is powerful enough to prove a large class of these programs correct.
(Invited) The Silicon Nanowire Accumulation-Mode MOSFETs
ECS Transactions, 2010
The accumulation-mode MOSFET (AMOSFET) is a very simple structured FET configuration which offers... more The accumulation-mode MOSFET (AMOSFET) is a very simple structured FET configuration which offers the potential for fabricating low cost, high performance FETs on semiconductor nanostructures. The configuration consists of a single doping type silicon nanowire, ohmic source and drain contacts, and a partially gated region. Despite their simple structure, AMOSFETs are capable of showing excellent device characteristics. AMOSFETs fabricated on undoped VLS-grown silicon nanowires exhibit transfer characteristics, with ION/IOFF ratios ~105, and subthreshold swings as low as 150 mV/dev. However, contrary to expectations, AMOSFETs fabricated on intentionally p-type doped silicon nanowires exhibit very poor transfer characteristics; this we attribute to a decrease in conductivity of the doped silicon nanowire upon oxidation. A new device structure, called the AMISFET is demonstrated, which overcomes the problems associated with oxidation of doped nanowires, and is capable of exhibiting goo...
Biophysical Journal, 2011
Building a Computer-Supported Peer Review (CSPR) Tool: Data Mining Seven Years of Journal Rejections
cspred.org
Abstract. The peer review process plays a critical role in academic publishing. Online systems ha... more Abstract. The peer review process plays a critical role in academic publishing. Online systems have enhanced the peer review process by: 1) facilitating communications between editorial staff-peer reviewers and reviewers-authors, 2) standardizing some of the feedback on ...