Example Configuration Guide
User Manual:
Open the PDF directly: View PDF .
Page Count: 14

ExampleConfiguration.xmlExampleReport.xml
!"
#$ !
%"&#'
&&#
( ##)
# &&!
#* !&%!
% %&)&#'
&& !
#
' !+
• ##% &&&&
!,#
•!( &"(
&-#&&%!(
#
•! ## &"
!.
&#
•! &#/(&
!!(
!&%&%!&#
•& && !&
#
!
"#!$!%#%-0%#&#
'
()*$+,,
)--
)
1
2
.
$#./%.
ExampleConfiguration.xml&
+0
.12
1#
.
%.&.
$
2#
+..
%.&#.
0#..$
3#
.
$##
.
#$.#)2
...."$.
3.."+0..0
#)*$#asef452
<?xml version="1.0" encoding="UTF-8"?>
<asef:Configuration xmlns:asef="http://todo.example.com/asef"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://todo.example.com/asef ASC3F.xsd">
<asef:GlobalConfiguration>
<asef:CommonConfiguration>
</asef:CommonConfiguration>
!""
<asef:GlobalConfiguration>
"
</asef:Configuration>
.
#
#
<Meta configurationName="Example configuration for the ASSUME SCA tool exchange format"
version="1.0"
description="This is a description of the example configuration.">
<Maintainer>Felix Kutzner (KIT)</Maintainer>
</Meta>
3
6#
$% &&& !
&&#* !
!!&-+
#
<HardwareTargets>
<HardwareTarget xsi:type="asef:HomogenousHardwareTarget" name="PPC32"
endianness="big"
unalignedDereferenceSupported="true"
pointerSize="32"
functionPointerSize="32"/>
<HardwareTarget xsi:type="asef:HomogenousHardwareTarget" name="x86-64"
endianness="small"
unalignedDereferenceSupported="true"
pointerSize="64"
functionPointerSize="64"/>
</HardwareTargets>
*
&!"
# #4!" !
&+! ##55 &!)
#
#
<LanguageTargets>
<LanguageTarget xsi:type="asef:CLanguageTarget" name="C99"
signedEnums="true"
signedBitfields="false"
fpRoundingMode="downward"
fpConstantRoundingMode="toNearest"
enumType="int"
inlineAssemblyHandlingMode="ignore"
initializeStaticVariables="true"
enableVolatile="true"
standardRevision="C99">
<Types>
<Type name="char" size="8" alignment="8" atomic="false"/>
<Type name="short" size="16" alignment="16" atomic="false"/>
<Type name="int" size="32" alignment="32" atomic="false"/>
<Type name="long" size="32" alignment="32" atomic="false"/>
<Type name="long long" size="64" alignment="64" atomic="false"/>
<Type name="float" size="32" alignment="32" atomic="false"/>
<Type name="double" size="64" alignment="64" atomic="false"/>
</Types>
</LanguageTarget>
$&!
"&!-
&#' !(&
#'&6#*6 &$_[A-Z]*_$
#
7
!#8insertionMode.& &!
#&&9
#&#
<LanguageTarget xsi:type="asef:CLanguageSubtarget"
name="C99 with includes"
superTarget="C99">
<PreprocessorDefinitions overrideParentDefinitions="false">
<Definition identifier="STATIC_ANALYSIS"/>
</PreprocessorDefinitions>
<IncludeDirectories insertionMode="append">
<DirectoryURI>$_LIBINCLUDES_$</DirectoryURI>
</IncludeDirectories>
<IncludeFiles insertionMode="append">
<IncludeFile path="$_SYSINCLUDES_$/compiler_sys.h" local="true"/>
</IncludeFiles>
</LanguageTarget>
&""&+
<LanguageTarget xsi:type="asef:CLanguageSubtarget"
name="LT for ExampleModule"
superTarget="C99 with includes">
<IncludeDirectories insertionMode="append">
<DirectoryURI>$_EXAMPLEMODULEPATH_$/include</DirectoryURI>
</IncludeDirectories>
</LanguageTarget>
</LanguageTargets>
:+LanguageTargets !&#'
! &&"
!!!&#
&&-#
6 "!"SourceFile6#*
&&;#&!
&&&#
#
<SourceModules>
<SourceModule name="ExampleModule" rootUri="$_EXAMPLEMODULESRC_$">
<SourceFiles>
<SourceFile uri="main.c" id="1"/>
:"& dodgycode.c
"&!!!&
+
<SourceFile uri="dodgycode.c" id="2">
<LanguageTargetExtension>
<CLanguageSubtarget superTarget="auto">
<PreprocessorDefinitions overrideParentDefinitions="false">
<Definition identifier="ADD_MACRO" expansion="x+y"/>
<
<Definition identifier="KBD_PORT_ADDR" expansion="0x60"/>
<Definition identifier="KBD_STAT_ADDR" expansion="0x64"/>
<Definition identifier="KBD_CMD_ADDR" expansion="0x64"/>
</PreprocessorDefinitions>
<IncludeFiles insertionMode="append">
<IncludeFile path="HideProprietaryCExtensions.h" local="true"/>
</IncludeFiles>
</CLanguageSubtarget>
</LanguageTargetExtension>
</SourceFile>
<SourceFile uri="shadycode.c" id="3"/>
</SourceFiles>
!=&#&(
)RequiredCStubs!#!=
&&&+=%$&&%
&"&(VisibilityControllingSymbols
"&"#ifdef"#6=%&=&%
& !&9"&&"#ifdef"#' &
& &&((,&#:
&>&&&&
%#
&&"6#' 6cstub !
!!+
•'"%&&&+??&?#
•'"%!;"&'!
&&&+????"&'?#
&!%&#&&
#
<RequiredCStubs>
<VisibilityControllingSymbols>
<CVisibilityControllingSymbol name="ENABLE_LLBMC_STUBS"/>
<CVisibilityControllingSymbol name="ENABLE_ASTREE_STUBS"/>
</VisibilityControllingSymbols>
<CUniversalStub uri="cstub://globalscope/open" group="posix_io"/>
<CUniversalStub uri="cstub://globalscope/read" group="posix_io"/>
<CUniversalStub uri="cstub://globalscope/write" group="posix_io"/>
<CVisibilityControlledStub
uri="cstub://filescope/ExampleModule/2/read_from_kbd"/>
<CAutogenStub uri="cstub://globalscope/malloc"/>
<CAutogenStub uri="cstub://globalscope/free"/>
</RequiredCStubs>
</SourceModule>
'&6 &&RequiredCStubs#
&&"!%%+
<SourceModule name="ExampleModule_stubs" rootUri="$_EXAMPLEMODULESTUBS_$">
<SourceFiles>
&!(groups/posix_io.c#&"
!ImplementsStubs+
@
<SourceFile uri="groups/posix_io.c" id="1">
<ImplementsStubs>
cstub://globalscope/open
cstub://globalscope/read
cstub://globalscope/write
</ImplementsStubs>
</SourceFile>
&(! "+
<SourceFile uri="fancy_rng.c" id="2">
<ImplementsStubs>cstub://globalscope/fancy_rng</ImplementsStubs>
</SourceFile>
' (($&6+
<SourceFile uri="filescope/ExampleModule/2/read_from_device.c" id="3">
<ImplementsStubs>
cstub://filescope/ExampleModule/2/read_from_kbd
</ImplementsStubs>
</SourceFile>
</SourceFiles>
</SourceModule>
4"!($&! !
!#$
( !&#
<SourceModule name="ExampleModule_joined">
<SourceFiles>
<SourceFile uri="someOtherFancyRNG.c" id="1"/>
</SourceFiles>
<RequiresModules>
*!+
<RequiresModule name="ExampleModule"/>
*!($ !"&
&+??&?A+
<RequiresModule name="ExampleModule_stubs">
<ExcludingFilesProvidingStub uri="cstub://globalscope/fancy_rng"/>
</RequiresModule>
" !"<ExcludingFile module=“...“ id=“...“/>&
#==
!9!#
</RequiresModules>
</SourceModule>
</SourceModules>
:+&"#
# !
%#
B
!C! #?
+
#
<ExecutionModelTargets>
<ExecutionModelTarget xsi:type="asef:CSynchronousExecutionModelTarget"
name="ExampleExecModel">
<EntryPoints>
<EntryPoint>main</EntryPoint>
</EntryPoints>
</ExecutionModelTarget>
</ExecutionModelTargets>
!
!=% ##!
6%&&#:
%% "
% #
#
<CheckTargets>
<CheckTarget xsi:type="asef:CCheckTarget" name="BasicChecks">
<CorrectnessCheckCategory name="numeric.divbyzero"
failureHandlingMode="wraparound"/>
<CorrectnessCheckCategory name="mem.ptr.deref" failureHandlingMode="stop"/>
<!-- ... -->
</CheckTarget>
</CheckTargets>
!
&!
% &(.#
' -!()D@(@7!EE
!%+
#
<AnalysisTasks>
<AnalysisTask name="analyzeExampleModuleOnPPC"
missingRequiredCapabilityHandlingMode="abort">
<ReportGeneratorConfiguration documentFormat="assume"/>
<HardwareTarget>PPC32</HardwareTarget>
<SourceModule>ExampleModule_joined</SourceModule>
<LanguageTarget>LT for ExampleModule</LanguageTarget>
<CheckTarget>BasicChecks</CheckTarget>
<ExecutionModelTarget>ExampleExecModel</ExecutionModelTarget>
</AnalysisTask>
<AnalysisTask name="analyzeExampleModuleOnX86_64"
missingRequiredCapabilityHandlingMode="abort">
<ReportGeneratorConfiguration documentFormat="assume"/>
<HardwareTarget>x86-64</HardwareTarget>
<SourceModule>ExampleModule_joined</SourceModule>
<LanguageTarget>LT for ExampleModule</LanguageTarget>
D
<CheckTarget>BasicChecks</CheckTarget>
<ExecutionModelTarget>ExampleExecModel</ExecutionModelTarget>
</AnalysisTask>
</AnalysisTasks>
+..
(&+
&) .&
#""&
##" (
!!!&#"
(#
!""#
<asef:ToolConfigurations>
<ToolConfiguration name="QPRVerify" customParameters="--verbose">
<ForAnalysisTasks>
<AnalysisTaskName>PPC32</AnalysisTaskName>
<AnalysisTaskName>x86_64</AnalysisTaskName>
</ForAnalysisTasks>
<LanguageTargetExtension>
<CLanguageSubtarget superTarget="auto">
<PreprocessorDefinitions overrideParentDefinitions="false">
<Definition identifier="STATIC_ANALYSIS"/>
<Definition identifier="ENABLE_LLBMC_STUBS"/>
</PreprocessorDefinitions>
</CLanguageSubtarget>
</LanguageTargetExtension>
ToolSpecificConfiguration!
""#' FE68
ToolSpecificConfiguration%%+
<ToolSpecificConfiguration>
<LoopBound>40</LoopBound>
</ToolSpecificConfiguration>
</ToolConfiguration>
</asef:ToolConfigurations>
*.
' "6& !&
6&#' "!
+
"#
<asef:LocalConfiguration>
<URISubstitutionRules>
<URISubstitutionRule token="$_LIBINCLUDES_$"
substitution="file:///usr/include/libc"/>
<URISubstitutionRule token="$_SYSINCLUDES_$" substitution="file:///usr/include"/>
<URISubstitutionRule token="$_EXAMPLEMODULEPATH_$"
substitution="file:///users/felix/projects/ExampleProject"/>
G
<URISubstitutionRule token="$_EXAMPLEMODULESRC_$"
substitution="$_EXAMPLEMODULEPATH_$/src"/>
<URISubstitutionRule token="$_EXAMPLEMODULESTUBS_$"
substitution="$_EXAMPLEMODULEPATH_$/verification/generatedStubs"/>
<URISubstitutionRule token="$_EXAMPLEMODULEJOINED_$"
substitution="$_EXAMPLEMODULEPATH_$/verification/joined"/>
</URISubstitutionRules>
</asef:LocalConfiguration>
1H
7
$#%ExampleReport.xml&
+0
12
1# .%8.4&$
9 $
: .$
; $
< !$
=
"+0.0#2
<?xml version="1.0" encoding="UTF-8"?>
<asef:Report xmlns:asef="http://todo.example.com/asef"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Example report"
sourceVersion="String" xsi:schemaLocation="http://todo.example.com/asef ASCCRF.xsd">
"
!
"
*
</asef:Report>
!!&
& !#:+
!! #
!#
<asef:ExecutionReports>
<asef:ExecutionReport
name="Report for ExampleProject-on-PPC analysis"
analysisTask="analyzeExampleModuleOnPPC"
toolParameters="LLBMC"
analysisBeginDate="2016-12-17T09:30:47Z"
analysisFinishDate="2016-12-17T09:30:49Z"
analysisComputerName="i11pc164" toolName="LLBMC">
<SourceCodeProcessingMessages>
<SourceCodeProcessingMessage xsi:type="asef:FreeformSourceCodeProcessingMessage"
locationID="100"
msg="warning: '&&' within '||' [-Wlogical-op-parentheses]"/>
</SourceCodeProcessingMessages>
<CheckerMessages> <!-- ... --> </CheckerMessages>
<ConfigDeviations> <!-- ... --> </ConfigDeviations>
</asef:ExecutionReport>
</asef:ExecutionReports>
11
$!"!##
9 I
=&File#*& !(("
";!#" &
;<!hashAlg.&#
(+ &, !
.&# &!&%
&%!&#
#
<asef:SourceStorages>
<Storage xsi:type="asef:CSourceFile" id="1"
path="$_EXAMPLEMODULESRC_$/main.c"
hashSum="1b826051506f463f07307598fcf12fd6" preprocessed="false"
originModule="ExampleModule" idInOriginModule="1"/>
<Storage xsi:type="asef:CSourceFile" id="2"
path="$_EXAMPLEMODULESRC_$/dodgycode.c"
hashSum="3b5337aa426bb547efefb97edec54e3e" preprocessed="false"
originModule="ExampleModule" idInOriginModule="2"/>
<Storage xsi:type="asef:CSourceFile" id="3"
path="$_EXAMPLEMODULESRC_$/shadycode.c"
hashSum="ff702f10bebfa2f1508deb475ded2d65" preprocessed="false"
originModule="ExampleModule" idInOriginModule="3"/>
<Storage xsi:type="asef:CHeaderFile" id="4"
path="$_EXAMPLEMODULEPATH_$/include/ExampleModule.h"
hashSum="2f702f10bebfa2f1508deb475ded2d65" preprocessed="false"
includeDirectory=""/>
<Storage xsi:type="asef:CHeaderFile" id="5"
path="compiler_sys.h"
hashSum="3f702f10bebfa2f1508deb475ded2d65" preprocessed="false"
includeDirectory="$_SYSINCLUDES_$"/>
<Storage xsi:type="asef:CHeaderFile" id="6"
path="HideProprietaryCExtensions.h"
hashSum="4f702f10bebfa2f1508deb475ded2d65" preprocessed="false"
includeDirectory="$_EXAMPLEMODULESRC_$"/>
<Storage xsi:type="asef:CSourceFile" id="10"
path="$_EXAMPLEMODULESTUBS_$/groups/posix_io.c"
hashSum="8633b81a334995b50b53df83581af093" preprocessed="false"
originModule="ExampleModule_stubs" idInOriginModule="1"/>
<Storage xsi:type="asef:CSourceFile" id="11"
path="$_EXAMPLEMODULESTUBS_$/fancy_rng.c"
hashSum="b06f74ff6378f4a2629621b3d8aa935f" preprocessed="false"
originModule="ExampleModule_stubs" idInOriginModule="2"/>
<Storage xsi:type="asef:CSourceFile" id="12"
path="$_EXAMPLEMODULESTUBS_$/filescope/ExampleModule/4/read_from_device.c"
hashSum="c143a9ae806ab2c93ad4f4f593173bf0" preprocessed="false"
originModule="ExampleModule_stubs" idInOriginModule="3"/>
12
<Storage xsi:type="asef:CSourceFile" id="20"
path="$_EXAMPLEMODULEJOINED_$/someOtherFancyRNG.c"
hashSum="591d99a6a84b1e1dbb44395a3fa27d64" preprocessed="false"
originModule="ExampleModule_joined" idInOriginModule="1"/>
## &+
<Storage xsi:type="asef:CFilelessPreprocessorDefinition" id="30">
<Definition identifier="ADD_MACRO" expansion="x+y"/>
</Storage>
</asef:SourceStorages>
!&
#+(
# "
???#' &
#
#
<asef:Locations>
&!"&??+
<Location xsi:type="asef:CsourceRealLocation"
id="1" storageID="2" lineNo="22" colNo="8"/>
CRealLocation! &=&1#
<Location xsi:type="asef:CsourceRealLocation"
id="2" storageID="30" lineNo="1" colNo="2"/>
& ;!
;!#
<Location xsi:type="asef:CsourceRealLocation"
id="10" storageID="3" lineNo="1" colNo="1"/>
<Location xsi:type="asef:CsourceRealLocation"
id="11" storageID="3" lineNo="1" colNo="1"/>
<Location xsi:type="asef:CsourceMacroLocation"
id="12" spellingLocID="10" expansionLocID="11"/>
6&&;+
<Location xsi:type="asef:CsourceRealLocation"
id="20" storageID="2" lineNo="22" colNo="12"/>
<Location xsi:type="asef:CsourceRealLocation"
id="21" storageID="2" lineNo="22" colNo="20"/>
<Location xsi:type="asef:RangeLocation"
id="22" beginLocID="20" endLocID="21"/>
' &+
<Location xsi:type="asef:PlaintextRealLocation"
id="30" storageID="20" lineNo="5" colNo="53"/>
13
<Location xsi:type="asef:PlaintextLineLocation"
id="31" storageID="20" lineNo="5"/>
</asef:Locations>
!
%Check%#*&
%##+%$, !(%##
EJ-'.&#% "%
J.&#" ##
!!.&#' J%"
#.&#' "(&
#
#
<asef:Checks>
<ResultsFor executionReport="Report for ExampleProject-on-PPC analysis">
<Check xsi:type="asef:CCheck" id="1"
category="numeric.divbyzero"
status="unsafe" internalCategory="divbyzero"
internalStatus="unsafe" annotation="">
<LocID>1</LocID>
</Check>
<Check xsi:type="asef:CCheck" id="2"
category="assertion.user"
status="safe" statusSupplement="locally" internalCategory="user.assertion"
internalStatus="safe" annotation="locally">
<LocID>12</LocID>
</Check>
<Check xsi:type="asef:CCheck" id="20"
category="assertion.user" status="undecided"
statusSupplement="function-body-missing" internalCategory="user.assertion"
internalStatus="safe" annotation="function body missing">
<LocID>22</LocID>
</Check>
</ResultsFor>
</asef:Checks>
' "&%#4!"
&#
*#
<asef:FailureTraces>
<TODO_ConcreteFailureTraces/>
</asef:FailureTraces>
17