Movatterモバイル変換


[0]ホーム

URL:


US20060242628A1 - An extensible type system for representing and checking consistency of program components during the process of compilation - Google Patents

An extensible type system for representing and checking consistency of program components during the process of compilation
Download PDF

Info

Publication number
US20060242628A1
US20060242628A1US11/427,657US42765706AUS2006242628A1US 20060242628 A1US20060242628 A1US 20060242628A1US 42765706 AUS42765706 AUS 42765706AUS 2006242628 A1US2006242628 A1US 2006242628A1
Authority
US
United States
Prior art keywords
type
canceled
checking
language
compiler
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/427,657
Inventor
Mark Plesko
David Tarditi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft CorpfiledCriticalMicrosoft Corp
Priority to US11/427,657priorityCriticalpatent/US20060242628A1/en
Publication of US20060242628A1publicationCriticalpatent/US20060242628A1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLCreassignmentMICROSOFT TECHNOLOGY LICENSING, LLCASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: MICROSOFT CORPORATION
Abandonedlegal-statusCriticalCurrent

Links

Images

Classifications

Definitions

Landscapes

Abstract

A representation of types, type-checker, and compiler are provided for checking consistency in various forms of an intermediate language. Type-checking a programming language in a compiler is accomplished by taking one or more rule sets as input to a type-checker, which selects one or more of the rule sets based upon any one, or combination of two or more, of numerous criteria. Among them are stage of compilation, source language, architecture, and level of typing present in the language being type-checked. The language is then type-checked using the selected one or more rule sets. The rule sets can include one rule set corresponding to strong type-checking, one rule set corresponding to weak type-checking, and one rule set corresponding to representation type-checking. In the alternative, a compiler can be provided with a type-checker that constructs the one or more sets of rules at runtime from a larger set of rules based on any one, or combination of two or more, of the previously mentioned criteria.

Description

Claims (40)

US11/427,6572003-06-272006-06-29An extensible type system for representing and checking consistency of program components during the process of compilationAbandonedUS20060242628A1 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
US11/427,657US20060242628A1 (en)2003-06-272006-06-29An extensible type system for representing and checking consistency of program components during the process of compilation

Applications Claiming Priority (2)

Application NumberPriority DateFiling DateTitle
US10/607,601US7086041B2 (en)2003-06-272003-06-27Extensible type system for representing and checking consistency of program components during the process of compilation
US11/427,657US20060242628A1 (en)2003-06-272006-06-29An extensible type system for representing and checking consistency of program components during the process of compilation

Related Parent Applications (1)

Application NumberTitlePriority DateFiling Date
US10/607,601ContinuationUS7086041B2 (en)2003-06-262003-06-27Extensible type system for representing and checking consistency of program components during the process of compilation

Publications (1)

Publication NumberPublication Date
US20060242628A1true US20060242628A1 (en)2006-10-26

Family

ID=33540309

Family Applications (2)

Application NumberTitlePriority DateFiling Date
US10/607,601Expired - Fee RelatedUS7086041B2 (en)2003-06-262003-06-27Extensible type system for representing and checking consistency of program components during the process of compilation
US11/427,657AbandonedUS20060242628A1 (en)2003-06-272006-06-29An extensible type system for representing and checking consistency of program components during the process of compilation

Family Applications Before (1)

Application NumberTitlePriority DateFiling Date
US10/607,601Expired - Fee RelatedUS7086041B2 (en)2003-06-262003-06-27Extensible type system for representing and checking consistency of program components during the process of compilation

Country Status (7)

