Skip to content

Latest commit

 

History

History
36 lines (33 loc) · 1.38 KB

File metadata and controls

36 lines (33 loc) · 1.38 KB

BenchmarkJava-mutated

Description

The BenchmarkJava-mutated project covers the features of Java language from the list below using the selective fuzzing approach to differentiate SAST tools' functional quality.

  • Conditionals:
    • if, else, switch
  • Loops:
    • while, for, foreach
    • Recursion, mutual recursion
  • Hierarchies and Functions:
    • Virtual method calls, lambda expressions, anonymous classes, tuples
  • Exception Handling:
    • try, catch, finally, throw, rethrow, multi-catch
  • Strings and Regular Expressions:
    • String handling, regular expressions
  • Class and Interface Inheritance:
    • Class hierarchies, interfaces, generic parameters, variance, instanceof, wildcards
  • Concurrency and Asynchronous Programming:
    • Threads, concurrency APIs
  • Dependency Injection:
    • Dependency injection frameworks
  • Reflection:
    • Method invocation, field access, instance creation via reflection
  • Initializers:
    • List, dictionary, and object initializers
  • Pattern Matching:
    • Pattern matching (introduced in newer versions)
  • Collections:
    • Lists, dictionaries, sets, enumerators
  • Nullable Types:
    • Optional for handling nullable values
  • Function Parameters:
    • Varargs (... syntax)

The original OWASP Benchmark at the OWASP Benchmark GitHub pages. Please refer to that site for all the original project details.