Tailored Source Code Transformations to Synthesize Computationally Diverse Program Variants
Benoit Baudry, Simon Allier, Martin Monperrus
Tailored Source Code Transformations to Synthesize Computationally - - PowerPoint PPT Presentation
Tailored Source Code Transformations to Synthesize Computationally Diverse Program Variants Benoit Baudry, Simon Allier, Martin Monperrus This talk is about the generation of very large quantities of sosie programs sosie programs 2 sosie
Benoit Baudry, Simon Allier, Martin Monperrus
2
3
4
5
6
7
8
9
10
11
12
13
14
l The test input data specifies the input domain l The assertions specify the level of abstraction
16
17
l We add/deleted/replace a given statement by another
l we pick code from the same program
l Four strategies
l random l wittgenstein: replace with variables that have the same name l reaction: replace with variables that have the same type l steroid: reaction + rename variables
19
20
don’t compile don’t pass all test cases sosies
21
A.foo() IndexedCollection.retainAll(Collection) AbstractCollectionDecorator.retainAll(Collection) AbstractCollectionDecorator.decorated()
IndexedCollection.reindex()
... sosie call
22
23
https://github.com/DIVERSIFY-project/sosies-generator http://diversify-project.eu/sosiefied-programs/
24
25
26
27
Nginx load balancer
http request
Internet
config 0 config 0 config 0 config 0 config 0 config 0
28
Nginx load balancer
http request
Internet
config 1 config 2 config 3 config 4 config 5 config 6
29
30
R1 (int) code (boolean) R2 (boolean) code (int)
31
32