CountryLink
US (2)US7086041B2 (en)
EP (1)EP1639461A4 (en)
JP (1)JP4794437B2 (en)
KR (1)KR101086082B1 (en)
CN (1)CN100474252C (en)
TW (1)TWI416412B (en)
WO (1)WO2005006119A2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20060212847A1 (en)*2005-03-182006-09-21Microsoft CorporationType checker for a typed intermediate representation of object-oriented languages
US20070256060A1 (en)*2006-04-272007-11-01Sukyoung RyuMethod and apparatus for expressing and checking relationships between types
US20090055800A1 (en)*2007-08-232009-02-26International Business Machines CorporationModular Integration of Distinct Type Systems for the Compilation of Programs
US20130007717A1 (en)*2011-06-282013-01-03International Business Machines CorporationIntegrating Compiler Warnings Into A Debug Session
US20150113513A1 (en)*2013-10-182015-04-23Microsoft CorporationIncrementally compiling software artifacts from an interactive development environment
WO2018125363A1 (en)*2016-12-292018-07-05Grammatech, Inc.Systems and/or methods for type inference from machine code
US10795651B2 (en)2016-10-282020-10-06Huawei Technologies Co., Ltd.Method and apparatus for compiling source code object, and computer

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US7086041B2 (en)*2003-06-272006-08-01Microsoft CorporationExtensible type system for representing and checking consistency of program components during the process of compilation
US7856624B2 (en)*2003-09-152010-12-21Thomas PlumAutomated safe secure techniques for eliminating undefined behavior in computer software
US7818729B1 (en)*2003-09-152010-10-19Thomas PlumAutomated safe secure techniques for eliminating undefined behavior in computer software
US7810080B2 (en)*2003-09-152010-10-05Thomas PlumAutomated safe secure techniques for eliminating undefined behavior in computer software
US7657874B2 (en)*2004-08-242010-02-02Microsoft CorporationPattern types as constraints on generic type parameters
US7730465B2 (en)*2004-10-222010-06-01Microsoft CorporationMixed types
US7512938B2 (en)*2005-03-182009-03-31Microsoft CorporationTyped intermediate representation for object-oriented languages
US7702686B2 (en)*2005-07-292010-04-20Microsoft CorporationRetrieving and persisting objects from/to relational databases
US20070027849A1 (en)*2005-07-292007-02-01Microsoft CorporationIntegrating query-related operators in a programming language
US7631011B2 (en)*2005-07-292009-12-08Microsoft CorporationCode generation patterns
US20070044083A1 (en)*2005-07-292007-02-22Microsoft CorporationLambda expressions
US7685567B2 (en)*2005-07-292010-03-23Microsoft CorporationArchitecture that extends types using extension methods
US20070027905A1 (en)*2005-07-292007-02-01Microsoft CorporationIntelligent SQL generation for persistent object retrieval
US7353504B2 (en)*2005-12-092008-04-01Bea Systems, Inc.System and method for efficiently generating native code calls from byte code in virtual machines
WO2007084780A2 (en)*2006-01-202007-07-26Aptana, Inc.Type inference system and method
US8171461B1 (en)*2006-02-242012-05-01Nvidia CoporationPrimitive program compilation for flat attributes with provoking vertex independence
US7870542B1 (en)2006-04-052011-01-11Mcafee, Inc.Calling system, method and computer program product
US8365157B2 (en)*2006-11-092013-01-29Oracle International CorporationSystem and method for early platform dependency preparation of intermediate code representation during bytecode compilation
US8255887B2 (en)*2006-11-292012-08-28International Business Machines CorporationMethod and apparatus for re-using memory allocated for data structures used by software processes
US20080141230A1 (en)*2006-12-062008-06-12Microsoft CorporationScope-Constrained Specification Of Features In A Programming Language
US8850414B2 (en)*2007-02-022014-09-30Microsoft CorporationDirect access of language metadata
US7865533B2 (en)*2007-02-052011-01-04Microsoft CorporationCompositional query comprehensions
US7805456B2 (en)*2007-02-052010-09-28Microsoft CorporationQuery pattern to enable type flow of element types
US8490051B2 (en)*2007-02-282013-07-16Microsoft CorporationGeneric interface for numeric types
US8079023B2 (en)*2007-03-222011-12-13Microsoft CorporationTyped intermediate language support for existing compilers
US20080282238A1 (en)*2007-05-102008-11-13Microsoft CorporationStatic type for late binding
US8321847B1 (en)2007-05-172012-11-27The Mathworks, Inc.Dynamic function wizard
US8060868B2 (en)*2007-06-212011-11-15Microsoft CorporationFully capturing outer variables as data objects
US8032870B2 (en)*2007-06-252011-10-04Microsoft CorporationTransacting accesses via unmanaged pointers
US8914774B1 (en)2007-11-152014-12-16Appcelerator, Inc.System and method for tagging code to determine where the code runs
US8954989B1 (en)2007-11-192015-02-10Appcelerator, Inc.Flexible, event-driven JavaScript server architecture
US8260845B1 (en)2007-11-212012-09-04Appcelerator, Inc.System and method for auto-generating JavaScript proxies and meta-proxies
US8719451B1 (en)2007-11-232014-05-06Appcelerator, Inc.System and method for on-the-fly, post-processing document object model manipulation
US8566807B1 (en)2007-11-232013-10-22Appcelerator, Inc.System and method for accessibility of document object model and JavaScript by other platforms
US8756579B1 (en)2007-12-032014-06-17Appcelerator, Inc.Client-side and server-side unified validation
US8806431B1 (en)2007-12-032014-08-12Appecelerator, Inc.Aspect oriented programming
US8819539B1 (en)2007-12-032014-08-26Appcelerator, Inc.On-the-fly rewriting of uniform resource locators in a web-page
US8938491B1 (en)2007-12-042015-01-20Appcelerator, Inc.System and method for secure binding of client calls and server functions
US8527860B1 (en)2007-12-042013-09-03Appcelerator, Inc.System and method for exposing the dynamic web server-side
US8335982B1 (en)2007-12-052012-12-18Appcelerator, Inc.System and method for binding a document object model through JavaScript callbacks
US8639743B1 (en)2007-12-052014-01-28Appcelerator, Inc.System and method for on-the-fly rewriting of JavaScript
US8285813B1 (en)2007-12-052012-10-09Appcelerator, Inc.System and method for emulating different user agents on a server
US8181167B2 (en)*2008-01-092012-05-15Kan ZhaoMethod and system for presenting and analyzing software source code through intermediate representation
US8291079B1 (en)2008-06-042012-10-16Appcelerator, Inc.System and method for developing, deploying, managing and monitoring a web application in a single environment
US8880678B1 (en)2008-06-052014-11-04Appcelerator, Inc.System and method for managing and monitoring a web application using multiple cloud providers
US7596620B1 (en)2008-11-042009-09-29Aptana, Inc.System and method for developing, deploying, managing and monitoring a web application in a single environment
US20100088686A1 (en)*2008-10-062010-04-08Microsoft CorporationProgramming language with extensible syntax
US8276111B2 (en)*2008-12-192012-09-25Microsoft CorporationProviding access to a dataset in a type-safe manner
US8955043B2 (en)*2010-01-272015-02-10Microsoft CorporationType-preserving compiler for security verification
US8739118B2 (en)2010-04-082014-05-27Microsoft CorporationPragmatic mapping specification, compilation and validation
US9183014B2 (en)2011-02-162015-11-10Intel CorporationEnabling virtual calls in a SIMD environment
CN102520963B (en)*2011-12-262014-10-01重庆新媒农信科技有限公司 Method and system for implementing business logic processing based on strongly typed relational mapping
US9256410B2 (en)2012-08-092016-02-09Apple Inc.Failure profiling for continued code optimization
US9524175B2 (en)2012-11-142016-12-20Oracle International CorporationTarget typing of overloaded method and constructor arguments
US9772828B2 (en)*2014-04-222017-09-26Oracle International CorporationStructural identification of dynamically generated, pattern-instantiation, generated classes
US10216501B2 (en)*2015-06-042019-02-26The Mathworks, Inc.Generating code in statically typed programming languages for dynamically typed array-based language
CN110308908B (en)*2018-03-202023-07-18北京小米移动软件有限公司 Method, device, and storage medium for generating application configuration files and displaying application pages
US10530662B2 (en)2018-05-112020-01-07Cisco Technology, Inc.Machine learning method to validate run-time rules and detect software/hardware consistency errors for network elements
WO2022030796A1 (en)*2020-08-062022-02-10고려대학교 산학협력단Bintyper: type confusion bug detection for c++ program binaries

