Exemplo n.º 1
0
 def _getFunctionNamesFromSink(self, sinkName):
     sinkUserProvider = SinkUserProvider(self.projectRoot)
     sink = sinkUserProvider.getSinkByName(sinkName)
     (unused, callsToSink) = sink
     functionNames = self.unique(
         [self.projectRoot + c[1] for c in callsToSink])
     return functionNames
Exemplo n.º 2
0
def sinkSnippetEmbedder(projectRoot, sinkOfInterest, configuration):

    print 'embed for sink: %s' % sinkOfInterest
    sink = SinkUserProvider(projectRoot).getSinkByName(sinkOfInterest)
    sinkUserEmbedder = SinkSnippetEmbedder(projectRoot,
                                           configuration['ngramN'],
                                           configuration['smallerNgramsToo'])
    (name,
     termDocMatrix) = sinkUserEmbedder.embedSinkUsers(sink)  #@UnusedVariable
    return termDocMatrix
Exemplo n.º 3
0
def embedFunctionsUsingSink(projectRoot, filterName, ngramN, smallerNgramsToo,
                            sinkOfInterest):
    from tools.SinkSnippetEmbedder.SinkSnippetEmbedder import SinkSnippetEmbedder
    from tools.SinkSnippetEmbedder.SinkUserProvider import SinkUserProvider

    name = '%s_%d.pickl' % (filterName, ngramN)
    embedder = SinkSnippetEmbedder(projectRoot, ngramN, smallerNgramsToo)
    sink = SinkUserProvider(projectRoot).getSinkByName(sinkOfInterest)

    embedder.embedSinkUsers(sink)
    return embedder.save(name, sinkOfInterest)
Exemplo n.º 4
0
 def __init__(self, projectRoot):
     self.projectRoot = projectRoot
     self.programDir = '/'.join(self.projectRoot.split('/')[:-3]) + '/'
     self.sinkUserProvider = SinkUserProvider(self.projectRoot + '../../')
Exemplo n.º 5
0
 def _getAvailableSinks(self):
     sinkUserProvider = SinkUserProvider(self.projectRoot)
     return sinkUserProvider.getSinks(self.args.min_calls_to_sink)
Exemplo n.º 6
0
 def _getAvailableSinks(self):
     from tools.SinkSnippetEmbedder.SinkUserProvider import SinkUserProvider
     sinkUserProvider = SinkUserProvider(self.args.projectDirectory)
     return sinkUserProvider.getSinks(self.args.min_calls_to_sink)