lib/symbioticpy/symbiotic/targets/tool.py
def instrumentation_options(self):
        """
        Returns a triple (d, c, l, x) where d is the directory
        with configuration files, c is the configuration
        file for instrumentation (or None if no instrumentation
        should be performed), l is the
        file with definitions of the instrumented functions
        and x is True if the definitions should be linked after
        instrumentation (and False otherwise)
        """

        if self._options.property.signedoverflow() and\
             self._options.overflow_with_clang:
            # clang already instrumented all that we need
             return (None, None, None, None)

        if self._options.full_instrumentation:
            if self._options.property.memsafety():
                # default config file is 'config.json'
                return ('memsafety', self._options.memsafety_config_file,
                        'memsafety.c', True)

            if self._options.property.signedoverflow():
                # default config file is 'config.json'
                return ('int_overflows', self._options.overflow_config_file,
                        'overflows.c', True)

            if self._options.property.termination():
                return ('termination', 'config.json', 'termination.c', True)

            if self._options.property.memcleanup():
                return ('memsafety', 'config-memcleanup.json', 'memsafety.c', True)

            return (None, None, None, None)
        else:
            # NOTE: we do not want to link the functions with memsafety/cleanup
            # because then the optimizations could remove the calls to markers
            if self._options.property.memsafety():
                return ('memsafety', 'config-marker.json', 'marker.c', False)

            if self._options.property.memcleanup():
                return ('memsafety', 'config-marker-memcleanup.json',
                        'marker.c', False)

            if self._options.property.signedoverflow():
                # default config file is 'config.json'
                return ('int_overflows', self._options.overflow_config_file,
                        'overflows.c', True)

            if self._options.property.termination():
                return ('termination', 'config.json', 'termination.c', True)

            if self._options.property.nullderef():
                return ('null_deref', 'config.json', 'null_deref.c', False)

            return (None, None, None, None)

        Returns a triple (d, c, l, x) where d is the directory
        with configuration files, c is the configuration
        file for instrumentation (or None if no instrumentation
        should be performed), l is the
        file with definitions of the instrumented functions
        and x is True if the definitions should be linked after
        instrumentation (and False otherwise)
        
Returns a triple (d, c, l, x) where d is the directory
with configuration files, c is the configuration
file for instrumentation (or None if no instrumentation
should be performed), l is the
file with definitions of the instrumented functions
and x is True if the definitions should be linked after
instrumentation (and False otherwise)
Returns a triple ( d c l x ) where d is the directory with configuration files c is the configuration file for instrumentation ( or None if no instrumentation should be performed ) l is the file with definitions of the instrumented functions and x is True if the definitions should be linked after instrumentation ( and False otherwise )
def instrumentation_options(self):
        if self._options.property.signedoverflow() and\
             self._options.overflow_with_clang:
             return (None, None, None, None)
        if self._options.full_instrumentation:
            if self._options.property.memsafety():
                return ('memsafety', self._options.memsafety_config_file,
                        'memsafety.c', True)
            if self._options.property.signedoverflow():
                return ('int_overflows', self._options.overflow_config_file,
                        'overflows.c', True)
            if self._options.property.termination():
                return ('termination', 'config.json', 'termination.c', True)
            if self._options.property.memcleanup():
                return ('memsafety', 'config-memcleanup.json', 'memsafety.c', True)
            return (None, None, None, None)
        else:
            if self._options.property.memsafety():
                return ('memsafety', 'config-marker.json', 'marker.c', False)
            if self._options.property.memcleanup():
                return ('memsafety', 'config-marker-memcleanup.json',
                        'marker.c', False)
            if self._options.property.signedoverflow():
                return ('int_overflows', self._options.overflow_config_file,
                        'overflows.c', True)
            if self._options.property.termination():
                return ('termination', 'config.json', 'termination.c', True)
            if self._options.property.nullderef():
                return ('null_deref', 'config.json', 'null_deref.c', False)
            return (None, None, None, None)
def instrumentation_options ( self ) : if self . _options . property . signedoverflow ( ) and self . _options . overflow_with_clang : return ( None , None , None , None ) if self . _options . full_instrumentation : if self . _options . property . memsafety ( ) : return ( 'memsafety' , self . _options . memsafety_config_file , 'memsafety.c' , True ) if self . _options . property . signedoverflow ( ) : return ( 'int_overflows' , self . _options . overflow_config_file , 'overflows.c' , True ) if self . _options . property . termination ( ) : return ( 'termination' , 'config.json' , 'termination.c' , True ) if self . _options . property . memcleanup ( ) : return ( 'memsafety' , 'config-memcleanup.json' , 'memsafety.c' , True ) return ( None , None , None , None ) else : if self . _options . property . memsafety ( ) : return ( 'memsafety' , 'config-marker.json' , 'marker.c' , False ) if self . _options . property . memcleanup ( ) : return ( 'memsafety' , 'config-marker-memcleanup.json' , 'marker.c' , False ) if self . _options . property . signedoverflow ( ) : return ( 'int_overflows' , self . _options . overflow_config_file , 'overflows.c' , True ) if self . _options . property . termination ( ) : return ( 'termination' , 'config.json' , 'termination.c' , True ) if self . _options . property . nullderef ( ) : return ( 'null_deref' , 'config.json' , 'null_deref.c' , False ) return ( None , None , None , None )
Returns a triple (d, c, l, x) where d is the directory
with configuration files, c is the configuration
file for instrumentation (or None if no instrumentation
should be performed), l is the
file with definitions of the instrumented functions
and x is True if the definitions should be linked after
instrumentation (and False otherwise)
Returns a triple ( d c l x ) where d is the directory with configuration files c is the configuration file for instrumentation ( or None if no instrumentation should be performed ) l is the file with definitions of the instrumented functions and x is True if the definitions should be linked after instrumentation ( and False otherwise )
"""
        Returns a triple (d, c, l, x) where d is the directory
        with configuration files, c is the configuration
        file for instrumentation (or None if no instrumentation
        should be performed), l is the
        file with definitions of the instrumented functions
        and x is True if the definitions should be linked after
        instrumentation (and False otherwise)
        """ # clang already instrumented all that we need # default config file is 'config.json' # default config file is 'config.json' # NOTE: we do not want to link the functions with memsafety/cleanup # because then the optimizations could remove the calls to markers # default config file is 'config.json'
self