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: 20240008174Abstract: 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: ApplicationFiled: June 29, 2022Publication date: January 4, 2024Applicant: Microsoft Technology Licensing, LLCInventors: Stephen Edward HODGES, Michal J. MOSKAL, Gabriele D'AMONE, James Alexander DEVINE, Jonathan Paul DE HALLEUX, Thomas Jaudon BALL
-
Publication number: 20240006833Abstract: 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: ApplicationFiled: June 29, 2022Publication date: January 4, 2024Applicant: Microsoft Technology Licensing, LLCInventors: Stephen Edward HODGES, Michal J. MOSKAL, Gabriele D'AMONE, James Alexander DEVINE, Jonathan Paul DE HALLEUX, Thomas Jaudon BALL
-
Publication number: 20230389175Abstract: 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: ApplicationFiled: June 24, 2022Publication date: November 30, 2023Applicant: Microsoft Technology Licensing, LLCInventors: Stephen Edward HODGES, Michal J. MOSKAL, Gabriel D'AMONE, James Alexander DEVINE, Thomas Jaudon BALL, Jonathan Paul DE HALLEUX
-
Patent number: 9448772Abstract: 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: GrantFiled: June 28, 2013Date of Patent: September 20, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Sumit Gulwani, Jonathan Paul de Halleux, Nikolai Tillmann, Vu Minh Le, Zhendong Su
-
Patent number: 9286038Abstract: 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: GrantFiled: June 19, 2013Date of Patent: March 15, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Sebastian C Burckhardt, Manuel A Faehndrich, Michal J Moskal, Sean C McDirmid, Nikolai Tillmann, Jonathan Paul de Halleux, Jun Kato
-
Patent number: 9104528Abstract: 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: GrantFiled: December 8, 2011Date of Patent: August 11, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Xusheng Xiao, Nikolai Tillmann, Manuel A. Fahndrich, Jonathan Paul de Halleux, Michal J. Moskal
-
Publication number: 20140380205Abstract: 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: ApplicationFiled: June 19, 2013Publication date: December 25, 2014Inventors: Sebastian C. Burckhardt, Manuel A. Faehndrich, Michal J. Moskal, Sean C. McDirmid, Nikolai Tillmann, Jonathan Paul de Halleux, Jun Kato
-
Publication number: 20140282375Abstract: 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: ApplicationFiled: June 28, 2013Publication date: September 18, 2014Inventors: Sumit Gulwani, Jonathan Paul de Halleux, Nikolai Tillmann, Vu Minh Le, Zhendong Su
-
Patent number: 8726239Abstract: 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: GrantFiled: May 5, 2010Date of Patent: May 13, 2014Assignee: Microsoft CorporationInventors: Jonathan Paul de Halleux, Nikolai Tillmann
-
Patent number: 8515891Abstract: 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: GrantFiled: November 19, 2010Date of Patent: August 20, 2013Assignee: Microsoft CorporationInventors: Margus Veanes, Jonathan Paul de Halleux, Nikolai Tillmann
-
Publication number: 20130152154Abstract: 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: ApplicationFiled: December 8, 2011Publication date: June 13, 2013Applicant: MICROSOFT CORPORATIONInventors: Xusheng Xiao, Nikolai Tillmann, Manuel A. Fahndrich, Jonathan Paul de Halleux, Michal J. Moskal
-
Publication number: 20130151519Abstract: 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: ApplicationFiled: December 7, 2011Publication date: June 13, 2013Applicant: MICROSOFT CORPORATIONInventors: Marat K. Akhin, Nikolai Tillmann, Michal J. Moskal, Jonathan Paul de Halleux, Manuel A. Fahndrich
-
Publication number: 20130055138Abstract: 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: ApplicationFiled: August 25, 2011Publication date: February 28, 2013Applicant: Microsoft CorporationInventors: Jonathan Paul de Halleux, Michal J. Moskal, Nikolai Tillmann, Manuel A. Fahndrich
-
Patent number: 8387016Abstract: 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: GrantFiled: May 1, 2009Date of Patent: February 26, 2013Assignee: Microsoft CorporationInventors: Nikolai Tillmann, Jonathan Paul de Halleux
-
Patent number: 8387021Abstract: 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: GrantFiled: September 26, 2008Date of Patent: February 26, 2013Assignee: Microsoft CorporationInventors: Dries Vanoverberghe, Nikolai Tillmann, Jonathan Paul de Halleux, Nikolaj S Bjorner, Wolfram Schulte
-
Publication number: 20120130932Abstract: 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: ApplicationFiled: November 19, 2010Publication date: May 24, 2012Applicant: Microsoft CorporationInventors: Margus Veanes, Jonathan Paul De Halleux, Nikolai Tillmann
-
Patent number: 8180786Abstract: 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: GrantFiled: August 28, 2009Date of Patent: May 15, 2012Assignee: Microsoft CorporationInventors: Margus Veanes, Nikolai Tillmann, Jonathan Paul de Halleux, Pavel Grigorenko
-
Publication number: 20110276943Abstract: 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: ApplicationFiled: May 5, 2010Publication date: November 10, 2011Applicant: Microsoft CorporationInventors: Jonathan Paul de Halleux, Nikolai Tillmann
-
Publication number: 20110055237Abstract: 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: ApplicationFiled: August 28, 2009Publication date: March 3, 2011Applicant: Microsoft CorporationInventors: Margus Veanes, Nikolai Tillmann, Jonathan Paul de Halleux, Pavel Grigorenko
-
Patent number: 7882495Abstract: 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: GrantFiled: June 14, 2007Date of Patent: February 1, 2011Assignee: Microsoft CorporationInventors: Nikolai Tillmann, Jonathan Paul de Halleux, Wolfram Schulte