Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 10 additions & 9 deletions analyses/derivative.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import os
import re
import sys
import numpy as np
import xmlrpclib
from argparse import ArgumentParser, RawTextHelpFormatter

Expand All @@ -47,7 +48,7 @@
# python-lxml module
from lxml import etree
# statistics module
from statlib import pstat
# from statlib import pstat
# pyparsing module
import pyparsing as pypa
pypa.ParserElement.enablePackrat() # speed up parsing
Expand Down Expand Up @@ -309,11 +310,11 @@ def _countNestedIfdefs(root):
if (len(cnlist) > 0):
nnimax = max(cnlist)
nnitmp = filter(lambda n: n > 0, cnlist)
nnimean = pstat.stats.lmean(nnitmp)
nnimean = np.mean(nnitmp)
else:
nnimax = 0
nnimean = 0
if (len(cnlist) > 1): nnistd = pstat.stats.lstdev(cnlist)
if (len(cnlist) > 1): nnistd = np.std(cnlist)
else: nnistd = 0
return (nnimax, nnimean, nnistd)

Expand Down Expand Up @@ -770,10 +771,10 @@ def _getFeatureStats(features):
lofmin = min(floflist)
lofmax = max(floflist)
lof = reduce(lambda m,n: m+n, floflist)
lofmean = pstat.stats.lmean(floflist)
lofmean = np.mean(floflist)

if (len(floflist) > 1):
lofstd = pstat.stats.lstdev(floflist)
lofstd = np.std(floflist)

return (nof, nod, lof, lofmin, lofmax, lofmean, lofstd)

Expand Down Expand Up @@ -893,14 +894,14 @@ def __add(x, y):
scat.append(vec.count(True))
tang = map(__add, tang, vec)

if (len(scat)): sdegmean = pstat.stats.lmean(scat)
if (len(scat)): sdegmean = np.mean(scat)
else: sdegmean = 0
if (len(scat) > 1): sdegstd = pstat.stats.lstdev(scat)
if (len(scat) > 1): sdegstd = np.std(scat)
else: sdegstd = 0

if (len(tang)): tdegmean = pstat.stats.lmean(tang)
if (len(tang)): tdegmean = np.mean(tang)
else: tdegmean = 0
if (len(tang) > 1): tdegstd = pstat.stats.lstdev(tang)
if (len(tang) > 1): tdegstd = np.std(tang)
else: tdegstd = 0

return (sdegmean, sdegstd, tdegmean, tdegstd)
Expand Down
27 changes: 14 additions & 13 deletions analyses/general.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import re
import sys
import xmlrpclib
import numpy as np
from argparse import ArgumentParser, RawTextHelpFormatter


Expand All @@ -47,7 +48,7 @@
# python-lxml module
from lxml import etree
# statistics module
from statlib import pstat
# from statlib import pstat
# pyparsing module
import pyparsing as pypa
pypa.ParserElement.enablePackrat() # speed up parsing
Expand Down Expand Up @@ -467,11 +468,11 @@ def _countNestedIfdefs(root):
nnimax = max(cnlist)
nnitmp = filter(lambda n: n > 0, cnlist)
__nestedIfdefsLevels.append(nnitmp)
nnimean = pstat.stats.lmean(nnitmp)
nnimean = np.mean(nnitmp)
else:
nnimax = 0
nnimean = 0
if (len(cnlist) > 1): nnistd = pstat.stats.lstdev(cnlist)
if (len(cnlist) > 1): nnistd = np.std(cnlist)
else: nnistd = 0
return (nnimax, nnimean, nnistd)

Expand Down Expand Up @@ -928,10 +929,10 @@ def _getFeatureStats(features):
lofmin = min(floflist)
lofmax = max(floflist)
lof = reduce(lambda m,n: m+n, floflist)
lofmean = pstat.stats.lmean(floflist)
lofmean = np.mean(floflist)

if (len(floflist) > 1):
lofstd = pstat.stats.lstdev(floflist)
lofstd = np.std(floflist)

return (nof, nod, lof, lofmin, lofmax, lofmean, lofstd)

Expand Down Expand Up @@ -1051,14 +1052,14 @@ def __add(x, y):
scat.append(vec.count(True))
tang = map(__add, tang, vec)

if (len(scat)): sdegmean = pstat.stats.lmean(scat)
if (len(scat)): sdegmean = np.mean(scat)
else: sdegmean = 0
if (len(scat) > 1): sdegstd = pstat.stats.lstdev(scat)
if (len(scat) > 1): sdegstd = np.std(scat)
else: sdegstd = 0

if (len(tang)): tdegmean = pstat.stats.lmean(tang)
if (len(tang)): tdegmean = np.mean(tang)
else: tdegmean = 0
if (len(tang) > 1): tdegstd = pstat.stats.lstdev(tang)
if (len(tang) > 1): tdegstd = np.std(tang)
else: tdegstd = 0

return (sdegmean, sdegstd, tdegmean, tdegstd)
Expand Down Expand Up @@ -1118,12 +1119,12 @@ def __getNumOfFilesPerFeatureStats(filetofeatureconstants):