Citations (88)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US4734854A (en)*1985-10-081988-03-29American Telephone And Telegraph CompanySystem for generating software source code components
US5355491A (en)*1985-10-171994-10-11International Business Machines CorporationCompiler including retargetable data generation
US5488727A (en)*1991-09-301996-01-30International Business Machines CorporationMethods to support multimethod function overloading with compile-time type checking
US5577253A (en)*1991-02-271996-11-19Digital Equipment CorporationAnalyzing inductive expressions in a multilanguage optimizing compiler
US5598560A (en)*1991-03-071997-01-28Digital Equipment CorporationTracking condition codes in translation code for different machine architectures
US5628016A (en)*1994-06-151997-05-06Borland International, Inc.Systems and methods and implementing exception handling using exception registration records stored in stack memory
US5659753A (en)*1991-02-271997-08-19Digital Equipment CorporationInterface for symbol table construction in a multilanguage optimizing compiler
US5742828A (en)*1994-08-031998-04-21Microsoft CorporationCompiler and method for evaluation of foreign syntax expressions in source code
US5754858A (en)*1996-05-011998-05-19Microsoft CorporationCustomizable application project generation process and system
US5768595A (en)*1993-10-291998-06-16International Business Machines CorporationSystem and method for recompiling computer programs for enhanced optimization
US5857105A (en)*1997-02-051999-01-05Hewlett-Packard CompanyCompiler for reducing number of indirect calls in an executable code
US5918235A (en)*1997-04-041999-06-29Hewlett-Packard CompanyObject surrogate with active computation and probablistic counter
US5937195A (en)*1996-11-271999-08-10Hewlett-Packard CoGlobal control flow treatment of predicated code
US5943499A (en)*1996-11-271999-08-24Hewlett-Packard CompanySystem and method for solving general global data flow predicated code problems
US5966702A (en)*1997-10-311999-10-12Sun Microsystems, Inc.Method and apparatus for pre-processing and packaging class files
US5999739A (en)*1997-05-291999-12-07Hewlett-Packard CompanyMethod and apparatus for elimination of redundant branch instructions from a program
US6009273A (en)*1997-05-291999-12-28Hewlett-Packard CompanyMethod for conversion of a variable argument routine to a fixed argument routine
US6041179A (en)*1996-10-032000-03-21International Business Machines CorporationObject oriented dispatch optimization
US6070011A (en)*1997-10-212000-05-30Hewlett-Packard Co.Compiler for performing a loop fusion, dependent upon loop peeling and/or loop reversal
US6131187A (en)*1998-08-172000-10-10International Business Machines CorporationMethod and system for translating exception handling semantics of a bytecode class file
US6148302A (en)*1998-02-262000-11-14Sun Microsystems, Inc.Method, apparatus, system and computer program product for initializing a data structure at its first active use
US6149318A (en)*1997-04-152000-11-21Samuel C. KendallLink-time and run-time error detection, and program instrumentation
US6151703A (en)*1996-05-202000-11-21Inprise CorporationDevelopment system with methods for just-in-time compilation of programs
US6182284B1 (en)*1998-09-302001-01-30Hewlett-Packard CompanyMethod and system for eliminating phi instruction resource interferences and redundant copy instructions from static-single-assignment-form computer code
US6212672B1 (en)*1997-03-072001-04-03Dynamics Research CorporationSoftware development system with an executable working model in an interpretable intermediate modeling language
US6247169B1 (en)*1996-11-042001-06-12Sun Microsystems, Inc.Structured exception-handling methods, apparatus, and computer program products
US6247172B1 (en)*1998-07-022001-06-12Hewlett-Packard CompanyMethod for a translation system that aggressively optimizes and preserves full synchronous exception state
US6249910B1 (en)*1998-05-042001-06-19Hewlett-Packard CompanyApparatus and method for incrementally update static single assignment form for cloned variable name definitions
US6286134B1 (en)*1999-04-232001-09-04Sun Microsystems, Inc.Instruction selection in a multi-platform environment
US6289446B1 (en)*1998-09-292001-09-11Axis AbException handling utilizing call instruction with context information
US6292938B1 (en)*1998-12-022001-09-18International Business Machines CorporationRetargeting optimized code by matching tree patterns in directed acyclic graphs
US6330717B1 (en)*1998-03-272001-12-11Sony Corporation Of JapanProcess and system for developing an application program for a distributed adaptive run-time platform
US20020026633A1 (en)*1991-04-232002-02-28Shinobu KoizumiRetargetable information processing system
US6353924B1 (en)*1999-02-082002-03-05Incert Software CorporationMethod for back tracing program execution
US6374368B1 (en)*1999-05-212002-04-16Microsoft CorporationWeakest precondition analysis
US6381738B1 (en)*1999-07-162002-04-30International Business Machines CorporationMethod for optimizing creation and destruction of objects in computer programs
US20020059568A1 (en)*2000-04-142002-05-16International Business Machines CorporationProgram compilation and optimization
US6412109B1 (en)*1999-01-292002-06-25Sun Microsystems, Inc.Method for optimizing java bytecodes in the presence of try-catch blocks
US6412020B1 (en)*1992-12-242002-06-25Microsoft CorporationMethod and system for aggregating objects
US20020083425A1 (en)*2000-12-212002-06-27Microsoft CorporationSystem and method for obtaining scratch registers in computer executable binaries
US6421667B1 (en)*1996-06-112002-07-16Edgar F. CoddDelta model processing logic representation and execution system
US20020095667A1 (en)*2000-09-272002-07-18Archambault Roch GeorgesOptimizing compilation by forward store movement
US6460178B1 (en)*1999-06-302002-10-01Microsoft CorporationShared library optimization for heterogeneous programs
US6463581B1 (en)*1996-10-032002-10-08International Business Machines CorporationMethod for determining reachable methods in object-oriented applications that use class libraries
US20020166115A1 (en)*1999-06-102002-11-07A.V.S. SastrySystem and method for computer program compilation using scalar register promotion and static single assignment representation
US6481008B1 (en)*1999-06-302002-11-12Microsoft CorporationInstrumentation and optimization tools for heterogeneous programs
US20020170044A1 (en)*2001-02-232002-11-14Microsoft CorporationMethod and system for register allocation
US20020169999A1 (en)*2001-05-142002-11-14Microsoft CorporationPlacing exception throwing instructions in compiled code
US6484312B1 (en)*1999-06-072002-11-19Microsoft CorporationInferring operand types within an intermediate language
US6487716B1 (en)*1999-10-082002-11-26International Business Machines CorporationMethods and apparatus for optimizing programs in the presence of exceptions
US20030018961A1 (en)*2001-07-052003-01-23Takeshi OgasawaraSystem and method for handling an exception in a program
US6526570B1 (en)*1999-04-232003-02-25Sun Microsystems, Inc.File portability techniques
US6560774B1 (en)*1999-09-012003-05-06Microsoft CorporationVerifier to check intermediate language
US20030101438A1 (en)*2001-08-152003-05-29Debi MishraSemantics mapping between different object hierarchies
US20030101380A1 (en)*2001-11-292003-05-29Microsoft CorporationMethod and system for rewriting unwind data in the presence of exceptions
US20030101335A1 (en)*2001-11-262003-05-29Microsoft CorporationMethod for binary-level branch reversal on computer architectures supporting predicated execution
US6578090B1 (en)*1998-06-082003-06-10Ricoh Company, Ltd.System and method for interfacing two modules supporting various applications
US20030131147A1 (en)*2002-01-042003-07-10Microsoft CorporationSystems and methods for managing drivers in a computing system
US6598220B1 (en)*1999-12-172003-07-22Dell Products L.P.System and method for allowing registerable runtime modification of object behaviors
US20030145312A1 (en)*2002-01-302003-07-31International Business Machines CorporationSource code transformation
US6625804B1 (en)*2000-07-062003-09-23Microsoft CorporationUnified event programming model
US6625808B1 (en)*1999-12-102003-09-23Microsoft CorporationMethod and apparatus for facilitating memory management in a program comprised of heterogeneous components
US6629312B1 (en)*1999-08-202003-09-30Hewlett-Packard Development Company, L.P.Programmatic synthesis of a machine description for retargeting a compiler
US6634023B1 (en)*1998-06-182003-10-14International Business Machines CorporationCompile method, exception handling method and computer
US20030217197A1 (en)*2002-05-142003-11-20Microsoft CorporationPreparation for software on demand system
US20030226133A1 (en)*2002-05-302003-12-04Microsoft CorporationSystem and method for improving a working set
US6662356B1 (en)*1999-06-302003-12-09Microsoft CorporationApplication program interface for transforming heterogeneous programs
US6678805B1 (en)*2000-05-252004-01-13Microsoft CorporationStructure organization for improved cache performance
US20040015897A1 (en)*2001-05-152004-01-22Thompson Carlos L.Method and apparatus for verifying invariant properties of data structures at run-time
US20040049769A1 (en)*2002-09-052004-03-11Guei-Yuan LuehMethods and apparatus for optimizing the operating speed and size of a computer program
US6738967B1 (en)*2000-03-142004-05-18Microsoft CorporationCompiling for multiple virtual machines targeting different processor architectures
US20040098710A1 (en)*2002-11-142004-05-20Jim RadiganSystems and methods to read, optimize, and verify byte codes for a multiplatform jit
US6745383B1 (en)*1999-12-292004-06-01Veritas Operating CorporationEarly warning mechanism for enhancing enterprise availability
US6748584B1 (en)*1999-12-292004-06-08Veritas Operating CorporationMethod for determining the degree to which changed code has been exercised
US20040172639A1 (en)*2003-02-282004-09-02Bea Systems, Inc.Method for dynamically generating a wrapper
US20040268327A1 (en)*2003-06-302004-12-30Microsoft CorporationGenerating software development tools via target architecture specification
US20050051673A1 (en)*2003-05-192005-03-10Bernd RadinCable suspension arrangement for luminaires
US6981249B1 (en)*2000-05-022005-12-27Microsoft CorporationMethods for enhancing type reconstruction
US7055132B2 (en)*2002-06-282006-05-30Microsoft CorporationSystem and method for associating properties with objects
US7086041B2 (en)*2003-06-272006-08-01Microsoft CorporationExtensible type system for representing and checking consistency of program components during the process of compilation
US7117488B1 (en)*2001-10-312006-10-03The Regents Of The University Of CaliforniaSafe computer code formats and methods for generating safe computer code
US7120898B2 (en)*2003-06-262006-10-10Microsoft CorporationIntermediate representation for multiple exception handling models
US7168060B2 (en)*2002-04-262007-01-23Kabushiki Kaisha ToshibaMethod of generating development environment for developing system LSI and medium which stores program therefor using VLIW designating description
US7243342B2 (en)*2002-06-112007-07-10Intel CorporationMethods and apparatus for determining if a user-defined software function is a memory allocation function during compile-time
US7269718B2 (en)*2004-04-292007-09-11International Business Machines CorporationMethod and apparatus for verifying data types to be used for instructions and casting data types if needed
US7305666B2 (en)*2003-07-232007-12-04Microsoft CorporationDescription language for an extensible compiler and tools infrastructure
US7346901B2 (en)*2001-12-182008-03-18Microsoft CorporationEfficient generic code in a dynamic execution environment
US7380242B2 (en)*2003-05-142008-05-27Mainsoft Israel Ltd.Compiler and software product for compiling intermediate language bytecodes into Java bytecodes

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6085035A (en)*1997-09-092000-07-04Sun Microsystems, Inc.Method and apparatus for efficient operations on primary type values without static overloading
US6804814B1 (en)1999-12-292004-10-12Veritas Operating CorporationMethod for simulating back program execution from a traceback sequence
US20030126590A1 (en)*2001-12-282003-07-03Michael BurrowsSystem and method for dynamic data-type checking
US7213245B2 (en)2002-05-142007-05-01Microsoft CorporationSoftware on demand system

