Patents by Inventor Akash Lal
Akash Lal has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11016974Abstract: Systems, methods, and computer-executable instructions for using program synthesis for a database query includes analyzing a database query, written in a first language, to identify a first sub-query. A first synthesis template is constructed for the first sub-query. A first program, synthesized in a second language different from the first language, is synthesized using the first synthesis template. The functionality of the first program is equivalent to the first sub-query. The database query is rewritten to call the first program. The rewritten database query is executed.Type: GrantFiled: December 22, 2017Date of Patent: May 25, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Kaushik Rajan, Akash Lal, Matthias Schlaipfer
-
Publication number: 20190197161Abstract: Systems, methods, and computer-executable instructions for using program synthesis for a database query includes analyzing a database query, written in a first language, to identify a first sub-query. A first synthesis template is constructed for the first sub-query. A first program, synthesized in a second language different from the first language, is synthesized using the first synthesis template. The functionality of the first program is equivalent to the first sub-query. The database query is rewritten to call the first program. The rewritten database query is executed.Type: ApplicationFiled: December 22, 2017Publication date: June 27, 2019Inventors: Kaushik Rajan, Akash Lal, Matthias Schlaipfer
-
Patent number: 10255153Abstract: In various embodiments, methods and systems for testing failover and recovery are provided. Systematic testing of a distributed system is performed, where the systematic testing probabilistically determines a processing order of events to effectuate system states for the plurality of state machines. An iteration of the systematic testing tests one the system states and includes sending a termination message to a state machine; receiving a termination acknowledgment message, the termination message causing the state machine to halt at the state and event of the state machine for the system state; and instantiating a recovery state machine. The recovery state machine is instantiated with a same state and same role as the halted state machine. Results of the systematic testing are verified against an expected outcome, the results being generated by running the distributed system with the instantiated recovery state machine for each iteration of the systematic testing.Type: GrantFiled: October 21, 2016Date of Patent: April 9, 2019Inventors: Narayanan Ganapathy, Shaz Qadeer, Akash Lal
-
Publication number: 20180113775Abstract: In various embodiments, methods and systems for testing failover and recovery are provided. Systematic testing of a distributed system is performed, where the systematic testing probabilistically determines a processing order of events to effectuate system states for the plurality of state machines. An iteration of the systematic testing tests one the system states and includes sending a termination message to a state machine; receiving a termination acknowledgment message, the termination message causing the state machine to halt at the state and event of the state machine for the system state; and instantiating a recovery state machine. The recovery state machine is instantiated with a same state and same role as the halted state machine. Results of the systematic testing are verified against an expected outcome, the results being generated by running the distributed system with the instantiated recovery state machine for each iteration of the systematic testing.Type: ApplicationFiled: October 21, 2016Publication date: April 26, 2018Inventors: NARAYANAN GANAPATHY, SHAZ QADEER, AKASH LAL
-
Patent number: 9015674Abstract: Various technologies pertaining to answering reachability queries are described herein. A reachability query includes a user-specified destination line of code in source code that is desirably analyzed. A theorem prover is employed to identify an execution path through the source code that reaches the destination line of code. Graphical data is presented to the user that illustrates to the user the execution path through the source code that reaches the destination line of code.Type: GrantFiled: September 28, 2012Date of Patent: April 21, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Robert DeLine, Mike Barnett, Akash Lal, Shaz Qadeer
-
Patent number: 8793664Abstract: The claimed subject matter provides a method for performing a static analysis of concurrent programs. The method includes determining that a static analysis of the first concurrent program generates a warning for an input. The method also includes determining whether a static analysis of the second concurrent program generates the warning for the input. The method further includes removing the warning if the static analysis of the second concurrent program generates the warning.Type: GrantFiled: December 12, 2011Date of Patent: July 29, 2014Assignee: Microsoft CorporationInventors: Saurabh Joshi, Shuvendu K. Lahiri, Akash Lal
-
Publication number: 20140096112Abstract: Various technologies pertaining to answering reachability queries are described herein. A reachability query includes a user-specified destination line of code in source code that is desirably analyzed. A theorem prover is employed to identify an execution path through the source code that reaches the destination line of code. Graphical data is presented to the user that illustrates to the user the execution path through the source code that reaches the destination line of code.Type: ApplicationFiled: September 28, 2012Publication date: April 3, 2014Applicant: Microsoft CorporationInventors: Robert DeLine, Mike Barnett, Akash Lal, Shaz Qadeer
-
Publication number: 20130152055Abstract: The claimed subject matter provides a method for performing a static analysis of concurrent programs. The method includes determining that a static analysis of the first concurrent program generates a warning for an input. The method also includes determining whether a static analysis of the second concurrent program generates the warning for the input. The method further includes removing the warning if the static analysis of the second concurrent program generates the warning.Type: ApplicationFiled: December 12, 2011Publication date: June 13, 2013Applicant: Microsoft CorporationInventors: Saurabh Joshi, Shuvendu K. Lahiri, Akash Lal
-
Publication number: 20130144812Abstract: Various technologies described herein pertain to approximating an inputted probabilistic model for statistical relational learning. An initial approximation of formulae included in an inputted probabilistic model can be formed, where the initial approximation of the formulae omits axioms included in the inputted probabilistic model. Further, an approximated probabilistic model of the inputted probabilistic model can be constructed, where the approximated probabilistic model includes the initial approximation of the formulae. Moreover, the approximated probabilistic model and evidence can be fed to a relational learning engine, and a most probable explanation (MPE) world can be received from the relational learning engine. The evidence can comprise existing valuations of a subset of relations included in the inputted probabilistic model. The MPE world can include valuations for the relations included in the inputted probabilistic model.Type: ApplicationFiled: December 1, 2011Publication date: June 6, 2013Applicant: MICROSOFT CORPORATIONInventors: Arun Tejasvi Chaganty, Akash Lal, Aditya V. Nori, Sriram Rajamani
-
Patent number: 8316345Abstract: Embodiments described herein relate to determining an abstraction of a computer program and to the refinement of an abstraction of a computer program. The computer program may be a sequential program or may be a concurrent (parallel) program. A directed graph represents a computer program and may be the cross product of threads within a concurrent program. Nodes within a representation of a program are reduced to a single node to produce an abstraction. An abstraction may be refined by determining constraints that produce a refined abstraction that does not comprise infeasible paths.Type: GrantFiled: June 1, 2007Date of Patent: November 20, 2012Assignee: Microsoft CorporationInventors: Sumit Gulwani, Akash Lal
-
Publication number: 20080301655Abstract: Embodiments described herein relate to determining an abstraction of a computer program and to the refinement of an abstraction of a computer program. The computer program may be a sequential program or may be a concurrent (parallel) program. A directed graph represents a computer program and may be the cross product of threads within a concurrent program. Nodes within a representation of a program are reduced to a single node to produce an abstraction. An abstraction may be refined by determining constraints that produce a refined abstraction that does not comprise infeasible paths.Type: ApplicationFiled: June 1, 2007Publication date: December 4, 2008Applicant: MICROSOFT CORPORATIONInventors: Sumit Gulwani, Akash Lal