@@ -22,11 +22,32 @@ import org.jacodb.analysis.ifds.UnitResolver
22
22
import org.jacodb.analysis.taint.ForwardTaintFlowFunctions
23
23
import org.jacodb.analysis.taint.TaintManager
24
24
import org.jacodb.analysis.util.PandaTraits
25
- import org.jacodb.panda.dynamic.api.*
25
+ import org.jacodb.panda.dynamic.api.PandaAnyType
26
+ import org.jacodb.panda.dynamic.api.PandaApplicationGraphImpl
27
+ import org.jacodb.panda.dynamic.api.PandaBasicBlock
28
+ import org.jacodb.panda.dynamic.api.PandaClass
29
+ import org.jacodb.panda.dynamic.api.PandaInst
30
+ import org.jacodb.panda.dynamic.api.PandaInstLocation
31
+ import org.jacodb.panda.dynamic.api.PandaInstRef
32
+ import org.jacodb.panda.dynamic.api.PandaMethod
33
+ import org.jacodb.panda.dynamic.api.PandaNullConstant
34
+ import org.jacodb.panda.dynamic.api.PandaProject
35
+ import org.jacodb.panda.dynamic.api.PandaReturnInst
26
36
import org.jacodb.panda.dynamic.parser.IRParser
27
- import org.jacodb.taint.configuration.*
28
- import kotlin.test.Test
29
- import kotlin.test.assertTrue
37
+ import org.jacodb.taint.configuration.Argument
38
+ import org.jacodb.taint.configuration.AssignMark
39
+ import org.jacodb.taint.configuration.ConstantTrue
40
+ import org.jacodb.taint.configuration.ContainsMark
41
+ import org.jacodb.taint.configuration.CopyAllMarks
42
+ import org.jacodb.taint.configuration.RemoveMark
43
+ import org.jacodb.taint.configuration.Result
44
+ import org.jacodb.taint.configuration.TaintConfigurationItem
45
+ import org.jacodb.taint.configuration.TaintMark
46
+ import org.jacodb.taint.configuration.TaintMethodSink
47
+ import org.jacodb.taint.configuration.TaintMethodSource
48
+ import org.jacodb.taint.configuration.TaintPassThrough
49
+ import org.junit.jupiter.api.Assertions.assertTrue
50
+ import org.junit.jupiter.api.Test
30
51
31
52
private val logger = mu.KotlinLogging .logger {}
32
53
@@ -61,8 +82,7 @@ class IfdsPandaTest {
61
82
)
62
83
if (method.name == " log" ) add(
63
84
TaintMethodSink (
64
- method = mockk(),
65
- ruleNote = " CUSTOM SINK" , // FIXME
85
+ method = mockk(), ruleNote = " CUSTOM SINK" , // FIXME
66
86
cwe = listOf (), // FIXME
67
87
condition = ContainsMark (position = Argument (0 ), mark = TaintMark (" TAINT" ))
68
88
)
@@ -105,8 +125,7 @@ class IfdsPandaTest {
105
125
)
106
126
if (method.name == " sink" ) add(
107
127
TaintMethodSink (
108
- method = mockk(),
109
- ruleNote = " SINK" , // FIXME
128
+ method = mockk(), ruleNote = " SINK" , // FIXME
110
129
cwe = listOf (), // FIXME
111
130
condition = ContainsMark (position = Argument (0 ), mark = TaintMark (" TAINT" ))
112
131
)
@@ -158,34 +177,31 @@ class IfdsPandaTest {
158
177
PandaClass (
159
178
name = " Sample" ,
160
179
superClassName = " std.core.Object" ,
161
- methods = listOf (
162
- PandaMethod (name = " source" ).also {
163
- it.blocks = listOf (
164
- PandaBasicBlock (
165
- id = 0 ,
166
- successors = setOf (1 ),
167
- predecessors = emptySet(),
168
- start = PandaInstRef (0 ),
169
- end = PandaInstRef (1 )
170
- ),
171
- PandaBasicBlock (
172
- id = 1 ,
173
- successors = setOf (),
174
- predecessors = setOf (0 ),
175
- start = PandaInstRef (0 ),
176
- end = PandaInstRef (1 )
177
- )
180
+ methods = listOf (PandaMethod (name = " source" ).also {
181
+ it.blocks = listOf (
182
+ PandaBasicBlock (
183
+ id = 0 ,
184
+ successors = setOf (1 ),
185
+ predecessors = emptySet(),
186
+ start = PandaInstRef (0 ),
187
+ end = PandaInstRef (1 )
188
+ ), PandaBasicBlock (
189
+ id = 1 ,
190
+ successors = setOf (),
191
+ predecessors = setOf (0 ),
192
+ start = PandaInstRef (0 ),
193
+ end = PandaInstRef (1 )
178
194
)
179
- it.instructions = listOf (
180
- PandaReturnInst (
181
- location = PandaInstLocation (method = it, index = 0 , lineNumber = 3 ),
182
- returnValue = PandaNullConstant
183
- )
195
+ )
196
+ it.instructions = listOf (
197
+ PandaReturnInst (
198
+ location = PandaInstLocation (method = it, index = 0 , lineNumber = 3 ),
199
+ returnValue = PandaNullConstant
184
200
)
185
- it.className = " Sample "
186
- it.type = PandaAnyType
187
- }
188
- )
201
+ )
202
+ it.className = " Sample "
203
+ it.type = PandaAnyType
204
+ } )
189
205
)
190
206
)
191
207
)
0 commit comments