Patent Citations (91)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US4734854A (en)*1985-10-081988-03-29American Telephone And Telegraph CompanySystem for generating software source code components
US5355491A (en)*1985-10-171994-10-11International Business Machines CorporationCompiler including retargetable data generation
US5577253A (en)*1991-02-271996-11-19Digital Equipment CorporationAnalyzing inductive expressions in a multilanguage optimizing compiler
US5659753A (en)*1991-02-271997-08-19Digital Equipment CorporationInterface for symbol table construction in a multilanguage optimizing compiler
US5598560A (en)*1991-03-071997-01-28Digital Equipment CorporationTracking condition codes in translation code for different machine architectures
US20020026633A1 (en)*1991-04-232002-02-28Shinobu KoizumiRetargetable information processing system
US5488727A (en)*1991-09-301996-01-30International Business Machines CorporationMethods to support multimethod function overloading with compile-time type checking
US5696974A (en)*1991-09-301997-12-09International Business Machines CorporationMethods to support multimethod function overloading with compile-time type checking
US6412020B1 (en)*1992-12-242002-06-25Microsoft CorporationMethod and system for aggregating objects
US5768595A (en)*1993-10-291998-06-16International Business Machines CorporationSystem and method for recompiling computer programs for enhanced optimization
US5628016A (en)*1994-06-151997-05-06Borland International, Inc.Systems and methods and implementing exception handling using exception registration records stored in stack memory
US5742828A (en)*1994-08-031998-04-21Microsoft CorporationCompiler and method for evaluation of foreign syntax expressions in source code
US5754858A (en)*1996-05-011998-05-19Microsoft CorporationCustomizable application project generation process and system
US6151703A (en)*1996-05-202000-11-21Inprise CorporationDevelopment system with methods for just-in-time compilation of programs
US6421667B1 (en)*1996-06-112002-07-16Edgar F. CoddDelta model processing logic representation and execution system
US6463581B1 (en)*1996-10-032002-10-08International Business Machines CorporationMethod for determining reachable methods in object-oriented applications that use class libraries
US6041179A (en)*1996-10-032000-03-21International Business Machines CorporationObject oriented dispatch optimization
US6247169B1 (en)*1996-11-042001-06-12Sun Microsystems, Inc.Structured exception-handling methods, apparatus, and computer program products
US5937195A (en)*1996-11-271999-08-10Hewlett-Packard CoGlobal control flow treatment of predicated code
US5943499A (en)*1996-11-271999-08-24Hewlett-Packard CompanySystem and method for solving general global data flow predicated code problems
US5857105A (en)*1997-02-051999-01-05Hewlett-Packard CompanyCompiler for reducing number of indirect calls in an executable code
US6212672B1 (en)*1997-03-072001-04-03Dynamics Research CorporationSoftware development system with an executable working model in an interpretable intermediate modeling language
US5918235A (en)*1997-04-041999-06-29Hewlett-Packard CompanyObject surrogate with active computation and probablistic counter
US6149318A (en)*1997-04-152000-11-21Samuel C. KendallLink-time and run-time error detection, and program instrumentation
US5999739A (en)*1997-05-291999-12-07Hewlett-Packard CompanyMethod and apparatus for elimination of redundant branch instructions from a program
US6009273A (en)*1997-05-291999-12-28Hewlett-Packard CompanyMethod for conversion of a variable argument routine to a fixed argument routine
US6070011A (en)*1997-10-212000-05-30Hewlett-Packard Co.Compiler for performing a loop fusion, dependent upon loop peeling and/or loop reversal
US5966702A (en)*1997-10-311999-10-12Sun Microsystems, Inc.Method and apparatus for pre-processing and packaging class files
US6148302A (en)*1998-02-262000-11-14Sun Microsystems, Inc.Method, apparatus, system and computer program product for initializing a data structure at its first active use
US6330717B1 (en)*1998-03-272001-12-11Sony Corporation Of JapanProcess and system for developing an application program for a distributed adaptive run-time platform
US6249910B1 (en)*1998-05-042001-06-19Hewlett-Packard CompanyApparatus and method for incrementally update static single assignment form for cloned variable name definitions
US6578090B1 (en)*1998-06-082003-06-10Ricoh Company, Ltd.System and method for interfacing two modules supporting various applications
US6634023B1 (en)*1998-06-182003-10-14International Business Machines CorporationCompile method, exception handling method and computer
US6247172B1 (en)*1998-07-022001-06-12Hewlett-Packard CompanyMethod for a translation system that aggressively optimizes and preserves full synchronous exception state
US6131187A (en)*1998-08-172000-10-10International Business Machines CorporationMethod and system for translating exception handling semantics of a bytecode class file
US6289446B1 (en)*1998-09-292001-09-11Axis AbException handling utilizing call instruction with context information
US6182284B1 (en)*1998-09-302001-01-30Hewlett-Packard CompanyMethod and system for eliminating phi instruction resource interferences and redundant copy instructions from static-single-assignment-form computer code
US6292938B1 (en)*1998-12-022001-09-18International Business Machines CorporationRetargeting optimized code by matching tree patterns in directed acyclic graphs
US6412109B1 (en)*1999-01-292002-06-25Sun Microsystems, Inc.Method for optimizing java bytecodes in the presence of try-catch blocks
US6353924B1 (en)*1999-02-082002-03-05Incert Software CorporationMethod for back tracing program execution
US6286134B1 (en)*1999-04-232001-09-04Sun Microsystems, Inc.Instruction selection in a multi-platform environment
US6526570B1 (en)*1999-04-232003-02-25Sun Microsystems, Inc.File portability techniques
US6374368B1 (en)*1999-05-212002-04-16Microsoft CorporationWeakest precondition analysis
US6484312B1 (en)*1999-06-072002-11-19Microsoft CorporationInferring operand types within an intermediate language
US20020166115A1 (en)*1999-06-102002-11-07A.V.S. SastrySystem and method for computer program compilation using scalar register promotion and static single assignment representation
US6481008B1 (en)*1999-06-302002-11-12Microsoft CorporationInstrumentation and optimization tools for heterogeneous programs
US6662356B1 (en)*1999-06-302003-12-09Microsoft CorporationApplication program interface for transforming heterogeneous programs
US6460178B1 (en)*1999-06-302002-10-01Microsoft CorporationShared library optimization for heterogeneous programs
US6381738B1 (en)*1999-07-162002-04-30International Business Machines CorporationMethod for optimizing creation and destruction of objects in computer programs
US6629312B1 (en)*1999-08-202003-09-30Hewlett-Packard Development Company, L.P.Programmatic synthesis of a machine description for retargeting a compiler
US6560774B1 (en)*1999-09-012003-05-06Microsoft CorporationVerifier to check intermediate language
US6851108B1 (en)*1999-09-012005-02-01Microsoft CorporationVerifying intermediate language code
US6487716B1 (en)*1999-10-082002-11-26International Business Machines CorporationMethods and apparatus for optimizing programs in the presence of exceptions
US6625808B1 (en)*1999-12-102003-09-23Microsoft CorporationMethod and apparatus for facilitating memory management in a program comprised of heterogeneous components
US6598220B1 (en)*1999-12-172003-07-22Dell Products L.P.System and method for allowing registerable runtime modification of object behaviors
US6748584B1 (en)*1999-12-292004-06-08Veritas Operating CorporationMethod for determining the degree to which changed code has been exercised
US6745383B1 (en)*1999-12-292004-06-01Veritas Operating CorporationEarly warning mechanism for enhancing enterprise availability
US6738967B1 (en)*2000-03-142004-05-18Microsoft CorporationCompiling for multiple virtual machines targeting different processor architectures
US20020059568A1 (en)*2000-04-142002-05-16International Business Machines CorporationProgram compilation and optimization
US6981249B1 (en)*2000-05-022005-12-27Microsoft CorporationMethods for enhancing type reconstruction
US6678805B1 (en)*2000-05-252004-01-13Microsoft CorporationStructure organization for improved cache performance
US6625804B1 (en)*2000-07-062003-09-23Microsoft CorporationUnified event programming model
US20020095667A1 (en)*2000-09-272002-07-18Archambault Roch GeorgesOptimizing compilation by forward store movement
US20020083425A1 (en)*2000-12-212002-06-27Microsoft CorporationSystem and method for obtaining scratch registers in computer executable binaries
US20020170044A1 (en)*2001-02-232002-11-14Microsoft CorporationMethod and system for register allocation
US20020169999A1 (en)*2001-05-142002-11-14Microsoft CorporationPlacing exception throwing instructions in compiled code
US20040015897A1 (en)*2001-05-152004-01-22Thompson Carlos L.Method and apparatus for verifying invariant properties of data structures at run-time
US20030018961A1 (en)*2001-07-052003-01-23Takeshi OgasawaraSystem and method for handling an exception in a program
US20030101438A1 (en)*2001-08-152003-05-29Debi MishraSemantics mapping between different object hierarchies
US7117488B1 (en)*2001-10-312006-10-03The Regents Of The University Of CaliforniaSafe computer code formats and methods for generating safe computer code
US20030101335A1 (en)*2001-11-262003-05-29Microsoft CorporationMethod for binary-level branch reversal on computer architectures supporting predicated execution
US20030101380A1 (en)*2001-11-292003-05-29Microsoft CorporationMethod and system for rewriting unwind data in the presence of exceptions
US7346901B2 (en)*2001-12-182008-03-18Microsoft CorporationEfficient generic code in a dynamic execution environment
US20030131147A1 (en)*2002-01-042003-07-10Microsoft CorporationSystems and methods for managing drivers in a computing system
US20030145312A1 (en)*2002-01-302003-07-31International Business Machines CorporationSource code transformation
US7168060B2 (en)*2002-04-262007-01-23Kabushiki Kaisha ToshibaMethod of generating development environment for developing system LSI and medium which stores program therefor using VLIW designating description
US20030217197A1 (en)*2002-05-142003-11-20Microsoft CorporationPreparation for software on demand system
US20030226133A1 (en)*2002-05-302003-12-04Microsoft CorporationSystem and method for improving a working set
US7243342B2 (en)*2002-06-112007-07-10Intel CorporationMethods and apparatus for determining if a user-defined software function is a memory allocation function during compile-time
US7055132B2 (en)*2002-06-282006-05-30Microsoft CorporationSystem and method for associating properties with objects
US20040049769A1 (en)*2002-09-052004-03-11Guei-Yuan LuehMethods and apparatus for optimizing the operating speed and size of a computer program
US20040098710A1 (en)*2002-11-142004-05-20Jim RadiganSystems and methods to read, optimize, and verify byte codes for a multiplatform jit
US7370321B2 (en)*2002-11-142008-05-06Microsoft CorporationSystems and methods to read, optimize, and verify byte codes for a multiplatform jit
US20040172639A1 (en)*2003-02-282004-09-02Bea Systems, Inc.Method for dynamically generating a wrapper
US7380242B2 (en)*2003-05-142008-05-27Mainsoft Israel Ltd.Compiler and software product for compiling intermediate language bytecodes into Java bytecodes
US20050051673A1 (en)*2003-05-192005-03-10Bernd RadinCable suspension arrangement for luminaires
US7120898B2 (en)*2003-06-262006-10-10Microsoft CorporationIntermediate representation for multiple exception handling models
US7086041B2 (en)*2003-06-272006-08-01Microsoft CorporationExtensible type system for representing and checking consistency of program components during the process of compilation
US20040268327A1 (en)*2003-06-302004-12-30Microsoft CorporationGenerating software development tools via target architecture specification
US7305666B2 (en)*2003-07-232007-12-04Microsoft CorporationDescription language for an extensible compiler and tools infrastructure
US7269718B2 (en)*2004-04-292007-09-11International Business Machines CorporationMethod and apparatus for verifying data types to be used for instructions and casting data types if needed

