native likely to be less effective, but it is also likely
to be met with political opposition within commer-
cial organizations. A wholesale approach lacks cost-
benefit justification and, due to the aforementioned
needle in a haystack phenomenon, becomes progres-
sively more futile and psychologically daunting as a
product grows in size. We believe prediction models
based on change and entropy-based architectural met-
rics may offer a practical means for identifying and
prioritizing attack-prone components.
REFERENCES
OSVDB: Open sourced vulnerability database. osvdb.net
(online). http:// www.osvdb.net/, accessed May 30,
2013.
Abdelmoez, W., Nassar, D. M., Shereshevsky, M., Gradet-
sky, N., Gunnalan, R., Ammar, H. H., Yu, B., and
Mili, A. (2004). Error propagation in software archi-
tectures. In Software Metrics, 2004. Proceedings. 10th
International Symposium on, pages 384–393. IEEE.
Anan, M., Saiedian, H., and Ryoo, J. (2009). An
architecture-centric software maintainability assess-
ment using information theory. J. Softw. Maint. Evol.:
Res. Pract., 21(1):1–18.
Bell, R. M., Ostrand, T. J., and Weyuker, E. J. (2011). Does
measuring code change improve fault prediction? In
Proceedings of the 7th International Conference on
Predictive Models in Software Engineering, Promise
’11, New York, NY, USA. ACM.
Bozorgi, M., Saul, L., Savage, S., and Voelker, G. M.
(2010). Beyond heuristics: Learning to classify vul-
nerabilities and predict exploits. In Proceedings of the
Sixteenth ACM Conference on Knowledge Discovery
and Data Mining (KDD-2010), pages 105–113.
Chidamber, S. R. and Kemerer, C. F. (1994). A metrics
suite for object oriented design. Software Engineer-
ing, IEEE Transactions on, 20(6):476–493.
Chowdhury, I. and Zulkernine, M. (2011). Using complex-
ity, coupling, and cohesion metrics as early indicators
of vulnerabilities. Journal of Systems Architecture,
57(3):294–313.
Gousios, G. (2012). On the importance of tools in software
engineering research. Blog. Accessed: 02/20/2013.
Gyimothy, T., Ferenc, R., and Siket, I. (2005). Empirical
validation of object-oriented metrics on open source
software for fault prediction. Software Engineering,
IEEE Transactions on, 31(10):897–910.
Hassan, A. E. (2009). Predicting faults using the complex-
ity of code changes. In Proceedings of the 31st Inter-
national Conference on Software Engineering, ICSE
’09, pages 78–88, Washington, DC, USA. IEEE Com-
puter Society.
Jackson, D. and Wing, J. (1996). Lightweight formal meth-
ods. IEEE Computer, 29(4):16–30.
Janzen, D. and Saiedian, H. (2007). A leveled examina-
tion of test-driven development acceptance. In Pro-
ceedings of the 29th ACM International Conference
on Software Engineering, pages 719–722. ACM.
Khoshgoftaar, T. M., Allen, E. B., Goel, N., Nandi, A., and
McMullan, J. (1996). Detection of software modules
with high debug code churn in a very large legacy sys-
tem. In Proceedings of the The Seventh International
Symposium on Software Reliability Engineering, IS-
SRE ’96, Washington, DC, USA. IEEE Computer So-
ciety.
Manadhata, P. K. and Wing, J. M. (2011). An attack surface
metric. Software Engineering, IEEE Transactions on,
37(3):371–386.
McGraw, G. (1999). Software assurance for security. Com-
puter, 32(4):103–105.
Mell, P., Scarfone, K., and Romanosky, S. (2007). CVSS:
A Complete Guide to the Common Vulnerability Scor-
ing System Version 2.0. FIRST: Forum of Incident
Response and Security Teams.
Moser, R., Pedrycz, W., and Succi, G. (2008). A compar-
ative analysis of the efficiency of change metrics and
static code attributes for defect prediction. In Soft-
ware Engineering, 2008. ICSE ’08. ACM/IEEE 30th
International Conference on, ICSE ’08, pages 181–
190, New York, NY, USA. IEEE.
Munson, J. C. and Elbaum, S. G. (1998). Code churn:
a measure for estimating the impact of code change.
In Proceedings. International Conference on Software
Maintenance (Cat. No. 98CB36272), pages 24–31.
IEEE Computer Society.
Munson, J. C. and Khoshgoftaar, T. M. (1992). The detec-
tion of fault-prone programs. IEEE Transactions on
Software Engineering, 18(5):423–433.
Nagappan, N. and Ball, T. (2005). Use of relative code
churn measures to predict system defect density. In
Proceedings of the 27th international conference on
Software engineering, ICSE ’05, pages 284–292, New
York, NY, USA. ACM.
Nagappan, N., Zeller, A., Zimmermann, T., Herzig, K., and
Murphy, B. (2010). Change bursts as defect predic-
tors. In Software Reliability Engineering (ISSRE),
2010 IEEE 21st International Symposium on, pages
309–318. IEEE.
NIST. NVD:national vulnerability database. National In-
stitute of Science and Technology, online. http://
nvd.nist.gov/, accessed May 30, 2013.
Ostrand, T. J., Weyuker, E. J., and Bell, R. M. (2010).
Programmer-based fault prediction. In Proceedings of
the 6th International Conference on Predictive Mod-
els in Software Engineering, PROMISE ’10, New
York, NY, USA. ACM.
Saltzer, J. H. and Schroeder, M. D. (1975). The Protection
of Information in Computer Systems. Proceedings of
the IEEE, 9(63):1278–1308.
Sarkar, S., Rama, G. M., and Kak, A. C. (2007). API-based
and information-theoretic metrics for measuring the
quality of software modularization. Software Engi-
neering, IEEE Transactions on, 33(1):14–32.
Shin, Y. (2011). Investigating Complexity Metrics as Indi-
cators of Software Vulnerability. PhD thesis, North
Carolina State University, Raleigh, North Carolina.