Skip to content

Merging master into dev#91

Closed
MchKosticyn wants to merge 95 commits intoVSharp-team:devfrom
MchKosticyn:dev
Closed

Merging master into dev#91
MchKosticyn wants to merge 95 commits intoVSharp-team:devfrom
MchKosticyn:dev

Conversation

@MchKosticyn
Copy link
Copy Markdown
Member

No description provided.

dvvrd and others added 30 commits October 2, 2017 20:06
# Conflicts:
#	VSharp.Test/Tests/VSharp.CSharpUtils/Unix.gold
#	VSharp.Test/Tests/VSharp.CSharpUtils/Win32NT.gold
[Fix] the order of composition of statements has changed.
…irtualMethodTable

# Conflicts:
#	VSharp.SILI.Core/API.fs
#	VSharp.SILI.Core/API.fsi
# Conflicts:
#	VSharp.SILI.Core/Propositional.fs
#	VSharp.SILI/Terms.fs
#	VSharp.Utils/Collections.fs
#	VSharp.sln
Signed-off-by: Dmitry Mordvinov <dvvsrd@gmail.com>
…h closures.

Signed-off-by: Dmitry Mordvinov <dvvsrd@gmail.com>
Signed-off-by: Dmitry Mordvinov <dvvsrd@gmail.com>
…olver

Signed-off-by: Dmitry Mordvinov <dvvsrd@gmail.com>
Signed-off-by: Dmitry Mordvinov <dvvsrd@gmail.com>
Signed-off-by: Dmitry Mordvinov <dvvsrd@gmail.com>
Preliminary solver integration + improvements for compositionality
- while
- do {} while
- while (true)
MchKosticyn and others added 29 commits April 19, 2018 14:10
New string representation and string equality
- Term extended
- Constructor
- ToString
- TypeOf
Due to total NativeInt type cleaning after decompilation
It is a wrapper for pointer difference.
For example:
int* p, q;
long d = p - q;
// d will be Concrete(.., SymbolicPointerDifference([p], [q]))
// so `SPD(left, right)` belongs to `sum(left) - sum(right)`
Handling Unions, Errors and IndentedPtr's
Fold such examples:
int* p, q;
long d = p - q;
return q + d; // = p
Handling nontrivial addition expressions, such as:
r + (p - q) + (q - r) ~> p
Classic expression traversal:
- dispatch on operator type
- forward children to dispatch methods
int* p, q;
long d = p - q; // d ~ SymbolicPointerDifference([p], [q])
// The main purpose of SymbolicPointerDifference
- simple reduce: `q + (p - q)` ~> `p`
- "vector triangle": `z + (x - y) + (y - z)` ~> `x`
implicitly tracking fully qualified locations of instantiation targets.

Signed-off-by: Dmitry Mordvinov <dvvsrd@gmail.com>
There are still several open issues, see fresh TODOs.

Signed-off-by: Dmitry Mordvinov <dvvsrd@gmail.com>
@MchKosticyn MchKosticyn closed this Jun 2, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants