Automatic Detection of Sources and Sinks in Arbitrary Java']Java Libraries

被引:4
|
作者
Sas, Darius [1 ]
Bessi, Marco [2 ]
Fontana, Francesca Arcelli [1 ]
机构
[1] Univ Milano Bicocca, Dipartimento Informat Sistemist & Comunicaz, Milan, Italy
[2] CAST Software Italia, Milan, Italy
关键词
!text type='Java']Java[!/text; Static Analysis; Sources; Sink; Machine Learning;
D O I
10.1109/SCAM.2018.00019
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In the last decade, data security has become a primary concern for an increasing amount of companies around the world. Protecting the customer's privacy is now at the core of many businesses operating in any kind of market. Thus, the demand for new technologies to safeguard user data and prevent data breaches has increased accordingly. In this work, we investigate a machine learning-based approach to automatically extract sources and sinks from arbitrary Java libraries. Our method exploits several different features based on semantic, syntactic, intra-procedural dataflow and class-hierarchy traits embedded into the bytecode to distinguish sources and sinks. The performed experiments show that, under certain conditions and after some preprocessing, sources and sinks across different libraries share common characteristics that allow a machine learning model to distinguish them from the other library methods. The prototype model achieved remarkable results of 86% accuracy and 81% F-measure on our validation set of roughly 600 methods.
引用
收藏
页码:103 / 112
页数:10
相关论文
共 50 条
  • [1] Automatic Upgrade of Java']Java Libraries
    Tronicek, Zdenek
    [J]. ERCIM NEWS, 2012, (88): : 31 - 31
  • [2] Static deadlock detection for Java']Java libraries
    Williams, A
    Thies, W
    Ernst, MD
    [J]. ECOOP 2005 - OBJECT-ORIENTED PROGRAMMING, PROCEEDINGS, 2005, 3586 : 602 - 629
  • [3] Toward Automatic Summarization of Arbitrary Java']Java Statements for Novice Programmers
    Hassan, Mohammed
    Hill, Emily
    [J]. PROCEEDINGS 2018 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2018, : 539 - 543
  • [4] Static deadlock detection for Java libraries
    Williams, Amy
    Thies, William
    Ernst, Michael D.
    [J]. Lect. Notes Comput. Sci., 1600, (602-629):
  • [5] Modeling Time in Java']Java Programs for Automatic Error Detection
    Liva, Giovanni
    Khan, Muhammad Taimoor
    Spegni, Francesco
    Spalazzi, Luca
    Bollin, Andreas
    Pinzger, Martin
    [J]. 2018 ACM/IEEE CONFERENCE ON FORMAL METHODS IN SOFTWARE ENGINEERING (FORMALISE 2018), 2018, : 50 - 59
  • [6] Automatic Detection of Shared Objects in Multithreaded Java']Java Programs
    Tolubaeva, Munara
    Can, Aysu Betin
    [J]. 2008 INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE FOR MODELLING CONTROL & AUTOMATION, VOLS 1 AND 2, 2008, : 522 - 526
  • [7] Java']Java access to numerical libraries
    Casanova, H
    Dongarra, J
    Doolin, DM
    [J]. CONCURRENCY-PRACTICE AND EXPERIENCE, 1997, 9 (11): : 1279 - 1291
  • [8] Developing numerical libraries in Java']Java
    Boisvert, RF
    Dongarra, JJ
    Pozo, R
    Remington, KA
    Stewart, GW
    [J]. CONCURRENCY-PRACTICE AND EXPERIENCE, 1998, 10 (11-13): : 1117 - 1129
  • [9] Recaf: Java']Java Dialects as Libraries
    Biboudis, Aggelos
    Inostroza, Pablo
    van der Storm, Tijs
    [J]. ACM SIGPLAN NOTICES, 2017, 52 (03) : 2 - 13
  • [10] Automatic Detection of Java']Java Cryptographic API Misuses: Are We There Yet?
    Zhang, Ying
    Kabir, Md Mahir Asef
    Xiao, Ya
    Yao, Danfeng
    Meng, Na
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2023, 49 (01) : 288 - 303