#mean
if (len(numbers) > 0):
numbersmean = pstat.stats.lmean(numbers)
numbersmean = np.mean(numbers)
else:
numbersmean = 0
# std
if (len(numbers) > 1):
numbersstd = pstat.stats.lstdev(numbers)
numbersstd = np.std(numbers)
else:
numbersstd = 0

Expand Down Expand Up @@ -1353,11 +1354,11 @@ def _mergeFeatures(ffeatures):
# ANDAVG + ANDSTDEV
nestedIfdefsLevels = _flatten(__nestedIfdefsLevels)
if (len(nestedIfdefsLevels)):
nnimean = pstat.stats.lmean(nestedIfdefsLevels)
nnimean = np.mean(nestedIfdefsLevels)
else:
nnimean = 0
if (len(nestedIfdefsLevels) > 1):
nnistd = pstat.stats.lstdev(nestedIfdefsLevels)
nnistd = np.std(nestedIfdefsLevels)
else:
nnistd = 0

Expand Down
2 changes: 1 addition & 1 deletion analyses/generalvalues.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
# python-lxml module
from lxml import etree
# statistics module
from statlib import pstat
# from statlib import pstat
# pyparsing module
import pyparsing as pypa
pypa.ParserElement.enablePackrat() # speed up parsing
Expand Down
21 changes: 12 additions & 9 deletions analyses/interaction.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import os
import re
import sys
import numpy as np
import xmlrpclib
from argparse import ArgumentParser, RawTextHelpFormatter

Expand All @@ -47,7 +48,7 @@
# python-lxml module
from lxml import etree
# statistics module
from statlib import pstat
# from statlib import pstat
# pyparsing module
import pyparsing as pypa
pypa.ParserElement.enablePackrat() # speed up parsing
Expand Down Expand Up @@ -310,11 +311,11 @@ def _countNestedIfdefs(root):
if (len(cnlist) > 0):
nnimax = max(cnlist)
nnitmp = filter(lambda n: n > 0, cnlist)
nnimean = pstat.stats.lmean(nnitmp)
nnimean = np.mean(nnitmp)
else:
nnimax = 0
nnimean = 0
if (len(cnlist) > 1): nnistd = pstat.stats.lstdev(cnlist)
if (len(cnlist) > 1): nnistd = np.std(cnlist)
else: nnistd = 0
return (nnimax, nnimean, nnistd)

Expand Down Expand Up @@ -771,10 +772,10 @@ def _getFeatureStats(features):
lofmin = min(floflist)
lofmax = max(floflist)
lof = reduce(lambda m,n: m+n, floflist)
lofmean = pstat.stats.lmean(floflist)
lofmean = np.mean(floflist)

if (len(floflist) > 1):
lofstd = pstat.stats.lstdev(floflist)
lofstd = np.std(floflist)

return (nof, nod, lof, lofmin, lofmax, lofmean, lofstd)

Expand Down Expand Up @@ -894,14 +895,14 @@ def __add(x, y):
scat.append(vec.count(True))
tang = map(__add, tang, vec)

if (len(scat)): sdegmean = pstat.stats.lmean(scat)
if (len(scat)): sdegmean = np.mean(scat)
else: sdegmean = 0
if (len(scat) > 1): sdegstd = pstat.stats.lstdev(scat)
if (len(scat) > 1): sdegstd = np.std(scat)
else: sdegstd = 0

if (len(tang)): tdegmean = pstat.stats.lmean(tang)
if (len(tang)): tdegmean = np.mean(tang)
else: tdegmean = 0
if (len(tang) > 1): tdegstd = pstat.stats.lstdev(tang)
if (len(tang) > 1): tdegstd = np.std(tang)
else: tdegstd = 0

return (sdegmean, sdegstd, tdegmean, tdegstd)
Expand Down Expand Up @@ -1056,7 +1057,9 @@ def _mergeFeatures(ffeatures):
c != [''], afeatures.items())
annotations = map(lambda (a, (flag, b, c)): flag, afeatureitems)
annotations3andmore = filter(lambda a: len(a) > 2, annotations)
print(annotations3andmore)
annotations3andmore = uniqueItems(annotations3andmore)
print("\n".join(sorted(list(map(lambda x: str(sorted(list(x))), annotations3andmore)))))
annotations3andmore = map(lambda s: set(s), annotations3andmore)
relevantannotations = list()
missingannotations = list()
Expand Down
4 changes: 2 additions & 2 deletions cppstats.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@
# Andreas Ringlstetter <andreas.ringlstetter@gmail.com>



pushd `dirname $0` > /dev/null
CPPSTATS=`pwd`
popd > /dev/null

cd ${CPPSTATS}
PYTHONPATH="$PYTHONPATH:$CPPSTATS/lib"
export PYTHONPATH="$PYTHONPATH:$CPPSTATS"
./cppstats/cppstats.py "$@"
2 changes: 1 addition & 1 deletion cppstats/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
# #################################################
# imports from subfolders

import preparation, analysis
import analysis
import cppstats as cstats # import cppstats.py and avoid confusion with module


Expand Down