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 条
  • [31] Automatic Translation from Circus to Java']Java
    Freitas, Angela
    Cavalcanti, Ana
    [J]. FM 2006: FORMAL METHODS, PROCEEDINGS, 2006, 4085 : 115 - 130
  • [32] An automatic method for refactoring Java']Java programs
    Yamazaki, S
    Nagata, M
    [J]. KNOWLEDGE-BASED SOFTWARE ENGINEERING, 2002, 80 : 167 - 172
  • [33] Automatic translation from Java']Java to Spark
    Li, Bing
    Xiao, Xueli
    Pan, Yi
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2018, 30 (20):
  • [34] Automatic verification of Java']Java design patterns
    Blewitt, A
    Bundy, A
    Stark, I
    [J]. 16TH ANNUAL INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2001), PROCEEDINGS, 2001, : 324 - 327
  • [35] ADiJaC - Automatic Differentiation of Java']Java Classfiles
    Slusanschi, Emil I.
    Dumitrel, Vlad
    [J]. ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2016, 43 (02):
  • [36] Towards automatic specialization of Java']Java programs
    Schultz, UP
    Lawall, JL
    Consel, C
    Muller, G
    [J]. ECOOP'99 - OBJECT-ORIENTED PROGRAMMING, 1999, 1628 : 367 - 390
  • [37] Convert2Java']Java: semi-automatic conversion of C to Java']Java
    Allan, VH
    Chen, X
    [J]. FUTURE GENERATION COMPUTER SYSTEMS, 2001, 18 (02) : 201 - 211
  • [38] An Analysis of Library Rollbacks: A Case Study of Java']Java Libraries
    Suwa, Hirohiko
    Ihara, Akinori
    Kula, Raula Gaikovina
    Fujibayashi, Daiki
    Matsumoto, Kenichi
    [J]. 2017 24TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE WORKSHOPS (APSECW), 2017, : 63 - 70
  • [39] Efficiently refactoring Java']Java applications to use generic libraries
    Fuhrer, R
    Tip, F
    Kiezun, A
    Dolby, J
    Keller, M
    [J]. ECOOP 2005 - OBJECT-ORIENTED PROGRAMMING, PROCEEDINGS, 2005, 3586 : 71 - 96
  • [40] Making Java']Java(TM) math libraries by translating Fortran
    Myszewski, M
    [J]. IEEE COMPCON 97, PROCEEDINGS, 1997, : 185 - 190