Patents by Inventor Jonathan Paul de Halleux

Jonathan Paul de Halleux 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: 20240008174
    Abstract: The description relates to prototyping systems, including hubs for electrically connecting devices. One example can include an electrically insulative substrate and at least two connector tabs defined by the substrate, each connector tab including a data contact, a power contact, and a ground contact positioned over the substrate. A data bus can be positioned relative to the substrate and electrically connect all of the data contacts, a power bus can be positioned relative to the substrate and electrically connect all of the power contacts, and a ground bus can be positioned relative to the substrate and electrically connect all of the ground contacts.
    Type: Application
    Filed: June 29, 2022
    Publication date: January 4, 2024
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Stephen Edward HODGES, Michal J. MOSKAL, Gabriele D'AMONE, James Alexander DEVINE, Jonathan Paul DE HALLEUX, Thomas Jaudon BALL
  • Publication number: 20240006833
    Abstract: The description relates to prototyping systems, including hubs for electrically connecting devices. One example can include an electrically insulative substrate and at least two connector tabs defined by the substrate. Each connector tab can include a data contact a power contact and a ground contact positioned on the substrate. A data bus can be positioned relative to the substrate and electrically connect all of the data contacts, a power bus can be positioned relative to the substrate and electrically connect all of the power contacts and a ground bus can be positioned relative to the substrate and electrically connect all of the ground contacts in accordance with a first prototyping format. The example can also include adapter contacts positioned on the substrate and configured to electrically connect to a data contact, a power contact, and a ground contact of another device that complies with a second different prototyping format.
    Type: Application
    Filed: June 29, 2022
    Publication date: January 4, 2024
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Stephen Edward HODGES, Michal J. MOSKAL, Gabriele D'AMONE, James Alexander DEVINE, Jonathan Paul DE HALLEUX, Thomas Jaudon BALL
  • Publication number: 20230389175
    Abstract: The description relates to electronic prototyping platforms. One example can include an electrically insulative substrate having generally opposing first and second major surfaces and that includes an orientation feature that is visible on both of the first and second major surfaces. The example can include a first mounting hole through the substrate that is bordered by a first electrical conductor associated with data transmission. The example can also include a second mounting hole through the substrate that is bordered by a second electrical conductor associated with electrical ground, and a third mounting hole through the substrate that is bordered by a third electrical conductor associated with electrical power. The example can also include an edge connector tab defined by the substrate and having three exposed electrically conductive contacts that are coupled to the data electrical conductor, the ground electrical conductor, and the power electrical conductor and insulated from one another.
    Type: Application
    Filed: June 24, 2022
    Publication date: November 30, 2023
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Stephen Edward HODGES, Michal J. MOSKAL, Gabriel D'AMONE, James Alexander DEVINE, Thomas Jaudon BALL, Jonathan Paul DE HALLEUX
  • Patent number: 9448772
    Abstract: A program development framework (PDF) is described herein which allows a user to produce a program in piecemeal fashion by successively specifying program fragments. The PDF creates a new program fragment by receiving keyword information from the user that describes a new program fragment, and then identifies context information that pertains to a programmatic context in which the new program fragment appears within the overall program being created. The PDF then generates a set of candidate program fragments that satisfy the keyword information and the context information, and ranks those candidate program fragments based on ranking information. At least part of the ranking information may be based on statistical information that is produced by analyzing a corpus of previous programs produced by one or more users. The PDF then provides the ranked program fragments to the user using various user-friendly presentation strategies.
    Type: Grant
    Filed: June 28, 2013
    Date of Patent: September 20, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sumit Gulwani, Jonathan Paul de Halleux, Nikolai Tillmann, Vu Minh Le, Zhendong Su
  • Patent number: 9286038
    Abstract: Some implementations provide techniques and arrangements for interactive user interface operation and development. For instance, some implementations may generate a user interface data structure representing a user interface, the user interface data structure being generated based at least in part on state data and imperative programming code. Then, in response to a change in one of the imperative programming code or the state data, some implementations may update the user interface data structure and render an updated interactive graphical user interface based on the updated user interface data structure.
    Type: Grant
    Filed: June 19, 2013
    Date of Patent: March 15, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sebastian C Burckhardt, Manuel A Faehndrich, Michal J Moskal, Sean C McDirmid, Nikolai Tillmann, Jonathan Paul de Halleux, Jun Kato
  • Patent number: 9104528
    Abstract: A privacy control system is described herein for controlling dissemination of private information by a program. The privacy control system operates by performing static analysis to determine at least one flow within the program of private information, from a source to a sink. The static analysis is particularly configured to identify two types of flow, including: (a) an unvetted flow of untampered private information from the source to the sink; and (b) a flow of tampered private information from the source to the sink, whether vetted or unvetted. The privacy control system then prompts the user to provide a privacy control decision regarding the flow. The privacy control decision governs whether actual data or anonymized data is provided to the sink, or whether the program is terminated. A runtime system then runs the program in accordance with the privacy control decision.
    Type: Grant
    Filed: December 8, 2011
    Date of Patent: August 11, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Xusheng Xiao, Nikolai Tillmann, Manuel A. Fahndrich, Jonathan Paul de Halleux, Michal J. Moskal
  • Publication number: 20140380205
    Abstract: Some implementations provide techniques and arrangements for interactive user interface operation and development. For instance, some implementations may generate a user interface data structure representing a user interface, the user interface data structure being generated based at least in part on state data and imperative programming code. Then, in response to a change in one of the imperative programming code or the state data, some implementations may update the user interface data structure and render an updated interactive graphical user interface based on the updated user interface data structure.
    Type: Application
    Filed: June 19, 2013
    Publication date: December 25, 2014
    Inventors: Sebastian C. Burckhardt, Manuel A. Faehndrich, Michal J. Moskal, Sean C. McDirmid, Nikolai Tillmann, Jonathan Paul de Halleux, Jun Kato
  • Publication number: 20140282375
    Abstract: A program development framework (PDF) is described herein which allows a user to produce a program in piecemeal fashion by successively specifying program fragments. The PDF creates a new program fragment by receiving keyword information from the user that describes a new program fragment, and then identifies context information that pertains to a programmatic context in which the new program fragment appears within the overall program being created. The PDF then generates a set of candidate program fragments that satisfy the keyword information and the context information, and ranks those candidate program fragments based on ranking information. At least part of the ranking information may be based on statistical information that is produced by analyzing a corpus of previous programs produced by one or more users. The PDF then provides the ranked program fragments to the user using various user-friendly presentation strategies.
    Type: Application
    Filed: June 28, 2013
    Publication date: September 18, 2014
    Inventors: Sumit Gulwani, Jonathan Paul de Halleux, Nikolai Tillmann, Vu Minh Le, Zhendong Su
  • Patent number: 8726239
    Abstract: An isolation system is described for converting original product code into corresponding modified code. The isolation system operates by identifying a subset of original methods to be converted. For each such original method, the isolation system generates a modified part having at least one property with a type-safe delegate type which matches a signature of the original method. Test code, which tests the product code, can then associate a delegate instance to the thus-defined property of the original method. This prompts an execution system to dynamically execute detour code associated with the delegate instance, rather than an instrumentation of the original method, thus avoiding dependency on potentially non-deterministic functionality which would be otherwise invoked by an instrumentation of the original method.
    Type: Grant
    Filed: May 5, 2010
    Date of Patent: May 13, 2014
    Assignee: Microsoft Corporation
    Inventors: Jonathan Paul de Halleux, Nikolai Tillmann
  • Patent number: 8515891
    Abstract: Described are symbolic finite automata for symbolically expressing and analyzing regular expression constraints, such as for use in program analysis and testing. A regular expression or pattern is transformed into a symbolic finite automaton having transitions that are labeled by formulas that denote sets of characters (rather than individual characters). Also described is composing two or more symbolic finite automata into a resulting symbolic finite automaton that is fully satisfiable. A constraint solver may be used to ensure satisfiability.
    Type: Grant
    Filed: November 19, 2010
    Date of Patent: August 20, 2013
    Assignee: Microsoft Corporation
    Inventors: Margus Veanes, Jonathan Paul de Halleux, Nikolai Tillmann
  • Publication number: 20130152154
    Abstract: A privacy control system is described herein for controlling dissemination of private information by a program. The privacy control system operates by performing static analysis to determine at least one flow within the program of private information, from a source to a sink The static analysis is particularly configured to identify two types of flow, including: (a) an unvetted flow of untampered private information from the source to the sink; and (b) a flow of tampered private information from the source to the sink, whether vetted or unvetted. The privacy control system then prompts the user to provide a privacy control decision regarding the flow. The privacy control decision governs whether actual data or anonymized data is provided to the sink, or whether the program is terminated. A runtime system then runs the program in accordance with the privacy control decision.
    Type: Application
    Filed: December 8, 2011
    Publication date: June 13, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Xusheng Xiao, Nikolai Tillmann, Manuel A. Fahndrich, Jonathan Paul de Halleux, Michal J. Moskal
  • Publication number: 20130151519
    Abstract: A marketplace system is described herein for ranking programs based, at least in part, on the assessed distinctiveness of the programs. In one implementation, the marketplace operates by: (a) accessing a set of programs; (b) extracting feature information from each of the programs; (c) generating similarity information for each program, based on the feature information; (d) ranking the programs based at least on the similarity information, to provide ranking information; and (e) providing a user interface presentation that has an effect of promoting at least one distinctive program in the set of applications on the basis of the ranking information.
    Type: Application
    Filed: December 7, 2011
    Publication date: June 13, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Marat K. Akhin, Nikolai Tillmann, Michal J. Moskal, Jonathan Paul de Halleux, Manuel A. Fahndrich
  • Publication number: 20130055138
    Abstract: Editing functionality is described herein for creating a structured data item by dynamically presenting a key arrangement that is deemed suitable at each instance of an editing session. Each key is associated with a component of the structured data item. Upon activation of one of these keys, the editing functionality adds a corresponding component to the item being created. The editing functionality can be implemented on any user device, but is particularly suited for implementation on a handheld computing device having a limited input mechanism and a display mechanism.
    Type: Application
    Filed: August 25, 2011
    Publication date: February 28, 2013
    Applicant: Microsoft Corporation
    Inventors: Jonathan Paul de Halleux, Michal J. Moskal, Nikolai Tillmann, Manuel A. Fahndrich
  • Patent number: 8387016
    Abstract: Disclosed is a process to generate and execute relevant, non-redundant test cases starting with an execution trace. An execution trace may be collected. A sequence of actions and the data involved in the actions may then be extracted from the execution trace and persisted separately from one another. Code for a non-deterministic program (“NDP”) may be generated, comprising the sequence of actions but without determining the data. A systematic program analysis of the NDP may be made, exploring possible execution paths and beginning from the path exercised by the persisted data. A new test case may be generated which fixes particular test inputs for the NDP.
    Type: Grant
    Filed: May 1, 2009
    Date of Patent: February 26, 2013
    Assignee: Microsoft Corporation
    Inventors: Nikolai Tillmann, Jonathan Paul de Halleux
  • Patent number: 8387021
    Abstract: An extension of symbolic execution for programs involving contracts with quantifiers over large and potentially unbounded domains is described. Symbolic execution is used to generate, from a program, concrete test cases that exhibit mismatches between the program code and its contracts with quantifiers. Quantifiers are instantiated using symbolic values encountered during a set of exhibited runs. In this setting, quantifier instantiation is limited to values supplied to or produced by a symbolic execution. Quantifier instantiation is controlled by performing a matching algorithm that uses run-time values of input and program variables in order to guide and limit the set of quantifier instantiations. With a sufficient set of instances, test cases are derived that directly witness limitations of the auxiliary assertions.
    Type: Grant
    Filed: September 26, 2008
    Date of Patent: February 26, 2013
    Assignee: Microsoft Corporation
    Inventors: Dries Vanoverberghe, Nikolai Tillmann, Jonathan Paul de Halleux, Nikolaj S Bjorner, Wolfram Schulte
  • Publication number: 20120130932
    Abstract: Described are symbolic finite automata for symbolically expressing and analyzing regular expression constraints, such as for use in program analysis and testing. A regular expression or pattern is transformed into a symbolic finite automaton having transitions that are labeled by formulas that denote sets of characters (rather than individual characters). Also described is composing two or more symbolic finite automata into a resulting symbolic finite automaton that is fully satisfiable. A constraint solver may be used to ensure satisfiability.
    Type: Application
    Filed: November 19, 2010
    Publication date: May 24, 2012
    Applicant: Microsoft Corporation
    Inventors: Margus Veanes, Jonathan Paul De Halleux, Nikolai Tillmann
  • Patent number: 8180786
    Abstract: A symbolic query exploration (QEX) module automatically produces output information that can be used to evaluate a database. The QEX module operates by converting an input query into a formula for processing by a satisfiability module theories (SMT) solver module. The SMT solver module generates a model that satisfies the formula. The model yields table information that is used to populate the database and, optionally, parameter information that is used to instantiate the query. A query evaluation module then submits the instantiated query to the populated database and evaluates whether an evaluation result produced thereby agrees with pre-specified condition information. The QEX module can preprocess the formula using either (or both) an eager expansion approach (in which the formula is expanded in an upfront manner) or a lazy expansion approach (in which axioms are identified for later possible expansion by the SMT solver module).
    Type: Grant
    Filed: August 28, 2009
    Date of Patent: May 15, 2012
    Assignee: Microsoft Corporation
    Inventors: Margus Veanes, Nikolai Tillmann, Jonathan Paul de Halleux, Pavel Grigorenko
  • Publication number: 20110276943
    Abstract: An isolation system is described for converting original product code into corresponding modified code. The isolation system operates by identifying a subset of original methods to be converted. For each such original method, the isolation system generates a modified part having at least one property with a type-safe delegate type which matches a signature of the original method. Test code, which tests the product code, can then associate a delegate instance to the thus-defined property of the original method. This prompts an execution system to dynamically execute detour code associated with the delegate instance, rather than an instrumentation of the original method, thus avoiding dependency on potentially non-deterministic functionality which would be otherwise invoked by an instrumentation of the original method.
    Type: Application
    Filed: May 5, 2010
    Publication date: November 10, 2011
    Applicant: Microsoft Corporation
    Inventors: Jonathan Paul de Halleux, Nikolai Tillmann
  • Publication number: 20110055237
    Abstract: A symbolic query exploration (QEX) module automatically produces output information that can be used to evaluate a database. The QEX module operates by converting an input query into a formula for processing by a satisfiability module theories (SMT) solver module. The SMT solver module generates a model that satisfies the formula. The model yields table information that is used to populate the database and, optionally, parameter information that is used to instantiate the query. A query evaluation module then submits the instantiated query to the populated database and evaluates whether an evaluation result produced thereby agrees with pre-specified condition information. The QEX module can preprocess the formula using either (or both) an eager expansion approach (in which the formula is expanded in an upfront manner) or a lazy expansion approach (in which axioms are identified for later possible expansion by the SMT solver module).
    Type: Application
    Filed: August 28, 2009
    Publication date: March 3, 2011
    Applicant: Microsoft Corporation
    Inventors: Margus Veanes, Nikolai Tillmann, Jonathan Paul de Halleux, Pavel Grigorenko
  • Patent number: 7882495
    Abstract: In one embodiment, a computer system determines that a previously run test scenario configured to test a software program has failed to produce an expected result due to one or more semantic errors, generates error trace code configured to monitor the called component, processes the test scenario using the error trace code, and analyzes error trace information to determine the point at which the semantic error occurs in the called component. In an alternative embodiment, a computer system detects a semantic error in a software component of a software program, constructs an error condition that may include source code representing a minimum condition under which the error occurs, generates an object invariant based on the error condition that represents an opposite condition to that represented by the error condition, and automatically generates source code change recommendations using the object invariant that prevent the semantic error from reoccurring in subsequent test scenarios.
    Type: Grant
    Filed: June 14, 2007
    Date of Patent: February 1, 2011
    Assignee: Microsoft Corporation
    Inventors: Nikolai Tillmann, Jonathan Paul de Halleux, Wolfram Schulte