Cited By (16)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20060212847A1 (en)*2005-03-182006-09-21Microsoft CorporationType checker for a typed intermediate representation of object-oriented languages
US20070256060A1 (en)*2006-04-272007-11-01Sukyoung RyuMethod and apparatus for expressing and checking relationships between types
US8225294B2 (en)*2006-04-272012-07-17Oracle America, Inc.Method and apparatus for expressing and checking relationships between types
US20090055800A1 (en)*2007-08-232009-02-26International Business Machines CorporationModular Integration of Distinct Type Systems for the Compilation of Programs
US8196121B2 (en)*2007-08-232012-06-05International Business Machines CorporationModular integration of distinct type systems for the compilation of programs
US9104795B2 (en)*2011-06-282015-08-11International Business Machines CorporationIntegrating compiler warnings into a debug session
US20130007717A1 (en)*2011-06-282013-01-03International Business Machines CorporationIntegrating Compiler Warnings Into A Debug Session
CN105723337A (en)*2013-10-182016-06-29微软技术许可有限责任公司Incrementally compiling software artifacts from interactive development environment
US20150113513A1 (en)*2013-10-182015-04-23Microsoft CorporationIncrementally compiling software artifacts from an interactive development environment
US9600256B2 (en)*2013-10-182017-03-21Microsoft Technology Licensing, LlcIncrementally compiling software artifacts from an interactive development environment
CN105723337B (en)*2013-10-182019-04-30微软技术许可有限责任公司 Method and system for incrementally compiling software artifacts from an interactive development environment
US10795651B2 (en)2016-10-282020-10-06Huawei Technologies Co., Ltd.Method and apparatus for compiling source code object, and computer
US11281441B2 (en)2016-10-282022-03-22Huawei Technologies Co., Ltd.Method and apparatus for compiling source code object, and computer
WO2018125363A1 (en)*2016-12-292018-07-05Grammatech, Inc.Systems and/or methods for type inference from machine code
US10423397B2 (en)2016-12-292019-09-24Grammatech, Inc.Systems and/or methods for type inference from machine code
US10942718B2 (en)2016-12-292021-03-09Grammatech, IncSystems and/or methods for type inference from machine code

