Movatterモバイル変換


[0]ホーム

URL:


US20090133005A1 - Method for validation of binary code transformations - Google Patents

Method for validation of binary code transformations
Download PDF

Info

Publication number
US20090133005A1
US20090133005A1US12/206,578US20657808AUS2009133005A1US 20090133005 A1US20090133005 A1US 20090133005A1US 20657808 AUS20657808 AUS 20657808AUS 2009133005 A1US2009133005 A1US 2009133005A1
Authority
US
United States
Prior art keywords
program
sequence
control flow
linear function
invariant linear
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
US12/206,578
Inventor
Yaakov Yaari
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines CorpfiledCriticalInternational Business Machines Corp
Priority to US12/206,578priorityCriticalpatent/US20090133005A1/en
Publication of US20090133005A1publicationCriticalpatent/US20090133005A1/en
Abandonedlegal-statusCriticalCurrent

Links

Images

Classifications

Definitions

Landscapes

Abstract

A method of validating binary code transformation in one aspect includes analyzing original program and transform program. Control flow graphs are generated for both programs. The two graphs are traversed to create respective linear invariant representations. The linear representations are compared to identify incorrect transformations.

Description

Claims (1)

1. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method for validating binary code transformations, comprising:
analyzing binary code of an executable program to produce a sequence of basic units comprising smallest elements of the executable program that stay intact under every reordering;
generating control flow graph associated with the sequence of basic units;
generating invariant linear fiction representation based on the control flow graph;
analyzing optimized transformation of the executable program to produce a second sequence of basic units;
generating second control flow graph associated with the second sequence of basic units;
generating second invariant linear function representation based on the second control flow graph;
comparing the invariant linear function representation and the second invariant linear function representation; and
identifying one or more incorrect transformations in the optimized transformation,
wherein the invariant linear function representation and the second invariant linear function representation are invariants under a set of predefined optimization transformation and include a sequence of strips comprising a path through a trace of non-branch instructions executing sequentially when the executable program runs.
US12/206,5782007-11-152008-09-08Method for validation of binary code transformationsAbandonedUS20090133005A1 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
US12/206,578US20090133005A1 (en)2007-11-152008-09-08Method for validation of binary code transformations

Applications Claiming Priority (2)

Application NumberPriority DateFiling DateTitle
US11/940,750US7430733B1 (en)2007-11-152007-11-15Method for validation of binary code transformations
US12/206,578US20090133005A1 (en)2007-11-152008-09-08Method for validation of binary code transformations

Related Parent Applications (1)

Application NumberTitlePriority DateFiling Date
US11/940,750ContinuationUS7430733B1 (en)2007-11-152007-11-15Method for validation of binary code transformations

Publications (1)

Publication NumberPublication Date
US20090133005A1true US20090133005A1 (en)2009-05-21

Family

ID=39776574

Family Applications (2)

Application NumberTitlePriority DateFiling Date
US11/940,750Expired - Fee RelatedUS7430733B1 (en)2007-11-152007-11-15Method for validation of binary code transformations
US12/206,578AbandonedUS20090133005A1 (en)2007-11-152008-09-08Method for validation of binary code transformations

Family Applications Before (1)

Application NumberTitlePriority DateFiling Date
US11/940,750Expired - Fee RelatedUS7430733B1 (en)2007-11-152007-11-15Method for validation of binary code transformations

Country Status (1)

CountryLink
US (2)US7430733B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20150143342A1 (en)*2013-11-152015-05-21Microsoft CorporationFunctional validation of software

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US8429623B2 (en)*2007-01-162013-04-23Oracle America Inc.Processing engine for enabling a set of code intended for a first platform to be executed on a second platform
US8954546B2 (en)2013-01-252015-02-10Concurix CorporationTracing with a workload distributor
US8924941B2 (en)2013-02-122014-12-30Concurix CorporationOptimization analysis using similar frequencies
US20130283281A1 (en)2013-02-122013-10-24Concurix CorporationDeploying Trace Objectives using Cost Analyses
US8997063B2 (en)2013-02-122015-03-31Concurix CorporationPeriodicity optimization in an automated tracing system
US20130219372A1 (en)*2013-03-152013-08-22Concurix CorporationRuntime Settings Derived from Relationships Identified in Tracer Data
US9575874B2 (en)2013-04-202017-02-21Microsoft Technology Licensing, LlcError list and bug report analysis for configuring an application tracer
US9292415B2 (en)2013-09-042016-03-22Microsoft Technology Licensing, LlcModule specific tracing in a shared module environment
WO2015071778A1 (en)2013-11-132015-05-21Concurix CorporationApplication execution path tracing with configurable origin definition
US10037366B2 (en)2014-02-072018-07-31Microsoft Technology Licensing, LlcEnd to end validation of data transformation accuracy
US11307962B2 (en)*2018-07-092022-04-19United States Of America As Represented By The Secretary Of The NavyMethod for semantic preserving transform mutation discovery and vetting
US11844738B2 (en)2018-08-172023-12-19Troy BruesewitzTherapy device for neck and spine
US10922218B2 (en)*2019-03-252021-02-16Aurora Labs Ltd.Identifying software interdependencies using line-of-code behavior and relation models
CN114461198B (en)*2021-12-272024-05-28上海交通大学四川研究院Program generation method, device, equipment and medium based on visual low code

