The 2 csv
files in this repository contain the evaluation of an automated injection with and without a specification.
The following columns can be found:
-
ErrorType
Can be one of the following: Typo Error, Domain Error, Structure Error, Semantic Error, Limit Error, Resource Error
-
InjectionType
Metadata Text inject/structure/section/duplicate Section Duplication Error inject/structure/section/reallocate Section Reallocation Error inject/structure/section/remove Section Removal Error inject/semantic Semantic Error inject/resource Resource Error inject/typo/transposition Typo Char Transition Error inject/typo/insertion Typo Char Insertion Error inject/typo/deletion Typo Char Deletion Error inject/typo/change/char Typo Char Changing Error inject/typo/space Typo Space Insertion Error inject/typo/case/toggle Typo Case Toggle Error inject/domain Domain Error inject/limit/max Max Off-by-one Error inject/limit/min Min Off-by-one Error -
Key
The Key which is affected by the injection
-
Old Value
The previous value or
(null)
if it was empty -
New Value
The new value
-
Error Message
A filtered message which tries to detect errors (e.g. [ERROR] for java logs) for the application
-
SpecMessage
The
reason
metadata which was emitted by Elektra -
SpecCaught
x
if Elektra caught it, otherwise empty -
SpecPlugin
Which specification plugin caught the error
-
Log Message
The full log information from the application. In some cases it was manually deleted because of checks done manually
-
Reaction App
One of the following reactions can be possible for the application:
- GOOD: The exception points to the injected error in some way
- NONE: There is no exception thrown despite it should be
- BAD: An exception is thrown but is misleading
- DEFAULT: No exception is thrown but also not necessary because the application handles the case correctly
-
Reaction Spec
The same as
Reaction App
but for Elektra -
Pinpoint Spec
- GOOD: Key, Value and Reason(Context is given)
- NONE: Only if the reaction itself is NONE or BAD
- BAD: The exception does not yield relevant information for the location
- DEFAULT: If DEFAULT was the reaction
- PARTLY: If either Key or Value was given for the wrong configuration setting
-
Vocab Spec
- GOOD: If no advanced vocabulary is used
- BAD: If too advanced words are being used or confusing text appears (e.g.,
stat file
,normalize value
, classnames unrelated to the exception in java, etc.)
-
Pinpoint App
Same as
Pinpoint Spec
just for the application -
Vocab App
Same as
Vocab Spec
just for the application -
Personify App
If the error message is apologetic and personified (e.g., "Sorry, I could not find the XY)
-
LeakInt App
If internas of the application are leaked such as method names, POJO structures, etc.
-
Comment
Sometimes comments are done such as bug indication or additional text to interesting cases