samaritan / services

https://samaritan.github.io
MIT License
0 stars 1 forks source link

Refactor `flow` Service to Remove Dependency on SciTools Understand #47

Open nuthanmunaiah opened 4 years ago

nuthanmunaiah commented 4 years ago

Description

The flow metric service depends on the understand service to collect the number of inputs, number of outputs, and number of paths metrics from a software project. The understand service internally uses SciTools Understand, a proprietary software analysis platform, to analyze the software project and collect metrics. The dependency on SciTools Understand is not sustainable and must therefore be removed to keep the metric services accessible to the community.

nuthanmunaiah commented 3 years ago

The flow metric has three components: # inputs (aka fan in), # outputs (aka fan out), and # paths (aka count path). For # inputs and # outputs, use Definition 5 and Definition 6 in the paper by Henry and Kafura [1], respectively. For # paths, use the definition in Table 1 from paper by Younis et al. [2].

References

[1] Henry, S., & Kafura, D. (1981). Software structure metrics based on information flow. IEEE transactions on Software Engineering, (5), 510-518. [2] Younis, A., Malaiya, Y., Anderson, C., & Ray, I. (2016, March). To fear or not to fear that is the question: Code characteristics of a vulnerable functionwith an existing exploit. In Proceedings of the Sixth ACM Conference on Data and Application Security and Privacy (pp. 97-104).