7 CONCLUSION AND FUTURE
WORK
In this paper, we presented an approach for systemati-
cally dealing with huge vulnerability lists that may re-
sult from security analyses. Therefore, our approach
defines both a methodology and a technical approach.
While the methodology specifies how to execute a
code cleansing project, the technical approach pro-
vides support in mitigating the vulnerabilities beyond
code or at least with minimal manual effort. The ap-
proach has been applied to an industrial field study
for evaluation. Therefore, the technical approach has
been implemented prototypically.
Currently, we conduct additional field studies for a
more reliable evaluation of our approach. We intend
to iteratively optimize our tool-supported mitigation
through code injection based on the field studies. One
issue we want to improve is the adaptation to individ-
ual development guidelines such as naming conven-
tions. Therefore, we need to provide a possibility to
edit the code to inject for mitigation.
REFERENCES
Abi-Antoun, M. and Barnes, J. M. (2010). Analyzing se-
curity architectures. In Pecheur, C., Andrews, J., and
Di Nitto, E., editors, Int. Conf. on Automated Software
Engineering, pages 3–12. ACM.
Almorsy, M., Grundy, J., and Ibrahim, A. S. (2012). Sup-
porting automated vulnerability analysis using for-
malized vulnerability signatures. In 27th IEEE/ACM
Int. Conf. on Automated Software Engineering, pages
100–109.
Anand, P. and Ryoo, J. (2017). Security patterns as architec-
tural solution - mitigating cross-site scripting attacks
in web applications. In Int. Conf. on Software Security
and Assurance, pages 25–31.
Brunil, D., Haddad, H. M., and Romero, M. (2009). Secu-
rity vulnerabilities and mitigation strategies for appli-
cation development. In 6th Int. Conf. on Information
Technology: New Generations, pages 235–240.
Durieux, T. and Monperrus, M. (2016). Dynamoth: Dy-
namic code synthesis for automatic program repair. In
IEEE/ACM 11th Int. Workshop in Automation of Soft-
ware Test, pages 85–91.
Gao, F., Wang, L., and Li, X. (2016). Bovinspector: Auto-
matic inspection and repair of buffer overflow vulner-
abilities. In 31st IEEE/ACM Int. Conf. on Automated
Software Engineering, pages 786–791.
Gazzola, L., Micucci, D., and Mariani, L. (2019). Auto-
matic software repair: A survey. IEEE Transactions
on Software Engineering, 45(1):34–67.
Hansson, D. (2015). Automatic bug fixing. In 16th Int.
Workshop on Microprocessor and SOC Test and Veri-
fication, pages 26–31.
Herold, S. and Mair, M. (2014). Recommending refactor-
ings to re-establish architectural consistency. In Avge-
riou, P. and Zdun, U., editors, 8th Europ. Conf. on
Software Architecture, volume 8627 of Lecture Notes
in Computer Science, pages 390–397. Springer.
Jasser, S. (2019). Constraining the implementation through
architectural security rules: An expert study. In 20th
Int. Conf. on Product-Focused Software Process Im-
provement.
Le Goues, C., Nguyen, T., Forrest, S., and Weimer, W.
(2012). Genprog: A generic method for automatic
software repair. IEEE Transactions on Software Engi-
neering, 38(1):54–72.
Li, H., Kim, T., Bat-Erdene, M., and Lee, H. (2013).
Software vulnerability detection using backward trace
analysis and symbolic execution. In Int. Conf. on
Availability, Reliability and Security, pages 446–454.
Li, X., Chang, X., Board, J. A., and Trivedi, K. S. (2017).
A novel approach for software vulnerability classifica-
tion. In Annual Reliability and Maintainability Sym-
posium, pages 1–7.
Mair, M. and Herold, S. (2013). Towards extensive software
architecture erosion repairs. In Drira, K., editor, 7th
Europ. Conf. on Software Architecture, volume 7957
of Lecture Notes in Computer Science, pages 299–
306. Springer.
Mair, M., Herold, S., and Rausch, A. (2014). Towards flexi-
ble automated software architecture erosion diagnosis
and treatment. In Working Int. Conf. on Software Ar-
chitecture Companion Volume, WICSA ’14 Compan-
ion, pages 9:1–9:6, New York, NY, USA. ACM.
McGraw, G. (2006). Software security: Building security
in. In 17th Int. Symposium on Software Reliability En-
gineering, pages 6–6.
Mortensen, M., Ghosh, S., and Bieman, J. (2012). Aspect-
oriented refactoring of legacy applications: An eval-
uation. IEEE Transactions on Software Engineering,
38(1):118–140.
Nielebock, S. (2017). Towards api-specific automatic pro-
gram repair. In 32nd IEEE/ACM Int. Conf. on Auto-
mated Software Engineering, pages 1010–1013.
Qi, Y., Mao, X., and Lei, Y. (2012). Making automatic
repair for large-scale programs more efficient using
weak recompilation. In 28th IEEE Int. Conf. on Soft-
ware Maintenance, pages 254–263.
Rizvi, S. A. M. and Khanam, Z. (2011). A methodology for
refactoring legacy code. In 3rd Int. Conf. on Electron-
ics Computer Technology, volume 6, pages 198–200.
Sametinger, J. (2013). Software security. In 20th IEEE
Int. Conf. and Workshops on Engineering of Computer
Based Systems, pages 216–216.
Tang, L. and Huang, Z. (2016). A method for issue queue
soft error vulnerability mitigation. In 17th IEEE/ACIS
Int. Conf. on Software Engineering, Artificial Intelli-
gence, Networking and Parallel/Distributed Comput-
ing, pages 443–450.
Tommy, R., Sundeep, G., and Jose, H. (2017). Automatic
detection and correction of vulnerabilities using ma-
chine learning. In Int. Conf. on Current Trends in
ICISSP 2020 - 6th International Conference on Information Systems Security and Privacy
308