CN105589728B - A kind of instruction idiom recognition methods based on subgraph semanteme isomorphism - Google Patents
A kind of instruction idiom recognition methods based on subgraph semanteme isomorphism Download PDFInfo
- Publication number
- CN105589728B CN105589728B CN201510945710.6A CN201510945710A CN105589728B CN 105589728 B CN105589728 B CN 105589728B CN 201510945710 A CN201510945710 A CN 201510945710A CN 105589728 B CN105589728 B CN 105589728B
- Authority
- CN
- China
- Prior art keywords
- instruction
- idiom
- subgraph
- basic block
- graph
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/53—Decompilation; Disassembly
Abstract
The invention discloses the analysis methods that idiom is instructed in a kind of conversed analysis, by carrying out data-flow analysis to the assembly instruction sequence flows in a basic block, the data dependence graph of relationship construction instruction sequence stream is used according to definition-, then each connection subgraph in data dependence graph subgraph semanteme isomorphism is carried out with the template in template library to match, it was found that semantic isomorphism subgraph, and by isomorphism subgraph carry out specification abatement, analyze subgraph abstract operation and corresponding operand.The invention can effectively improve the level of abstraction of intermediate code in conversed analysis, improve code analysis efficiency.
Description
Technical field
The invention belongs to inverse compiling technique fields, and in particular to a kind of instruction idiom identification side based on subgraph semanteme isomorphism
Method.
Background technique
With scientific and technological progress, major part software is supplied to user using high level language in the form of machine code at present, and
Machine code is readable poor, and people need to translate into machine code program into understandable high-level language programs, and reaching has video card
The purpose of software analysis, understanding and maintenance.Inverse compiling technique is also known as reverse technique of compiling, refers to executable file becoming high
The process of grade language source code, the tool that decompiling is analyzed and understood as a kind of software have been widely used program at present
The various aspects such as understanding, program debugging, source code recovery.The process of decompiling generally includes: object language code → dis-assembling
→ language and compiler version identification → library function or class libraries identification → pretreatment → intermediate language → data-flow analysis, control stream
Analysis → translater → high-level language.Currently, mainstream decompiling software includes Hex-Rays, Retargetable
Decompiler, SecondWrite etc., their basic fundamental are that corresponding subsequence is searched in assembly instruction sequence flows,
Code schedule of this method by the compiling optimizing phase, the influence of the factors such as code optimization can not detect journey completely
Instruction idiom in sequence.And the instruction idiom detection method based on subgraph semanteme isomorphism can be detected effectively in program because referring to
The instruction idiom for enabling scheduling and being hidden, and then effectively improve the level of abstraction of code.
Summary of the invention
The object of the present invention is to provide a kind of instruction idiom recognition methods based on subgraph semanteme isomorphism, detect in program
The instruction idiom being hidden because instructing scheduling, improves the level of abstraction of code.
The technical scheme adopted by the invention is that a kind of instruction idiom recognition methods based on subgraph semanteme isomorphism, including
Following steps:
Step 1: according to the developing algorithm of assembler controlling stream graph, the assembly instruction controlling stream graph of building process body;
Step 2: carrying out the analysis of instruction idiom on the resulting assembly instruction controlling stream graph of step 1, pass through Frequent episodes
Mining algorithm analyzes instruction sequence stream corresponding to different instruction idioms, by all instruction idioms and instruction sequence stream structure
At data dependence graph;
Step 3: in the database, building instructs idiom database to the data dependence graph key-value pair storage in step 2;
Step 4: each of traversal assembly instruction controlling stream graph basic block constructs the data dependence graph of basic block, will
Each of the data obtained dependency graph connected subgraph respectively with the instruction idiom in step 3 in institute's call instruction idiom database
Corresponding data dependence graph carries out the matching of subgraph semanteme isomorphism, and marks and be matched in the data dependence graph of basic block
Assembly instruction control stream subgraph and corresponding instruction idiom;
Step 5: according to data-flow analysis algorithm, analyzing the assembly instruction control stream subgraph entrance being matched in step 4
The live variables at place and exit control the parameter for flowing abstract operation representated by subgraph using live variables as the compilation
And return value;
Step 6: the assembly instruction control stream subgraph come out will be labeled in step 5 and cut down, the section being matched to is deleted
Point reconstructs the side collection in data dependence graph, and the identification of instruction idiom can be realized.
The features of the present invention also characterized in that
In step 2, the method for instruction sequence stream corresponding to instruction idiom is excavated specifically according to following using Frequent episodes
Step is implemented:
A) source program of the selection comprising instruction idiom to be excavated compiles source with the different optimization ranks of different compilers
Program obtains binary program set;
B) disassemblers dis-assembling binary program set is utilized, assembler set is obtained;
C) assembler controlling stream graph developing algorithm is utilized, the controlling stream graph of assembler is constructed;For based on control stream
The assembler of figure is assembler as Customs Assigned Number using basic block, numbers by affairs of basic block and to instruct as thing
Service type;Using b) to database c) established as the input of Frequent episodes algorithm, find out corresponding to any instruction idiom
Instruction sequence stream.
In step 2, assembler controlling stream graph developing algorithm is specifically implemented according to the following steps:
A) the empty non-access address chained list of building, and with the non-access address chained list of function entrance address initialization;
B) header element of non-access address chained list is taken, if the instruction at the address is already contained in assembly instruction control stream
In some basic block in figure, then need basic block of the division comprising the address and rebuild to jump pass between basic block
System;Otherwise, the continuous instruction fetch since the memory the address, until encountering jump instruction or procedure epilogue;To get
Instruction set be content, instantiate current basic block;It meanwhile being the instruction of the jump address of current basic block and successor address
Sequence construct basic block, and be added in assembly instruction controlling stream graph;Finally, setting current basic block and jump basic block and
Current basic block and successor basic blocks jump relationship;
C) jump address of branch's basic block in b) and subsequent address are added in non-access address chained list;
D) it repeats and b) arrives c), until non-access address chained list is sky.
In step 3, instruct idiom database building the following steps are included:
A) all instruction idioms to be excavated are directed to, construction includes the source program of command adapted thereto idiom, with different compilers
Different Optimization rank compile source program, using Frequent episodes algorithm excavate comprising different instruction idiom source program in it is frequent
Sequence, using these Frequent episodes as the instruction sequence stream of command adapted thereto idiom;
B) the instruction sequence stream of idiom and corresponding instruction idiom will be instructed as element, relationship structure is used by definition-
The data dependence graph G=(V, E) of the instruction sequence stream is built, wherein vertex V is the instruction in basic block, and side collection E is by definition-use
Relationship determines, if register or memory that instruction I has used instruction J to define, construction one directed edge<I, J>;
C) it to instruct idiom and corresponding data dependence graph as element, inserts it into instruction idiom database.
D) step a) is repeated to process c), meets expected instruction idiom database until constructing.
Step 4 is specifically implemented according to the following steps:
A) it treats each of the assembly instruction controlling stream graph of matching process body basic block and carries out data-flow analysis, and
The data dependence graph of each basic block is established using relationship according to definition-;
B) by the instruction idiom in the connected subgraph and instruction idiom database in the data dependence graph in each basic block
Corresponding data dependence graph carries out the matching of subgraph semanteme isomorphism, and mark in the data dependence graph of basic block Matching sub-image with
And corresponding instruction idiom.
In step 5, the determination of parameter and return value the following steps are included:
A) data-flow analysis is carried out as unit of the basic block of assembly instruction controlling stream graph, calculates the assembly instruction being matched
The live variables of control stream subgraph inlet and exit;
B) parameter of the live variables for the instruction idiom inlet that will match to as the instruction idiom, with the finger being matched to
Enable the live variables in idiom exit as the return value of the instruction idiom.
In step 6, reconstruct the side collection of data dependence graph the following steps are included:
A) boundary that instruction idiom is matched in data dependence graph is determined;
B) subgraph being matched is deleted.
The invention has the advantages that the general of intermediate expression can be improved in detection instruction idiom in the dis-assembling stage
Property;Instruction idiom analysis is carried out in the assembler based on controlling stream graph, can cut down the number and reduction of intermediate expression
The complexity of stream is controlled, and then can effectively simplify the analysis of follow-up data flow point and control flow analysis;It is instructed in basic block
Idiom detection makes the analysis of call instruction idiom have boundary, improves the accuracy of instruction idiom analysis;By in construction basic block
Instruction between data dependence graph, can effectively eliminate influence of the instruction scheduling for instruction sequences, improve instruction idiom
Accuracy of identification;Subgraph semanteme isomorphism algorithm can accurately match the instruction embedded in the data dependence graph of basic block and practise
Language.
Detailed description of the invention
Fig. 1 is a kind of work flow diagram of the instruction idiom recognition methods based on subgraph semanteme isomorphism of the present invention;
Fig. 2 is in x86 except the data dependence graph of 7 instruction idioms;
Fig. 3 is the schematic diagram of the method for the present invention neutron graphic language justice isomorphism matching process;
Specific embodiment
The following describes the present invention in detail with reference to the accompanying drawings and specific embodiments.
A kind of instruction idiom recognition methods based on subgraph semanteme isomorphism of the present invention, workflow is as shown in Figure 1, specifically press
Implement according to following steps:
Step 1: according to the developing algorithm of assembler controlling stream graph, the assembly instruction controlling stream graph of building process body;
Step 2: carrying out the analysis of instruction idiom on the resulting assembly instruction controlling stream graph of step 1, pass through Frequent episodes
Mining algorithm analyzes instruction sequence stream corresponding to different instruction idioms, by all instruction idioms and instruction sequence stream structure
At data dependence graph;
Specifically includes the following steps:
A) source program of the selection comprising instruction idiom to be excavated compiles source with the different optimization ranks of different compilers
Program obtains binary program set;
B) disassemblers dis-assembling binary program set is utilized, assembler set is obtained;
C) assembler controlling stream graph developing algorithm is utilized, the controlling stream graph of assembler is constructed.For based on control stream
The assembler of figure is assembler as Customs Assigned Number using basic block, numbers by affairs of basic block and to instruct as thing
Service type.Using b) to database c) established as the input of Frequent episodes algorithm, find out corresponding to any instruction idiom
Instruction sequence stream;
D) all instruction idioms and instruction sequence stream are constituted into data dependence graph.
The developing algorithm of data dependence graph is as follows:
Proc build_instruction_dependency_graph()
Input: assembly instruction sequence flows
Output: assembly instruction dependency graph
1. counting the definition of every instruction in instruction sequence stream and using set
2. for the instruction I of instruction sequence stream, the definition set Ix of acquisition instruction I
3. each definition Id in set Ix is traversed, in the instruction sequence made a definition a little since instructing I to Id
The use that Id is found in stream instructs Iy, and constructs one<Ix, Iy>directed edge.
End proc
In x86 except 7 instruction stream sequences it is as follows:
mov ecx,[esp+1Ch]
mov edx,92492493h
mov eax,ecx
imul edx
lea eax,[edx+ecx]
sar eax,2
sar ecx,1Fh
sub eax,ecx
The instruction sequence stream is the common method that most of compilers accelerate division calculation using hardware architecture,
In, digital 92492493h is the magic number that compiler is calculated according to specific formula, division arithmetic is converted into a series of
Shift operation and multiplication operation, overall calculation speed can be accelerated.
Fig. 2 is except the data dependence graph of 7 instruction idioms in x86, and instruction imul edx has used register edx, and instructs
Mov edx, 92492493h define edx, and from mov edx, 92492493h to imul edx, and edx is not redefined,
To construct one from mov edx, the side of 92492493h to imul edx.
Step 3: in the database, building instructs idiom database to the data dependence graph key-value pair storage in step 2;
Step 4: each of traversal assembly instruction controlling stream graph basic block constructs the data dependence graph of basic block, will
Each of the data obtained dependency graph connected subgraph respectively with the instruction idiom in step 3 in institute's call instruction idiom database
Corresponding data dependence graph carries out the matching of subgraph semanteme isomorphism, and the remittance being matched is marked in the data dependence graph of basic block
Compile instruction control flow subgraph and corresponding instruction idiom;
Subgraph semanteme isomorphism algorithm is as follows:
Fig. 3 is the matched process of subgraph semanteme isomorphism, wherein G in Fig. 3 (a)1=(V1,E1) subgraph semanteme is isomorphic to Fig. 3
(b) G in2=(V2,E2), and if only if there are G2A subgraph G3=(V3,E3), and there are bijective functions Φ: V1→
V3, two vertex Semantic mapping functions Ψ: V1→ L and Ψ ': V3→ L, so that for G1In any two vertex vi, vj∈V1,
And (vi,vj)∈E1And if only if (Φ (vi),Φ(vj))∈E3, Ψ (vi) and Ψ ' (Φ (vi)) semantic mutually compatible, Ψ (vj)
With Ψ ' (Φ (vj)) it is semantic mutually compatible, it is the matching of data dependence graph that the matching of figure is corresponding, and semantic matching is operation code
Matching, if the operator of two assembly instructions is identical, both it is semantic mutually compatible, it is otherwise incompatible.Target figure G1With
Prototype drawing G2Matching process in, as shown in Fig. 3 (c), when initial matching solution M be sky, state space SSR be S0, detect n1With m1
Whether match, SSR is by S0Become S1, semanteme mismatch, SSR is by S1Return to S0;Detect n2With m1Whether match, SSR is by S0Become
S2, n2And m1Semanteme match, matching solution M become { (n2, m1) };In matching status S2, n2Each successor node and m1
Each successor node matched, when SSR attempts from S2Expand to S3When, although n3And m3Degree it is equal, but due to
n3And m3Semanteme mismatches, so matching status is by S3Back to S2;Then SSR is from S2Expand to S4, due to n4And m3Degree phase
Deng, and n4And m3Semanteme match, matching solution M become { (n2,m1),(n4,m3)};When SSR is from S4When continuing extension, due to n4
And m3All without successor node, and matches solution M and be both not covered with G1Also it is not covered with G2, it fails to match, and SSR is from S4Back to S2;
When SSR is from S2Expand to S5When, n4With m2It is semantic mismatch, extension failure, SSR is by S5Back to S2;n3With m2Match, two
Person's degree it is equal and it is semantic match, SSR is from S2Expand to S6, match solution M and become { (n2,m1),(n3,m2)};In state S6,
n3Each successor node and m2Each successor node match, node n3There is unique successor node n4, node m2Have
Unique successor node m3, n4With m3Semanteme match, SSR is by S6Expand to S7, match solution M and become { (n2,m1),(n3,m2),
(n4,m3), at this point, n4And m3Without subsequent, and M has completely covered G2, therefore primary matching is completed, and have found matching
Solve M={ (n2,m1),(n3,m2),(n4,m3), i.e. G1In n2With G2In m1Match, G1In n3With G2In m2Phase
Match, G1In n4With G2In m3Match.
Step 5: according to data-flow analysis algorithm, analyzing the assembly instruction control stream subgraph entrance being matched in step 4
The live variables at place and exit control using live variables as the compilation and flow the parameter of abstract operation representated by subgraph and return
Return value;
Step 6: the assembly instruction control stream subgraph come out will be labeled in step 5 and cut down, the section being matched to is deleted
Point reconstructs the side collection in data dependence graph, since the compilation control stream subgraph being matched is exactly corresponding instruction idiom, so
The identification of instruction idiom can be realized by cutting down corresponding side collection.
Specifically includes the following steps:
A) boundary that instruction idiom is matched in data dependence graph is determined;
B) subgraph being matched is deleted.
Claims (6)
1. a kind of instruction idiom recognition methods based on subgraph semanteme isomorphism, which comprises the following steps:
Step 1: according to the developing algorithm of assembler controlling stream graph, the assembly instruction controlling stream graph of building process body;
Step 2: carrying out the analysis of instruction idiom on the resulting assembly instruction controlling stream graph of step 1, excavated by Frequent episodes
Algorithm analyzes instruction sequence stream corresponding to different instruction idioms, and all instruction idioms and instruction sequence stream are constituted number
According to dependency graph;
The assembler controlling stream graph developing algorithm is specifically implemented according to the following steps:
A) the empty non-access address chained list of building, and with the non-access address chained list of function entrance address initialization;
B) header element of non-access address chained list is taken, if the instruction at the vector address of header element instruction idiom is already contained in
In some basic block in assembly instruction controlling stream graph, then needs to divide the basic block comprising the address and rebuild basic block
Between jump relationship;Otherwise, the continuous instruction fetch since the memory the address, until encountering jump instruction or procedure epilogue
Until;The instruction set got, it is updated to the new content of current basic block;Meanwhile for current basic block jump address and
The instruction sequence of successor address constructs basic block, and is added in assembly instruction controlling stream graph;Finally, setting current basic block with
Jump basic block and current basic block and successor basic blocks jumps relationship;
C) jump address of the branch of current basic block and subsequent address in b) are added in non-access address chained list;
D) it repeats and b) arrives c), until non-access address chained list is sky;
Step 3: in the database by the data dependence graph key-value pair storage of the resulting instruction idiom of step 2 and instruction sequence stream,
Building instruction idiom database;
Step 4: each of traversal assembly instruction controlling stream graph basic block constructs the data dependence graph of basic block, by gained
Each of the data dependence graph of basic block connected subgraph respectively with the instruction in step 3 in institute's call instruction idiom database
The corresponding data dependence graph of idiom carries out the matching of subgraph semanteme isomorphism, and marks and be matched in the data dependence graph of basic block
Assembly instruction control stream subgraph and corresponding instruction idiom;
Step 5: according to data-flow analysis algorithm, analyze be matched in step 4 assembly instruction control stream subgraph inlet and
The live variables in exit control the parameter for flowing abstract operation representated by subgraph using live variables as the assembly instruction
And return value;
Step 6: the assembly instruction control stream subgraph come out will be labeled in step 4 and cut down, delete the node being matched to, weight
The identification of instruction idiom can be realized in side collection in the data dependence graph of structure basic block.
2. a kind of instruction idiom recognition methods based on subgraph semanteme isomorphism according to claim 1, which is characterized in that institute
State and analyze instruction sequence stream corresponding to different instruction idioms in step 2 by Frequent episodes mining algorithm, specifically according to
Following steps are implemented:
Step 2.1, source program of the selection comprising instruction idiom to be excavated, is compiled with the different optimization ranks of different compilers
Source program obtains binary program set;
Step 2.2, using disassemblers dis-assembling binary program set, assembler set is obtained;
Step 2.3, using assembler controlling stream graph developing algorithm, the controlling stream graph of assembler is constructed;For based on control
The assembler of flow graph is assembler as Customs Assigned Number using basic block, is numbered by affairs of basic block and to instruct as thing
Service type;Using described instruction idiom database as the input of Frequent episodes mining algorithm, find out corresponding to any instruction idiom
Instruction sequence stream.
3. a kind of instruction idiom recognition methods based on subgraph semanteme isomorphism according to claim 1, which is characterized in that institute
Building instruction idiom database in step 3 is stated to be specifically implemented according to the following steps:
Step 3.1, for all instruction idioms to be excavated, construction includes the source program of command adapted thereto idiom, with different compilings
The Different Optimization rank of device compiles source program, is excavated in the source program comprising different instruction idiom using Frequent episodes mining algorithm
Frequent episodes, using the Frequent episodes in the source program comprising different instruction idiom as the instruction sequence of command adapted thereto idiom
Stream;
Step 3.2, the instruction sequence stream of idiom and corresponding instruction idiom will be instructed as element, relationship is used by definition-
The data dependence graph G=(V, E) of the instruction sequence stream is constructed, wherein vertex V is the instruction in basic block, and side collection E is by defining-making
Determined with relationship, the definition-is data dependence relation using relationship, if instruction I used the register that defines of instruction J or
Memory, then construct a directed edge<I, J>;
Step 3.3, it to instruct idiom and corresponding data dependence graph as element, inserts it into instruction idiom database;
Step 3.4, the process of step .3.1 to 3.3 is repeated, until constructing instruction idiom database D B.
4. a kind of instruction idiom recognition methods based on subgraph semanteme isomorphism according to claim 1, which is characterized in that institute
Step 4 is stated to be specifically implemented according to the following steps:
A) treat each of the assembly instruction controlling stream graph of matching process body basic block carry out data-flow analysis, and according to
The data dependence graph of each basic block is established in definition-using relationship;
B) connected subgraph in the data dependence graph in each basic block is corresponding with the instruction idiom in instruction idiom database
Dependency graph carry out the matching of subgraph semanteme isomorphism, and mark in data dependence graph Matching sub-image and corresponding instruction habit
Language.
5. a kind of instruction idiom recognition methods based on subgraph semanteme isomorphism according to claim 1, which is characterized in that institute
Parameter and return value in step 5 is stated to obtain as steps described below:
A) data-flow analysis is carried out as unit of the basic block of assembly instruction controlling stream graph, calculates the assembly instruction control being matched
Flow the live variables of subgraph inlet and exit;
B) parameter of the live variables for the instruction idiom inlet that will match to as the instruction idiom, is practised with the instruction being matched to
Return value of the live variables in language exit as the instruction idiom.
6. a kind of instruction idiom recognition methods based on subgraph semanteme isomorphism according to claim 1, which is characterized in that institute
The side collection for stating reconstruct data dependence graph in step 6 is specifically implemented according to the following steps:
A) the side collection that instruction idiom is matched in data dependence graph is determined;
B) subgraph being matched is deleted.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510945710.6A CN105589728B (en) | 2015-12-16 | 2015-12-16 | A kind of instruction idiom recognition methods based on subgraph semanteme isomorphism |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510945710.6A CN105589728B (en) | 2015-12-16 | 2015-12-16 | A kind of instruction idiom recognition methods based on subgraph semanteme isomorphism |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105589728A CN105589728A (en) | 2016-05-18 |
CN105589728B true CN105589728B (en) | 2019-03-29 |
Family
ID=55929334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510945710.6A Active CN105589728B (en) | 2015-12-16 | 2015-12-16 | A kind of instruction idiom recognition methods based on subgraph semanteme isomorphism |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105589728B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977233B (en) * | 2019-03-15 | 2021-02-23 | 北京金山数字娱乐科技有限公司 | Idiom knowledge graph construction method and device |
CN115185526B (en) * | 2022-05-27 | 2023-10-10 | 韩济澎 | Compiling system and method for programming language capable of reverse reasoning |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271397A (en) * | 2007-03-23 | 2008-09-24 | 北京大学 | Recognition method of nested loop structure |
CN104915211A (en) * | 2015-06-18 | 2015-09-16 | 西安交通大学 | Intrinsic function recognition method based on sub-graph isomorphism matching algorithm in decompilation |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9483295B2 (en) * | 2014-03-31 | 2016-11-01 | International Business Machines Corporation | Transparent dynamic code optimization |
-
2015
- 2015-12-16 CN CN201510945710.6A patent/CN105589728B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271397A (en) * | 2007-03-23 | 2008-09-24 | 北京大学 | Recognition method of nested loop structure |
CN104915211A (en) * | 2015-06-18 | 2015-09-16 | 西安交通大学 | Intrinsic function recognition method based on sub-graph isomorphism matching algorithm in decompilation |
Also Published As
Publication number | Publication date |
---|---|
CN105589728A (en) | 2016-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kong et al. | When polyhedral transformations meet SIMD code generation | |
CN104915211B (en) | Intrinsic function recognition methods based on Subgraph Isomorphism matching algorithm in decompiling | |
CN103577241B (en) | compiling system and compiling method | |
CN104794401B (en) | A kind of semiology analysis leak detection method of static analysis auxiliary | |
Porpodas et al. | PSLP: Padded SLP automatic vectorization | |
Puschner et al. | Compiling for time predictability | |
Tripp et al. | Sea cucumber: A synthesizing compiler for fpgas | |
CN100559347C (en) | A kind of recognition methods of nested loop structure | |
Cullmann et al. | Data-flow based detection of loop bounds | |
CN105589728B (en) | A kind of instruction idiom recognition methods based on subgraph semanteme isomorphism | |
Sharygin et al. | Runtime specialization of PostgreSQL query executor | |
Shypula et al. | Learning to superoptimize real-world programs | |
Bispo et al. | On identifying and optimizing instruction sequences for dynamic compilation | |
Wilhelm | Computation and use of data flow information in optimizing compilers | |
Puschner | A tool for high-level language analysis of worst-case execution times | |
Wang et al. | A platform-specific code smell alert system for high performance computing applications | |
Siek et al. | A formal design of a tool for static analysis of upper bounds on object calls in Java | |
Ge et al. | RollBin: reducing code-size via loop rerolling at binary level | |
Dukhan | PeachPy: A python framework for developing high-performance assembly kernels | |
Escalada et al. | An adaptable infrastructure to generate training datasets for decompilation issues | |
SEEDORF | FINGERPRINT VERIFICATION ON THE VEX PROCESSOR. | |
Novack et al. | A hierarchical approach to instruction-level parallelization | |
Arató et al. | A data flow graph generation method starting from C description by handling loop nest hierarchy | |
Gómez | Obtaining High-Level Semantic Information from Binary Code | |
Posadas et al. | Accelerating host-compiled simulation by modifying ir code: Industrial application in the spatial domain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200922 Address after: No. 1-2428, East (LIANHANG building), chaichangtun village, Yongledian Town, Tongzhou District, Beijing Patentee after: Hongyi vision (Beijing) Technology Co., Ltd Address before: 710065 No. six, No. 1, science and technology, Shaanxi, Xi'an Patentee before: XI'AN UNVERSITY OF ARTS AND SCIENCE |
|
TR01 | Transfer of patent right |