Patents Examined by Stephen Berman
  • Patent number: 9170919
    Abstract: An apparatus for detecting a source code error location in a mixed-mode program is disclosed. The apparatus may include a compiler, a mapping table generator, a simulator, a comparison data generator and an error location detector. The apparatus extracts low-level data while simulating a verification program and while simulating a reference program. The low-level data is mapped to mapping tables for a verification program and a reference program, and by comparing the tables it is determined if there is an error in the mixed-mode program and if so, where.
    Type: Grant
    Filed: September 6, 2013
    Date of Patent: October 27, 2015
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Hee-Jun Shim, Min-Wook Ahn, Jin-Sae Jung, Yen-Jo Han
  • Patent number: 9164876
    Abstract: Aspects include controlling asynchronous call return in a program. At least one asynchronous call is detected in the program. Execution of the program is stopped at a breakpoint in response to detecting that the breakpoint is set in the program. At least one callback corresponding to the at least one asynchronous call is obtained. The at least one callback is inserted into one or more specified positions of the program respectively according to a user selection. Execution of the program continues from the breakpoint in response to the insertion of the at least one callback into the program.
    Type: Grant
    Filed: February 19, 2013
    Date of Patent: October 20, 2015
    Assignee: International Business Machines Corporation
    Inventors: Gu Yi He, Tao Kang, Hua Hong Wang, Qiang Wang, Chao Zheng, Si Qi Zhong, Xian Jun Zhu
  • Patent number: 9164872
    Abstract: Coding issues that create runtime memory leaks, for example in programs coded in a platform-independent programming language such as Java™, can be isolated at the program code line level. An allocation trace that retains, in active memory, a unique object identifier for each of a plurality of objects instantiated during program execution and an address in the active memory where each object is stored can be created. Memory leak candidates can be identified by directly examining contents of the active memory to identify one or more data structures that are increasing in size over time. The allocation trace can be combined with the identified memory leak candidates to generate information about at least one identified leaking object.
    Type: Grant
    Filed: May 22, 2013
    Date of Patent: October 20, 2015
    Assignee: SAP SE
    Inventor: Martin Moser
  • Patent number: 9164735
    Abstract: In accordance with disclosed embodiments, there are provided methods, systems, and apparatuses enabling polymorphic objects across devices in a heterogeneous platform. According to the disclosed embodiments, such means include, for example, receiving, at a device aware compiler, source code for a computer program as input; compiling the source code for the computer program, in which the compiling includes at least: generating two distinct sets of executable binary instructions for a method of an object; in which a first of the two distinct sets of executable binary instructions for the method of the object provides first binary instructions for the method executable by a first computing device and not executable by a second computing device; and in which a second of the two distinct sets of executable binary instructions for the method of the object provides second binary instructions for the method executable by the second computing device and not executable by the first computing device.
    Type: Grant
    Filed: September 27, 2012
    Date of Patent: October 20, 2015
    Assignee: Intel Corporation
    Inventors: William Allen Hux, Nicolas Galoppo Von Borries
  • Patent number: 9158550
    Abstract: An image of system software is installed by loading an executable image of the system software using a boot loader, where the executable image includes a kernel and a plurality of files used by the kernel. The kernel of the system software is executed to generate the image of the system software that includes a copy of the kernel. Generating the image of the system software involves the steps of generating a plurality of pointers that each point to a different one of the files, retrieving the files using the pointers, and storing a copy of the kernel and the files in a storage device from which the system software is to be booted as the image of the system software.
    Type: Grant
    Filed: June 16, 2011
    Date of Patent: October 13, 2015
    Assignee: VMware, Inc.
    Inventors: Daniel Kerry Hiltgen, Olivier Alain Cremel, Christopher Patrick Devine
  • Patent number: 9141378
    Abstract: A computer system includes a transceiver and a processor that is cooperatively operable with the transceiver. The processor gathers, over the transceiver, (i) issue tracking information stored in an issue tracking storage system, the issue tracking information having a history of issues filed against a plurality of artifacts, and (ii) source code management information stored in a source code management storage system, the source code management information having a history of code changes committed against another plurality of artifacts. The processor checks a combined history of the issue tracking information and the source code management information for a history of issues filed against an artifact and a history of commits and corresponding source code changes committed against the artifact. The processor provides an interpretation of the current state of the artifact based on the combined history of the issue tracking information and source code management information about the artifact.
    Type: Grant
    Filed: September 15, 2011
    Date of Patent: September 22, 2015
    Assignee: Sonatype, Inc.
    Inventors: Brian Edward Fox, Joel Orlina
  • Patent number: 9141408
    Abstract: A computer system, method, or computer-readable medium corrects a broken portion of an application. A fingerprint indicates classes that comprise the application. The classes indicated in the fingerprint are looked up to determine whether any is broken. For a broken class, a fixed class is substituted when the broken class is loaded at class load time for the application; a fixed class method is substituted into the broken class, when the broken class is loaded at class load time; fixed byte code is substituted for broken byte code corresponding to the broken class, when the broken class is loaded at class load time; the broken class is unloaded and the fixed class is loaded instead, when the application is running; or the broken class is replaced inside the static application with the fixed class; all without replacing classes which are not broken.
    Type: Grant
    Filed: July 20, 2012
    Date of Patent: September 22, 2015
    Assignee: Sonatype, Inc.
    Inventors: Wayne Jackson, Brian Edward Fox, Mike Hansen, Stuart McCulloch, Jason Van Zyl
  • Patent number: 9141353
    Abstract: Locale objects are dynamically built from locale source files when requested at run-time. When a locale object is dynamically built, it is stored in global memory so it may be read by multiple applications. Dynamically building locale objects when requested allows software to operate with a relatively small number of locale objects instead of with hundreds or thousands of locale objects, as is known in the art. The result is significant savings in system-wide resources while still allowing for access to a large number of possible locales.
    Type: Grant
    Filed: February 6, 2013
    Date of Patent: September 22, 2015
    Assignee: International Business Machines Corporation
    Inventors: Leander Bromley, Jr., Christopher J. Brown, Thuy P. Christenson, Patrick L. Glenski, Kershaw S. Mehta
  • Patent number: 9141352
    Abstract: Locale objects are dynamically built from locale source files when requested at run-time. When a locale object is dynamically built, it is stored in global memory so it may be read by multiple applications. Dynamically building locale objects when requested allows software to operate with a relatively small number of locale objects instead of with hundreds or thousands of locale objects, as is known in the art. The result is significant savings in system-wide resources while still allowing for access to a large number of possible locales.
    Type: Grant
    Filed: September 26, 2012
    Date of Patent: September 22, 2015
    Assignee: International Business Machines Corporation
    Inventors: Leander Bromley, Jr., Christopher J. Brown, Thuy Phuong Christenson, Patrick L. Glenski, Kershaw S. Mehta
  • Patent number: 9141519
    Abstract: Consistent with the present disclosure, a block of software code or “software code block” that is executed while particular tests are carried out is assigned a software code block identifier, which is associated with test identifiers, which, in turn, identify the tests that were performed. The software code block identifiers and corresponding test identifiers are then stored in a database. When a portion of the software code block is later modified, either by a change to one or more lines of the code or by deleting or adding code, the corresponding software code block identifier is determined or selected, and then used to access the corresponding test identifiers from the database. The test identifiers are then used to generate a report, for example, that lists each test to be performed in order to determine whether the modified software code block operates properly.
    Type: Grant
    Filed: October 5, 2010
    Date of Patent: September 22, 2015
    Assignee: Infinera Corporation
    Inventors: Sriram Subramanian, Rajasekar Venkatesan, Manjunath Bandi, Varatharajan Irusappan, Anand Pritam
  • Patent number: 9135445
    Abstract: A method for installing an offered web application or browser extension in a web browser includes receiving a user action on a website located at a first internet domain. Information about the offered web application or browser extension not currently installed in the web browser is displayed in response to the user action. The displayed information is provided by a digital marketplace located at a second internet domain distinct from the first internet domain. A correspondence of the displayed information to the offered web application or browser extension is ensured through functionality provided by the web browser. An indication to install the offered web application or browser extension is received from a user, and the web application or browser extension is installed in response to the received indication.
    Type: Grant
    Filed: March 19, 2012
    Date of Patent: September 15, 2015
    Assignee: Google Inc.
    Inventors: Erik Kay, Mihai Parparita, Aaron Boodman, Rahul Roy-Chowdhury
  • Patent number: 9128801
    Abstract: A software artifact is scored for a user. Metadata associated with an artifact about project activity of how active an artifact project is to which the artifact belongs, a security risk indicated in the metadata of the artifact, or a license indicated in the metadata of the artifact, is collected from a software repository. A weighting of the artifact alone is determined from the metadata associated with the artifact that indicates desirability of the project activity, the security risk, or the license. The metadata associated with the artifact is compared to appropriateness with a metadata of a user project to which the user belongs as indicated by a profile of the user, so as to provide a score considering the determined weighting of the artifact and a appropriateness of the artifact for the user with respect to an intended use of the artifact by the user.
    Type: Grant
    Filed: August 8, 2013
    Date of Patent: September 8, 2015
    Assignee: Sonatype, Inc.
    Inventors: Brian Edward Fox, Joel Orlina
  • Patent number: 9110769
    Abstract: Techniques for detecting, analyzing, and/or reporting code clone are described herein. In one or more implementations, clone-code detection is performed on one or more source code bases to find true and near clones of a subject code snippet that a user (e.g., a software developer) expressly or implicitly selected. In one or more other implementations, code clone is analyzed to estimate the code-improvement-potential (such as bug-potential and code-refactoring-potential) properties of clones. One or more other implementations present the results of code clone analysis with indications (e.g., rankings) of the estimated properties of the respective the clones.
    Type: Grant
    Filed: April 1, 2010
    Date of Patent: August 18, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dongmei Zhang, Yingnong Dang, Yingjun Qiu, Song Ge
  • Patent number: 9092564
    Abstract: Embodiments provide call stacks for asynchronous programming. A set of all asynchronous call stacks is found by first identifying all threads and all outstanding tasks that have not yet been completed. Optionally, all outstanding continuation-delegates or lambdas that are in the windows queue waiting to be scheduled and/or all outstanding delegates or lambdas in a language-specific queue are also identified. Next, for each thread, identify whether it was invoked by a continuation-callback and, if so, find the corresponding task/promise. Next, given a task/promise, identify the logical parent task/promise. Optionally, given a delegate or lambda, identify its logical parent task/promise. The sequence of logical tasks/promises constitutes an asynchronous call stack in a program. Further information may optionally be retrieved to make the asynchronous call stack more useful. Finally, given a task/promise, identify the corresponding line number and location in source code.
    Type: Grant
    Filed: February 15, 2013
    Date of Patent: July 28, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Lucian Wischik, Eric Feiveson
  • Patent number: 9087236
    Abstract: An example embodiment disclosed is a system for automated model extraction of documents containing flow diagrams. An extractor is configured to extract from the flow diagrams flow graphs. The extractor further extracts nodes and edges, and relational, geometric and textual features for the extracted nodes and edges. A classifier is configured to recognize process semantics based on the extracted nodes and edges, and the relational, geometric and textual features of the extracted nodes and edges. A process modeling language code is generated based on the recognized process semantics. Rules to recognize patterns in process diagrams may be determined using supervised learning and/or unsupervised learning. During supervised learning, an expert labels example flow diagrams so that a classifier can derive the classification rules. During unsupervised learning flow diagrams are clustered based on relational, geometric and textual features of nodes and edges.
    Type: Grant
    Filed: September 13, 2010
    Date of Patent: July 21, 2015
    Assignee: International Business Machines Corporation
    Inventors: Pankaj Dhoolia, Juhnyoung Lee, Debdoot Mukherjee, Aubrey J. Rembert
  • Patent number: 9081637
    Abstract: A component-based software product manager system and method are provided. Various software products for electronic appliances include common components that are shared there between and variable components that are not commonly shared there between and instead are exclusive to individual products. The component-based software product manager system and method combine and associate components with one another while managing a large-scale software asset in units of the components. The system and method described herein improve the cooperation and the reusability of software products.
    Type: Grant
    Filed: April 2, 2010
    Date of Patent: July 14, 2015
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Kyoung-Ho Son, Ja-Gun Kwon
  • Patent number: 9053234
    Abstract: A tool for analyzing software is enhanced to provide multiple views of a stack trace, with each view having a different level of detail. Different views may be lightly simplified, moderately simplified, or heavily simplified. The display of a complete stack trace includes entries for all stack frames in the stack trace. The display of a simplified stack trace includes entries for fewer than all stack frames in the stack trace, thereby “hiding” or “collapsing” entries for some of the stack frames, relative to the complete stack trace display. After a user specifies a level of complexity with which to show a stack trace, the enhanced analysis tool GUI updates the stack trace display according to the specified level. A complexity level is associated with a set of heuristics that is used to create a view of a stack trace at that complexity level.
    Type: Grant
    Filed: April 18, 2011
    Date of Patent: June 9, 2015
    Assignee: Apple Inc.
    Inventors: Maxwell O. Drukman, Andreas W. Wendker, Stephen R. Lewallen, David V. Payne
  • Patent number: 9043753
    Abstract: A method for recommending at least one artifact to an artifact user is described. The method includes obtaining user characteristic information reflecting preferences, particular to the artifact user, as to a desired artifact. The method also includes obtaining first metadata about each of one or more candidate artifacts, and scoring, as one or more scored artifacts, each of the one or more candidate artifacts by evaluating one or more criteria, not particular to the artifact user, applied to the first metadata. The method further includes scaling, as one or more scaled artifacts, a score of each of the one or more scored artifacts, by evaluating the suitability of each of the one or more scored artifacts in view of the user characteristic information. The method lastly includes recommending to the artifact user at least one artifact from among the one or more scaled artifacts based on its scaled score.
    Type: Grant
    Filed: November 12, 2013
    Date of Patent: May 26, 2015
    Assignee: Sonatype, Inc.
    Inventors: Brian Edward Fox, Joel Orlina
  • Patent number: 9021419
    Abstract: A system and method can support design pattern automation. A design environment, such as a design pattern automation platform, enables the definition of design patterns including the model entities and their relationships. The design pattern automation platform leverages the definitions and user input, and uses an intelligent method to automate the implementation of arbitrarily complex software design artifacts that realize the design patterns. The design pattern automation platform allows a user to specify a design pattern model that describes a design pattern. A user interface (UI) framework can consume the design pattern model and can render a set of UI pages that allow for user interaction with the design pattern. Furthermore, a pattern processor can combine the meta-model with user inputs from the UI framework and produce a set of entities or resources for the design pattern.
    Type: Grant
    Filed: February 15, 2013
    Date of Patent: April 28, 2015
    Assignee: Oracle International Corporation
    Inventors: Mircea Pana, Mark Pomerant, Curtis DesRosiers
  • Patent number: 9021442
    Abstract: A test automation system can include a web controller configured to provide access to at least one container displayed by an application and a web user interface (UI) configured to be controlled using the web controller. The system can include an application controller object configured to implement an application controller interface and expose methods for performing operations on application controls of the application and an application query object. The application query object can include at least one filter with at least one condition, the at least one condition defining an attribute or property of a UI element to check for. The application query object can be configured to return at least one UI control when the UI control includes at least one UI element that includes features that match criteria defined by the at least one filter and the at least one condition.
    Type: Grant
    Filed: February 13, 2013
    Date of Patent: April 28, 2015
    Assignee: SAP SE
    Inventor: Claude Rossi