Patents by Inventor Guodong Li

Guodong Li 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).

  • Publication number: 20140143604
    Abstract: A method of determining whether a set of constraints is satisfiable may include identifying a set of constraints associated with a software module. The method may also include modeling a string associated with a string constraint of the set of constraints as a parameterized array. Further, the method may include determining the satisfiability of the set of constraints based on a representation of the string constraint as a quantified expression. The satisfiability of the set of constraints may also be based on elimination of a quantifier associated with the quantified expression such that the string constraint is represented as a numeric constraint. The representation of the string constraint as a quantified expression may be based on the parameterized array that is associated with the string.
    Type: Application
    Filed: November 21, 2012
    Publication date: May 22, 2014
    Applicant: FUJITSU LIMITED
    Inventors: Guodong LI, Indradeep GHOSH
  • Publication number: 20140143762
    Abstract: A method of symbolically executing a dynamic program may include receiving a portion of a dynamic program that includes multiple objects. The method may also include symbolically executing the dynamic program including constraint solving by managing runtime states of the symbolic execution within a native symbolic executor. Managing the runtime states of the symbolic execution may include constructing an object map of two or more of the objects that are interdependent and distinguishing code portions of one of the two or more objects in the object map from data portions of the one of the two or more objects. Managing the runtime states of the symbolic execution may also include performing one or more of state copying, state backtracking, state sharing, and state spawning based on characteristics of the dynamic program using the object map and the distinguished code portions and data portions.
    Type: Application
    Filed: November 21, 2012
    Publication date: May 22, 2014
    Applicant: FUJITSU LIMITED
    Inventors: Guodong LI, Indradeep GHOSH
  • Publication number: 20140082594
    Abstract: A method includes, by one or more computing devices, determining code-under-test configured for execution on a computing device to be evaluated, creating a plurality of test cases based on the symbolic execution and including a plurality of constraints, selectively conducting abstract interpretation on the constraints, selectively conducting Satisfiability Modulo Theory (“SMT”) solving on the constraints, and validating or invalidating the code-under-test based on at least the SMT solving and the abstract interpretation. The abstract interpretation includes using a plurality of abstract interpretation models based on the constraints of the test case and over-approximating the constraints of the test case.
    Type: Application
    Filed: September 20, 2012
    Publication date: March 20, 2014
    Applicant: Fujitsu Limited
    Inventors: Guodong Li, Indradeep Ghosh, Sreeranga Rajan
  • Publication number: 20140047217
    Abstract: A satisfiability checking system may include a single instruction, multiple data (SIMD) machine configured to execute multiple threads in parallel. The multiple threads may be divided among multiple blocks. The SIMD machine may be further configured to perform satisfiability checking of a formula including multiple parts. The satisfiability checking may include assigning one or more of the parts to one or more threads of the multiple threads of a first block of the multiple blocks. The satisfiability checking may further include processing the assigned one or more parts in the first block such that first results are calculated based on a first proposition. The satisfiability checking may further include synchronizing the results among the one or more threads of the first block.
    Type: Application
    Filed: August 9, 2012
    Publication date: February 13, 2014
    Applicant: FUJITSU LIMITED
    Inventors: Guodong LI, Indradeep GHOSH, Sreeranga P. RAJAN
  • Patent number: 8645924
    Abstract: In one embodiment, symbolically executing a software module having a number of execution paths; and losslessly reducing the number of execution paths during the symbolic execution of the software module.
    Type: Grant
    Filed: June 6, 2011
    Date of Patent: February 4, 2014
    Assignee: Fujitsu Limited
    Inventors: Guodong Li, Sreeranga P. Rajan, Indradeep Ghosh
  • Publication number: 20130326485
    Abstract: A method includes, by computing devices, analyzing numeric and string constraints associated with a software module that includes numeric and string variables and operations applying to specific variables for numeric or string results. The numeric constraints apply to specific numeric variables. The string constraints apply to specific string variables. The method further includes determining an over-approximated constraint from the numeric constraints or operations, representing the over-approximated constraint and string constraints with finite state machines, representing the numeric constraints with an equation, determining whether a solution does not exist for the combination of the variables that satisfies the over-approximated constraint, the numeric constraints, and the string constraints using operations, and terminating attempts to solve for the variables based on the determination whether the solution does not exist.
    Type: Application
    Filed: May 29, 2012
    Publication date: December 5, 2013
    Applicant: FUJITSU LIMITED
    Inventors: Indradeep Ghosh, Guodong Li
  • Publication number: 20130318503
    Abstract: 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: Application
    Filed: May 25, 2012
    Publication date: November 28, 2013
    Applicant: FUJITSU LIMITED
    Inventors: Guodong Li, Praveen K. Murthy, Indradeep Ghosh, Sreeranga Rajan
  • Patent number: 8595701
    Abstract: In particular embodiments, a method includes accessing bytecode generated by a compiler from a software program for execution by a particular processing unit; accessing configuration information describing one or more aspects of the particular processing unit; symbolically executing the bytecode with the configuration information; and, based on the symbolic execution, generating one or more results conveying a functional correctness of the software program with respect to the particular processing unit for communication to a user and generating one or more test cases for the software program for communication to a user.
    Type: Grant
    Filed: February 4, 2011
    Date of Patent: November 26, 2013
    Assignee: Fujitsu Limited
    Inventors: Guodong Li, Sreeranga P. Rajan, Indradeep Ghosh
  • Publication number: 20130296129
    Abstract: A motor drive assembly for a vehicle is proposed which can prevent a two-way roller clutch of the current speed ratio and a two-way roller clutch of the next speed ratio from engaging simultaneously. This assembly includes a first-speed friction plate (52a) formed with engaging protrusions (66a) on the first-speed side, a shift ring (51) formed with engaging recesses (65). While the shift ring (51) is in a first-speed shift position SP1f, the engaging protrusions (66a) are adapted to be engaged in the engaging recesses (65), thereby preventing rotation of the shift ring (51) relative to the first-speed friction plate (52a). The shift ring (51) is further provided with projections (63) on its inner periphery. The drive assembly further includes an annular protrusion (58) formed with cutouts (62).
    Type: Application
    Filed: December 28, 2011
    Publication date: November 7, 2013
    Inventors: Yoshinori Itakura, Guodong Li
  • Patent number: 8578202
    Abstract: A system and method is provided for ensuring high availability for a distributed application. A management object manages multiple scenarios defined for protection units associated with a distributed application. The management object may coordinate various operations performed at the protection units based on management object configuration information.
    Type: Grant
    Filed: July 29, 2010
    Date of Patent: November 5, 2013
    Assignee: CA, Inc.
    Inventors: Guodong Li, Hailin Peng, Zhenghua Xu, Ran Shuai
  • Publication number: 20130130990
    Abstract: The present invention describes use of spink6 gene and the encoded protein in the manufacture of an anti-tumor drug. spink6 gene has a nucleotide sequence designated as SEQ ID NO:1, and the protein encoded by spink6 gene has an amino acid sequence designated as SEQ ID NO:2. The protein encoded by spink6 gene and its derivatives can be used as potential drugs for treatment of human diseases caused by dysregulation of the cell cycle control, such as various malignant tumors, cell abnormal proliferation, and the like.
    Type: Application
    Filed: October 12, 2009
    Publication date: May 23, 2013
    Applicant: FUDAN UNIVERSITY
    Inventors: Qingshan Huang, Wei Wang, Jinjiang Huang, Hairong Lu, Guodong Li
  • Publication number: 20120311545
    Abstract: In one embodiment, symbolically executing a software module having a number of execution paths; and losslessly reducing the number of execution paths during the symbolic execution of the software module.
    Type: Application
    Filed: June 6, 2011
    Publication date: December 6, 2012
    Applicant: FUJITSU LIMITED
    Inventors: Guodong Li, Sreeranga P. Rajan, Indradeep Ghosh
  • Publication number: 20120241432
    Abstract: A gas shielded flux-cored wire (FCW) comprises s steel sheath and core flux, in which recycled welding slag powder is used to partially replace the natural rutile. The core flux contains (by weight): 10-50% recycling welding slag powder, 10-45% TiO2, 2-7% Si, 5-20% Mn, 0.5-5% Al—Mg (Al/Mg=1), 0-11.52% Na2CO3, 0-8.85% K2CO3, 0-10% MgO, 0.5-10% fluoride, and iron powder as balance. The recycling welding contains (by weight): TiO2: 20-65%, MnO: 5%-15%, MgO: 5%-15%, SiO2: 5%-15%, Fe2O3: 1%-10%, Al2O3: 1%-10%.
    Type: Application
    Filed: March 12, 2012
    Publication date: September 27, 2012
    Applicant: BEIJING UNIVERSITY OF TECHNOLOGY
    Inventors: ZHUOXIN LIN, Guodong Li, Li Hong, Hui Li
  • Publication number: 20120204154
    Abstract: In particular embodiments, a method includes accessing bytecode generated by a compiler from a software program for execution by a particular processing unit; accessing configuration information describing one or more aspects of the particular processing unit; symbolically executing the bytecode with the configuration information; and, based on the symbolic execution, generating one or more results conveying a functional correctness of the software program with respect to the particular processing unit for communication to a user and generating one or more test cases for the software program for communication to a user.
    Type: Application
    Filed: February 4, 2011
    Publication date: August 9, 2012
    Applicant: FUJITSU LIMITED
    Inventors: Guodong Li, Sreeranga P. Rajan, Indradeep Ghosh
  • Publication number: 20120192169
    Abstract: Particular embodiments optimize a C++ function comprising one or more loops for symbolic execution, comprising for each loop, if there is a branching condition within the loop, then rewrite the loop to move the branching condition outside the loop. Particular embodiments may further optimize the C++ function through simplified symbolic expressions and adding constructs forcing delayed interpretation of symbolic expressions during the symbolic execution.
    Type: Application
    Filed: January 20, 2011
    Publication date: July 26, 2012
    Applicant: FUJITSU LIMITED
    Inventors: Guodong Li, Sreeranga P. Rajan, Indradeep Ghosh
  • Publication number: 20120192150
    Abstract: Particular embodiment compile a C++ program having one or more input variables to obtain bytecode of the C++ program; compile a C++ library to obtain bytecode of the C++ library; symbolically execute the bytecode of the C++ program and the bytecode of the C++ library, comprising assign a symbolic input to each input variable of the C++ program; determine one or more execution paths in the C++ program; and for each execution path, construct a symbolic expression that if satisfied, causes the C++ program to proceed down the execution path; and generate one or more test cases for the C++ program by solving the symbolic expressions.
    Type: Application
    Filed: January 20, 2011
    Publication date: July 26, 2012
    Applicant: FUJITSU LIMITED
    Inventors: Guodong LI, Sreeranga P. RAJAN, Indradeep GHOSH
  • Publication number: 20120192162
    Abstract: Particular embodiments discover a relationship between a plurality of methods of a C++ object; define one or more rules to represent the relationship; verify the rules by symbolically executing the methods; and if the rules are verified, then use the rules when symbolically executing the methods so that bytecode of the methods is not executed.
    Type: Application
    Filed: January 20, 2011
    Publication date: July 26, 2012
    Applicant: FUJITSU LIMITED
    Inventors: Guodong Li, Sreeranga P. Rajan, Indradeep Ghosh
  • Publication number: 20120173913
    Abstract: In a computer system, a standby master processor is configured to serve as a backup processor for an active master processor. A third party replica processor is configured to monitor and record changes on the active master processor when the active master processor is executing, and is further configured to synchronize itself with the standby master processor when the standby master processor takes over execution from the active master processor. Logs of changes are maintained. A negotiation occurs between the standby master processor and the third party replica processor to determine the status of the logs of the standby master processor and the third party replica processor, and logs are applied or paused relating to one or more of the standby master processor and the third party replica processor to synchronize the standby master processor and the third party replica processor.
    Type: Application
    Filed: January 3, 2011
    Publication date: July 5, 2012
    Applicant: Computer Associates Think, Inc.
    Inventors: Zhenghua Xu, Ran Shuai, Min Yan, Guodong Li
  • Publication number: 20120036496
    Abstract: A high availability method enabling addition and removal of an application plug-in comprises launching the high availability system using a processor, said high availability system having an application framework (AMF), requesting data obtainable by the application plug-in from the application framework, and when the application plug-in does not exist in the application framework, registering the application plug-in in the application framework. AMF can comprise a list of additional application plug-ins. The list can comprises a unique id, a name, and a path to dynamic load libraries for each application plug-in. AMF can add the application plug-in by adding the application plug-in dynamic load library files to the installation folder and adding application plug-in information to the configuration file. AMF can remove the application plug-in by deleting the application plug-in dynamic load library files from the installation folder and deleting the application plug-in information from the configuration file.
    Type: Application
    Filed: August 5, 2010
    Publication date: February 9, 2012
    Applicant: COMPUTER ASSOCIATES THINK, INC.
    Inventors: Bruce Yang, Guodong Li, Victor Liu, Zhenghua Xu
  • Publication number: 20120030503
    Abstract: A system and method is provided for ensuring high availability for a distributed application. A management object manages multiple scenarios defined for protection units associated with a distributed application. The management object may coordinate various operations performed at the protection units based on management object configuration information.
    Type: Application
    Filed: July 29, 2010
    Publication date: February 2, 2012
    Inventors: Guodong Li, Hailin Peng, Zhenghua Xu, Ran Shuai