Also Published As

Publication numberPublication date
TWI416412B (en)2013-11-21
KR20060026896A (en)2006-03-24
WO2005006119A2 (en)2005-01-20
JP4794437B2 (en)2011-10-19
WO2005006119A3 (en)2005-12-29
TW200508973A (en)2005-03-01
US20040268328A1 (en)2004-12-30
US7086041B2 (en)2006-08-01
KR101086082B1 (en)2011-11-25
EP1639461A4 (en)2010-12-22
JP2007521567A (en)2007-08-02
CN100474252C (en)2009-04-01
EP1639461A2 (en)2006-03-29
CN1875345A (en)2006-12-06

Similar Documents

PublicationPublication DateTitle
US7086041B2 (en)Extensible type system for representing and checking consistency of program components during the process of compilation
US7685581B2 (en)Type system for representing and checking consistency of heterogeneous program components during the process of compilation
US7707566B2 (en)Software development infrastructure
US7380242B2 (en)Compiler and software product for compiling intermediate language bytecodes into Java bytecodes
US8065668B2 (en)Unified data type system and method
US7788652B2 (en)Representing type information in a compiler and programming tools framework
US7757225B2 (en)Linktime recognition of alternative implementations of programmed functionality
US8458678B2 (en)Compiler supporting programs as data objects
US6901588B1 (en)Sharing components between programming languages by use of polymorphic proxy
US5418964A (en)System and method for parent class shadowing in a statically linked object hierarchy
US6286134B1 (en)Instruction selection in a multi-platform environment
US6738968B1 (en)Unified data type system and method
US20040268301A1 (en)Adding new compiler methods to an integrated development environment
US20060143597A1 (en)Method and a software product for adapting a .NET framework compliant reflection mechanism to a java environment
US6378003B1 (en)Method and system for deriving metaclasses in an object oriented system
AU2003204197A1 (en)System and method for defining and using subclasses declaratively within markup
Beevi et al.MetaJC++: A flexible and automatic program transformation technique using meta framework
Heidrich et al.The following paper was originally presented at the
Java et al.R/Cpp: Interface classes to simplify using R objects in C++ extensions
ToFictitious imperative language system
VykoukNative DLL Importer for C

Legal Events

DateCodeTitleDescription
STCBInformation on status: application discontinuation

Free format text:ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

ASAssignment

Owner name:MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001

Effective date:20141014


[8]ページ先頭

©2009-2025 Movatter.jp