Yujie Fan, Yiming Zhang, Shifu Hou, Lingwei Chen, Yanfang Ye, Chuan Shi, Liang Zhao, & Shouhuai Xu (2019). iDev: Enhancing Social Coding Security by Cross-platform User Identification Between GitHub and Stack Overflow international joint conference on artificial intelligence.
通过GitHub和Stack overflow之间的跨平台用户识别来增强社交编码安全
背景与问题:GitHub与Stack Overflow等平台逐渐流行,潜在的安全问题也在上升,主要归因于风险与有害代码能很好地嵌入传播。文献利用异质图表示学习识别用户,检测跨平台投毒攻击者。
贡献:自动跨平台【Github与Stack Overflow】用户识别,利用用户的属性与社交编码属性等进行用户标识,检测投毒攻击者。
方法与模型:构造跨平台用户代码交互图,基于attributed heterogeneous information network (AHIN),提出AHIN2Vec用户表示学习。将表示学习的结果用作下游任务的节点特征,进行跨平台用户识别。
Fenfang Xie, Liang Chen, Dongding Lin, Chuan Chen, Zibin Zheng, & Xiaola Lin (2018). Poster: Group Preference Based API Recommendation via Heterogeneous Information Network international conference on software engineering.
基于组推荐的异构信息网络API推荐
背景与问题:异构信息网络(HIN)是一种能够包括多种类型的边与多种类型的节点关系的逻辑网络。先前的API推荐研究主要关注在同构信息网络以及很少种类的边,所以并没有利用其本身丰富的异构信息。
方法与模型:GPRec。输入:Mashup信息【tag、category、description】,API 信息【tag,category、description、provider】以及Mashups与API之间的历史调用记录。GPRec Model:利用mashup、api、以及它们之间的相关属性构造异构信息网络。利用不同元路径连接mashup来学习不同的语义表示。利用四种相似度度量方法来计算不同混搭之间的相似度。采用贝叶斯群偏好个性化排序算法对每对Mashup-API排序。输出:个性化排序后的结果。
Yanfang Ye, Shifu Hou, Lingwei Chen, Jingwei Lei, Wenqiang Wan, Jiabin Wang, Qi Xiong, & Fudong Shao (2019). Out-of-sample Node Representation Learning for Heterogeneous Graph in Real-time Android Malware Detection international joint conference on artificial intelligence.
Android 恶意软件实时检测中异构图的样本外节点表示学习
背景与问题:日益复杂的安卓恶意软件要求有能力保护移动用户免遭威胁的防御技术。由于 Android 恶意软件检测是一个速度敏感的应用程序并且需要具有成本效益的解决方案,因此需要可扩展的 HG 表示学习方法,特别是对于样本外节点。文献利用异质图表示学习识别软件,检测恶意软件。
方法与模型:构造APP-组件关系异质图,基于Heterogeneous Graph Learning进行异质图表示学习。将学习表示用作下游任务节点特征,进行软件检测。
Guanping Xiao, Xiaoting Du, Yulei Sui, & Tao Yue (2020). HINDBR: Heterogeneous Information Network Based Duplicate Bug Report Prediction international symposium on software reliability engineering.
基于异构信息网络的重复Bug报告预测
背景与问题:Bug追踪系统中存在重复的Bug错误。现存的方法主要是基于文本相似度的方法来进行重复Bug识别,但是这个方法在JIT中变得不可行。
方法与模型:HINDBR。通过HIN的表征学习,HINDRB将错误报告的语义关系嵌入到低维空间中,利用曼哈顿距离求两个向量之间的距离,当两个向量距离在潜在空间彼此接近时,就认为这两个向量表示的是一个重复错误。
构造的HIN:
特征表示与融合:
重复Bug相似度度量方法:曼哈顿距离
局限与未来工作:因为预训练的向量都是基于指定数据集,所以模型不能泛化到其它数据集来进行重复Bug检测。
Wenhan Wang, Kechi Zhang, Ge Li, & Zhi Jin (2021). Learning to Represent Programs with Heterogeneous Graphs arXiv: Software Engineering.
使用异构图学习程序表示
背景与问题:代码表示将程序转换为具有语义的向量,对于源代码处理至关重要。Abstract Syntax Tree (AST)【抽象语法树】所构成的增强图,包含丰富的语义信息与结构信息。为了学习代码的表示,现存的方法主要是同构图,所以忽视了节点与边的类型信息。文献利用异质图表示学习理解源代码,进行方法名预测与代码分类
方法与模型:Heterogeneous Program Graph (HPG):提供节点与边的类型,使用Abstract Syntax Description Language (ASDL)将抽象语法树生成抽象语法异质图。基于HGT学习异质图的节点表示,将表示结果作为下游任务节点特征。
Heterogeneous Graph Transformer (HGT):
方法存在的缺陷:
Wen Zhang, Song Wang, & Qing Wang (2016). KSAP: An approach to bug report assignment using KNN search and heterogeneous proximity Information & Software Technology.
一种基于KNN搜索和异构邻近的bug报告分配方法
背景与问题:及时的将Bug报告分配给开发人员,对软件质量保证至关重要。随着软件系统发展,将Bug分配给合适的开发人员是困难的。
模型与方法:KSAP。当一个新的Bug报告提交后,构造该Bug报告的异质图。KSAP将使用一个二阶段程序分配该报告给开发者。第一个阶段是通过k -最近邻(KNN)方法将历史上已解决的类似bug报告搜索到新的bug报告。第二阶段是根据不同种类的邻近性对那些贡献了类似错误报告的开发人员进行排名。
实体:developer, bug, comment, component, product。
关系:
未来工作:将在错误存储库中考虑更多实体,例如错误报告的版本和平台,以利用更多异构信息来推荐开发人员解决错误报告。未来计划解决异构邻近度排名中过度专业化的问题。
Hoang H. Nguyen, Nhat-Minh Nguyen, Chunyao Xie, Zahra Ahmadi, Daniel Kudendo, Thanh-Nam Doan, & Lingxiao Jiang (2022). MANDO: Multi-Level Heterogeneous Graph Embeddings for Fine-Grained Detection of Smart Contract Vulnerabilities
用于细粒度检测智能合约漏洞的多级异构嵌入
背景与问题:学习由不同类型的节点和边组成的异构图增强了同构图技术的结果。控制流图这种异构图表示可能的软件代码执行流。控制流图能表示更多代码、开发技术和工具的语义信息,从而有利于检测软件中的漏洞。现存的方法不能处理具有不同类型的大量边与节点的异构图。
模型与方法:MANDO。给定以太坊智能合约中的软件代码,构造控制流异质图与调用图异质图,将两种图融合构造异质合约图。基于元路径的方法学习异质合约图的节点表示。将表示学习结果用作下游任务节点特征,识别合约中存在漏洞。
Yanfang Ye, Shifu Hou, Lingwei Chen, Xin Li, Liang Zhao, Shouhuai Xu, Jiabin Wang, & Qi Xiong (2018). ICSD: An Automatic System for Insecure Code Snippet Detection in Stack Overflow over Heterogeneous Information Network annual computer security applications conference.
使用异构信息网络对Stack Overflow中的安全代码片段检测的自动化系统
背景与问题:随着现代社会编码范式【Stack Overflow】的流行,不安全的代码在系统中很简单嵌入与分布的安全隐患也在增加。
模型与方法:
模型优点:
Hongrun Wu, Yutao Ma, Zhenglong Xiang, Chen Yang, & Keqing He (2021). A Spatial-Temporal Graph Neural Network Framework for Automated Software Bug Triaging arXiv: Software Engineering.
用于自动化软件Bug诊断分类的时空图神经网络
背景与问题:
模型与方法:
Jiyang Zhang, Chandra Maddila, Ram Bairi, Christian Bird, Ujjwal Raizada, Apoorva Agrawal, Yamini Jhawar, Kim Herzig, & Arie van Deursen (2022). Using Large-scale Heterogeneous Graph Representation Learning for Code Review Recommendations
使用大规模异构图表征学习用于代码审查推荐
背景与问题:
模型与方法:
RGCN:
缺陷:
HIN通用流程
HIN面对的挑战
异质图表示学习方法
元路径