Citations (27)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5371747A (en)*1992-06-051994-12-06Convex Computer CorporationDebugger program which includes correlation of computer program source code with optimized object code
US5450575A (en)*1991-03-071995-09-12Digital Equipment CorporationUse of stack depth to identify machine code mistakes
US5758051A (en)*1996-07-301998-05-26International Business Machines CorporationMethod and apparatus for reordering memory operations in a processor
US5790867A (en)*1996-01-021998-08-04International Business Machines CorporationCompiler with extended redundant copy elimination
US5802373A (en)*1996-01-291998-09-01Digital Equipment CorporationMethod for providing a pipeline interpreter for a variable length instruction set
US5889999A (en)*1996-05-151999-03-30Motorola, Inc.Method and apparatus for sequencing computer instruction execution in a data processing system
US5966539A (en)*1994-03-011999-10-12Digital Equipment CorporationLink time optimization with translation to intermediate program and following optimization techniques including program analysis code motion live variable set generation order analysis, dead code elimination and load invariant analysis
US5966541A (en)*1997-12-041999-10-12Incert Software CorporationTest protection, and repair through binary-code augmentation
US6035123A (en)*1995-11-082000-03-07Digital Equipment CorporationDetermining hardware complexity of software operations
US6075942A (en)*1998-05-042000-06-13Sun Microsystems, Inc.Encoding machine-specific optimization in generic byte code by using local variables as pseudo-registers
US6226789B1 (en)*1996-01-292001-05-01Compaq Computer CorporationMethod and apparatus for data flow analysis
US6275981B1 (en)*1998-11-122001-08-14Hewlett-Packard CompanyMethod and system for correlating profile data dynamically generated from an optimized executable program with source code statements
US6289505B1 (en)*1997-11-182001-09-11Sun Microsystems, Inc.Method, apparatus and computer programmed product for binary re-optimization using a high level language compiler
US6292938B1 (en)*1998-12-022001-09-18International Business Machines CorporationRetargeting optimized code by matching tree patterns in directed acyclic graphs
US6530079B1 (en)*1999-06-022003-03-04International Business Machines CorporationMethod for optimizing locks in computer programs
US6598221B1 (en)*2000-04-132003-07-22Koninklijke Philips Electronics N.V.Assembly code performance evaluation apparatus and method
US20040098710A1 (en)*2002-11-142004-05-20Jim RadiganSystems and methods to read, optimize, and verify byte codes for a multiplatform jit
US6748584B1 (en)*1999-12-292004-06-08Veritas Operating CorporationMethod for determining the degree to which changed code has been exercised
US20040128659A1 (en)*2002-12-312004-07-01Intel CorporationRun-time behavior preserving partial redundancy elimination
US6829733B2 (en)*2001-05-072004-12-07National Instruments CorporationSystem and method for graphically detecting differences between test executive sequence files
US20050257202A1 (en)*2004-05-142005-11-17Daniel KaestnerData-flow based post pass optimization in dynamic compilers
US20050268293A1 (en)*2004-05-252005-12-01International Business Machines CorporationCompiler optimization
US20060080645A1 (en)*2000-01-142006-04-13Miguel MirandaSystem and method for optimizing source code
US20060130016A1 (en)*2003-03-172006-06-15Wagner John RMethod of kernal-mode instruction interception and apparatus therefor
US20060282807A1 (en)*2005-06-032006-12-14Nec Laboratories America, Inc.Software verification
US7185328B2 (en)*2002-05-302007-02-27Microsoft CorporationSystem and method for improving a working set
US7207038B2 (en)*2003-08-292007-04-17Nokia CorporationConstructing control flows graphs of binary executable programs at post-link time

