Patents by Inventor Praveen K. MURTHY
Praveen K. MURTHY 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: 9043921Abstract: A method of determining a metric of software code may include generating a flow graph for software code that includes multiple flow graph nodes, including an entry point node, a termination point node, and a metric node. The method may also include generating a contracted flow graph based on the flow graph that includes multiple contracted flow graph nodes. The method may further include determining a through path count within the contracted flow graph based on the contracted flow graph nodes between a first contracted flow graph node that includes the entry point node and a second contracted flow graph node that includes the termination point node. The method may also include determining a metric entry path count within the contracted flow graph based on the contracted flow graph nodes between the first contracted flow graph node and a third contracted flow graph node that includes the metric node.Type: GrantFiled: April 12, 2013Date of Patent: May 26, 2015Assignee: FUJITSU LIMITEDInventor: Praveen K. Murthy
-
Patent number: 9038032Abstract: A method includes, by one or more computing devices, determining JavaScript statements to be evaluated, parsing the JavaScript statements, translating the JavaScript statements into Java bytecodes and JavaScript-specific instructions, executing the Java bytecodes in a Java execution engine, calling a JavaScript run-time engine from the Java execution engine, handling one or more semantic operations associated with the JavaScript-specific instructions through use of the JavaScript run-time engine, and providing return values to the Java execution engine. The statements are configured for execution on a computing device. The set of Java bytecodes and JavaScript-specific instructions is configured to conduct symbolic execution of one or more portions of the JavaScript statements. The symbolic execution is configured to evaluate the JavaScript statements.Type: GrantFiled: May 25, 2012Date of Patent: May 19, 2015Assignee: Fujitsu LimitedInventors: Guodong Li, Praveen K. Murthy, Indradeep Ghosh, Sreeranga P. Rajan
-
Patent number: 8949811Abstract: A method includes constructing a lambda object-oriented scripting language (?JS) model for a software program written in JavaScript; converting the ?JS model to a continuation-passing style (CPS) model for the software program; constructing a control flow graph (CFG) for the software program based on the CPS model; and optimizing the CPS model by merging a sequence of two or more “let” operations. The two or more “let” operations in the CPS model and are generated based on the ?JS model, so that they are represented by a single node in the CFG.Type: GrantFiled: August 26, 2011Date of Patent: February 3, 2015Assignee: Fujitsu LimitedInventor: Praveen K. Murthy
-
Patent number: 8875109Abstract: This disclosure generally relates to analyzing and validating computer software written in an object-oriented scripting language such as JavaScript. The analyzing and validating method comprises marking a variable in source code of a software program written in an object-oriented scripting language such as JavaScript; marking one or more locations in the source code of the software program; constructing a control flow graph (CFG) for the software program; and tracking the marked variable through the CFG by determining a path in the CFG that leads from a first node corresponding to the marked variable to one of the marked locations in the source code of the software program. In an embodiment, the variable is marked in source code using a keyword.Type: GrantFiled: August 26, 2011Date of Patent: October 28, 2014Assignee: Fujitsu LimitedInventor: Praveen K. Murthy
-
Publication number: 20140310813Abstract: A method of determining a metric of software code may include generating a flow graph for software code that includes multiple flow graph nodes, including an entry point node, a termination point node, and a metric node. The method may also include generating a contracted flow graph based on the flow graph that includes multiple contracted flow graph nodes. The method may further include determining a through path count within the contracted flow graph based on the contracted flow graph nodes between a first contracted flow graph node that includes the entry point node and a second contracted flow graph node that includes the termination point node. The method may also include determining a metric entry path count within the contracted flow graph based on the contracted flow graph nodes between the first contracted flow graph node and a third contracted flow graph node that includes the metric node.Type: ApplicationFiled: April 12, 2013Publication date: October 16, 2014Inventor: Praveen K. Murthy
-
Patent number: 8793665Abstract: This disclosure generally relates to analyzing and validating computer software written in an object-oriented scripting language such as Javascript. The analyzing and validating method comprises marking an object in source code of a software program written in an object-oriented scripting language such as JavaScript; identifying one or more locations paired with the object in the source code of the software program; constructing a control flow graph (CFG) for the software program; and determining whether there is any path in the CFG that leads from a first node corresponding to the marked object to a second node corresponding to any identified location paired with the object. In an embodiment, the object is marked in source code using a keyword.Type: GrantFiled: August 26, 2011Date of Patent: July 29, 2014Assignee: Fujitsu LimitedInventor: Praveen K. Murthy
-
Patent number: 8656370Abstract: In one embodiment, accessing a control flow graph (CFG) of a software program written in JavaScript; identifying one or more paths in the CFG; and performing symbolic execution on the software program using the CFG.Type: GrantFiled: August 26, 2011Date of Patent: February 18, 2014Assignee: Fujitsu LimitedInventors: Praveen K. Murthy, Sreeranga P. Rajan
-
Patent number: 8640084Abstract: In one embodiment, a method includes accessing a modeling language representation of a system under test. The representation includes one or more Message Sequence Charts (MSCs). One or more of the MSCs includes one or more conditional constructs including at least one or more guards or one or more loops. The method includes generating one or more use scenarios based on the modeling language representation and generating one or more validation test suites based on the one or more use scenarios.Type: GrantFiled: March 31, 2009Date of Patent: January 28, 2014Assignee: Fujitsu LimitedInventor: Praveen K. Murthy
-
Publication number: 20130318503Abstract: A method includes, by one or more computing devices, determining JavaScript statements to be evaluated, parsing the JavaScript statements, translating the JavaScript statements into Java bytecodes and JavaScript-specific instructions, executing the Java bytecodes in a Java execution engine, calling a JavaScript run-time engine from the Java execution engine, handling one or more semantic operations associated with the JavaScript-specific instructions through use of the JavaScript run-time engine, and providing return values to the Java execution engine. The statements are configured for execution on a computing device. The set of Java bytecodes and JavaScript-specific instructions is configured to conduct symbolic execution of one or more portions of the JavaScript statements. The symbolic execution is configured to evaluate the JavaScript statements.Type: ApplicationFiled: May 25, 2012Publication date: November 28, 2013Applicant: FUJITSU LIMITEDInventors: Guodong Li, Praveen K. Murthy, Indradeep Ghosh, Sreeranga Rajan
-
Patent number: 8577665Abstract: Synthesizing a message sequence chart (MSC) from a communicating finite-state machine (CFSM), by transforming the CFSM to a Petri net model, generating a labeled finite digraph with each path representing a linearization of an occurrence net segment of the Petri net, decomposing the diagraph into segments, and mapping where each segment to a compositional MSC.Type: GrantFiled: March 14, 2008Date of Patent: November 5, 2013Assignee: Fujitsu LimitedInventors: Praveen K. Murthy, Cong Liu
-
Patent number: 8543986Abstract: A method includes accessing a page of Web application that includes an interactive form having at least one field for entry of data, the interactive form rendered by the Web application based on code for the interactive form. The method also includes extracting input validation code from the code, the input validation code including at least one constraint on data entered into the at least one field. The method additionally includes extracting the at least one constraint based on an analysis of the input validation code and solving, for the at least one field, for a string value based at least on the at least one constraint for the at least one field. The also includes automatically entering, into the at least one field, the string value. The method additionally includes automatically submitting the interactive form, including the string value entered into the at least one field.Type: GrantFiled: July 8, 2010Date of Patent: September 24, 2013Assignee: Fujitsu LimitedInventors: Praveen K. Murthy, Fangqi Sun, Mukul Ranjan Prasad, Sreeranga P. Rajan
-
Patent number: 8543983Abstract: In one embodiment, access use information associated with a user-interactive software application, the use information identifies one or more transitions between specific ones of one or more displayable views of the software application and one or more corresponding user actions that cause the transitions; and construct a hierarchical message sequence chart (hMSC) comprising one or more basic message sequence chars (bMSCs) and one or more edges linking specific ones of the bMSCs to represent the use information, comprising: represent the views and the user actions with respect to the views identified in the use information with the bMSCs; represent the transitions and the user actions that cause the transitions identified in the use information with the edges; and for each one of the transitions identified in the use information, link the bMSCs representing the views associated with the transition with the edge representing the transition.Type: GrantFiled: June 15, 2010Date of Patent: September 24, 2013Assignee: Fujitsu LimitedInventor: Praveen K. Murthy
-
Patent number: 8468537Abstract: In one embodiment, a method includes statically analyzing a validation toolkit environment. The method may also include, identifying a plurality of computational threads that do not share data structures with each other based on analysis of the validation toolkit environment. The method may additionally include calculating computational requirements of the computational threads. The method may further include distributing the threads among a plurality of resources such that the aggregate computational requirements of the computational threads are approximately evenly balanced among the plurality of resources.Type: GrantFiled: July 14, 2010Date of Patent: June 18, 2013Assignee: Fujitsu LimitedInventors: Sreeranga P. Rajan, Praveen K. Murthy, Indradeep Ghosh, Mukul Ranjan Prasad, Oksana I. Tkachuk
-
Publication number: 20130055209Abstract: In one embodiment, constructing a ?JS model for a software program written in JavaScript; converting the ?JS model to a continuation-passing style (CPS) model for the software program; and constructing a control flow graph (CFG) for the software program based on the CPS model.Type: ApplicationFiled: August 26, 2011Publication date: February 28, 2013Applicant: FUJITSU LIMITEDInventor: Praveen K. Murthy
-
Publication number: 20130055210Abstract: In one embodiment, accessing a control flow graph (CFG) of a software program written in JavaScript; identifying one or more paths in the CFG; and performing symbolic execution on the software program using the CFG.Type: ApplicationFiled: August 26, 2011Publication date: February 28, 2013Applicant: FUJITSU LIMITEDInventors: Praveen K. Murthy, Sreeranga P. Rajan
-
Publication number: 20130055221Abstract: In one embodiment, accessing a control flow graph (CFG) of a software program written in JavaScript; accessing a set of specification requirements of the software program; and determining if there is any portion of the CFG that violates any specification requirement of the software program.Type: ApplicationFiled: August 26, 2011Publication date: February 28, 2013Applicant: FUJITSU LIMITEDInventors: Praveen K. Murthy, Sreeranga P. Rajan
-
Publication number: 20130055208Abstract: In one embodiment, marking an object in source code of a software program written in JavaScript; identifying one or more locations paired with the object in the source code of the software program; constructing a control flow graph (CFG) for the software program; and determining whether there is any path in the CFG that leads from a first node corresponding to the marked object to a second node corresponding to any identified location paired with the object.Type: ApplicationFiled: August 26, 2011Publication date: February 28, 2013Inventor: Praveen K. MURTHY
-
Publication number: 20130055220Abstract: In one embodiment, marking a variable in source code of a software program written in JavaScript; constructing a control flow graph (CFG) for the software program; and tracking the marked variable through the CFG.Type: ApplicationFiled: August 26, 2011Publication date: February 28, 2013Applicant: FUJITSU LIMITEDInventor: Praveen K. Murthy
-
Publication number: 20120017220Abstract: In one embodiment, a method includes statically analyzing a validation toolkit environment. The method may also include, identifying a plurality of computational threads that do not share data structures with each other based on analysis of the validation toolkit environment. The method may additionally include calculating computational requirements of the computational threads. The method may further include distributing the threads among a plurality of resources such that the aggregate computational requirements of the computational threads are approximately evenly balanced among the plurality of resources.Type: ApplicationFiled: July 14, 2010Publication date: January 19, 2012Inventors: Sreeranga P. Rajan, Praveen K. Murthy, Indradeep Ghosh, Mukul Ranjan Prasad, Oksana I. Tkachuk
-
Publication number: 20120011489Abstract: In one embodiment, a method may include accessing a particular page of Web application that includes an interactive form having at least one field for entry of data by a user of the Web application, the interactive form rendered by the Web application based on code for the interactive form. The method may also include extracting input validation code from the code, the input validation code including at least one constraint on data entered into the at least one field. The method may additionally include extracting the at least one constraint based on an analysis of the input validation code. The method may further include solving, for the at least one field, for a string value based at least on the at least one constraint for the at least one field. The may also include automatically entering, into the at least one field, the string value. The method may additionally include automatically submitting the interactive form, including the string value entered into the at least one field.Type: ApplicationFiled: July 8, 2010Publication date: January 12, 2012Inventors: Praveen K. Murthy, Fangqi Sun, Mukul Ranjan Prasad, Sreeranga P. Rajan