Patent Citations (27)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5450575A (en)*1991-03-071995-09-12Digital Equipment CorporationUse of stack depth to identify machine code mistakes
US5371747A (en)*1992-06-051994-12-06Convex Computer CorporationDebugger program which includes correlation of computer program source code with optimized object code
US5966539A (en)*1994-03-011999-10-12Digital Equipment CorporationLink time optimization with translation to intermediate program and following optimization techniques including program analysis code motion live variable set generation order analysis, dead code elimination and load invariant analysis
US6035123A (en)*1995-11-082000-03-07Digital Equipment CorporationDetermining hardware complexity of software operations
US5790867A (en)*1996-01-021998-08-04International Business Machines CorporationCompiler with extended redundant copy elimination
US6226789B1 (en)*1996-01-292001-05-01Compaq Computer CorporationMethod and apparatus for data flow analysis
US5802373A (en)*1996-01-291998-09-01Digital Equipment CorporationMethod for providing a pipeline interpreter for a variable length instruction set
US5889999A (en)*1996-05-151999-03-30Motorola, Inc.Method and apparatus for sequencing computer instruction execution in a data processing system
US5758051A (en)*1996-07-301998-05-26International Business Machines CorporationMethod and apparatus for reordering memory operations in a processor
US6289505B1 (en)*1997-11-182001-09-11Sun Microsystems, Inc.Method, apparatus and computer programmed product for binary re-optimization using a high level language compiler
US5966541A (en)*1997-12-041999-10-12Incert Software CorporationTest protection, and repair through binary-code augmentation
US6075942A (en)*1998-05-042000-06-13Sun Microsystems, Inc.Encoding machine-specific optimization in generic byte code by using local variables as pseudo-registers
US6275981B1 (en)*1998-11-122001-08-14Hewlett-Packard CompanyMethod and system for correlating profile data dynamically generated from an optimized executable program with source code statements
US6292938B1 (en)*1998-12-022001-09-18International Business Machines CorporationRetargeting optimized code by matching tree patterns in directed acyclic graphs
US6530079B1 (en)*1999-06-022003-03-04International Business Machines CorporationMethod for optimizing locks in computer programs
US6748584B1 (en)*1999-12-292004-06-08Veritas Operating CorporationMethod for determining the degree to which changed code has been exercised
US20060080645A1 (en)*2000-01-142006-04-13Miguel MirandaSystem and method for optimizing source code
US6598221B1 (en)*2000-04-132003-07-22Koninklijke Philips Electronics N.V.Assembly code performance evaluation apparatus and method
US6829733B2 (en)*2001-05-072004-12-07National Instruments CorporationSystem and method for graphically detecting differences between test executive sequence files
US7185328B2 (en)*2002-05-302007-02-27Microsoft CorporationSystem and method for improving a working set
US20040098710A1 (en)*2002-11-142004-05-20Jim RadiganSystems and methods to read, optimize, and verify byte codes for a multiplatform jit
US20040128659A1 (en)*2002-12-312004-07-01Intel CorporationRun-time behavior preserving partial redundancy elimination
US20060130016A1 (en)*2003-03-172006-06-15Wagner John RMethod of kernal-mode instruction interception and apparatus therefor
US7207038B2 (en)*2003-08-292007-04-17Nokia CorporationConstructing control flows graphs of binary executable programs at post-link time
US20050257202A1 (en)*2004-05-142005-11-17Daniel KaestnerData-flow based post pass optimization in dynamic compilers
US20050268293A1 (en)*2004-05-252005-12-01International Business Machines CorporationCompiler optimization
US20060282807A1 (en)*2005-06-032006-12-14Nec Laboratories America, Inc.Software verification

Cited By (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20150143342A1 (en)*2013-11-152015-05-21Microsoft CorporationFunctional validation of software

Also Published As

Publication numberPublication date
US7430733B1 (en)2008-09-30

Similar Documents

PublicationPublication DateTitle
US7430733B1 (en)Method for validation of binary code transformations
US9032379B2 (en)Platform specific optimizations in static compilers
Kong et al.When polyhedral transformations meet SIMD code generation
Pop et al.GRAPHITE: Polyhedral analyses and optimizations for GCC
Laguna et al.Gpumixer: Performance-driven floating-point tuning for gpu scientific applications
Porpodas et al.Throttling automatic vectorization: When less is more
Zhang et al.Using hammock graphs to structure programs
US8387026B1 (en)Compile-time feedback-directed optimizations using estimated edge profiles from hardware-event sampling
US8191057B2 (en)Systems, methods, and computer products for compiler support for aggressive safe load speculation
US20060048122A1 (en)Method, system and computer program product for hierarchical loop optimization of machine executable code
Buchwald et al.Synthesizing an instruction selection rule library from semantic specifications
Ebner et al.Generalized instruction selection using SSA-graphs
US8037464B2 (en)Generating optimized SIMD code in the presence of data dependences
Shashidhar et al.Functional equivalence checking for verification of algebraic transformations on array-intensive source code
US9201636B2 (en)Method for divergence analysis of pointer-based program
GossMachine code optimization-improving executable object code
Sharma et al.Sound bit-precise numerical domains
CN104951290A (en)Method and equipment for optimizing software
US20140344795A1 (en)Computer-readable recording medium, compiling method, and information processing apparatus
Atre et al.Dissecting sequential programs for parallelization—An approach based on computational units
Brandner et al.Automatic generation of compiler backends
Vinkhuijzen et al.Symbolic model checking with sentential decision diagrams
Porpodas et al.PostSLP: Cross-Region Vectorization of Fully or Partially Vectorized Code
Baumstark et al.Exposing data-level parallelism in sequential image processing algorithms
Zaks et al.Program analysis for compiler validation

Legal Events

DateCodeTitleDescription
STCBInformation on status: application discontinuation

Free format text:ABANDONED -- FAILURE TO PAY ISSUE FEE


[8]ページ先頭

©2009-2025 Movatter.jp