Resumo da Pesquisa de Aplicação HIN

Diretório de artigos

1. Segurança do código

iDev: aprimorando a segurança da codificação social por meio da identificação do usuário entre plataformas entre o GitHub e o estouro de pilha【A】

Yujie Fan, Yiming Zhang, Shifu Hou, Lingwei Chen, Yanfang Ye, Chuan Shi, Liang Zhao e Shouhuai Xu (2019). iDev: Melhorando a Segurança de Codificação Social por Identificação de Usuário de Plataforma Cruzada Entre GitHub e Stack Overflow conferência conjunta internacional sobre arte inteligência significativa.

Aprimorando a segurança de codificação social com identificação de usuário de plataforma cruzada entre o GitHub e o Stack Overflow

Antecedentes e problemas : Com a crescente popularidade de plataformas como GitHub e Stack Overflow, os possíveis problemas de segurança também estão aumentando, principalmente devido ao fato de que códigos perigosos e prejudiciais podem ser incorporados e propagados bem. A literatura usa representações gráficas heterogêneas para aprender a identificar usuários e detectar invasores de envenenamento de plataforma cruzada.

imagem-20221112203536519

Contribuição : Identificação automática de usuário de plataforma cruzada [Github e Stack Overflow], usando atributos de usuário e atributos de codificação social para identificar usuários e detectar invasores de envenenamento.

Método e modelo : Construir um grafo de interação de código de usuário multiplataforma e propor o aprendizado de representação de usuário AHIN2Vec com base na rede de informação heterogênea atribuída (AHIN). Os resultados do aprendizado de representação são usados ​​como recursos de nó para tarefas de downstream para identificação de usuário de plataforma cruzada.

imagem-20221112203612916

imagem-20221112211144024

2. Recomendação de API

Recomendação de API baseada em preferência de grupo via rede de informações heterogêneas【A】

Fenfang Xie, Liang Chen, Dongding Lin, Chuan Chen, Zibin Zheng e Xiaola Lin (2018) Pôster: Recomendação de API baseada em preferência de grupo por meio da conferência internacional Heterogeneous Information Network sobre engenharia de software.

Recomendação de API de rede de informação heterogênea com base na recomendação de grupo

Antecedentes e Problema : Uma Rede de Informação Heterogênea (HIN) é uma rede lógica que pode incluir vários tipos de arestas e vários tipos de relacionamentos de nós. Pesquisas anteriores sobre recomendação de API concentram-se principalmente em redes de informações homogêneas e poucos tipos de arestas, portanto, não tiram proveito de sua rica informação heterogênea.

Métodos e modelos : GPRec. Entrada: informações de mashup [tag, categoria, descrição], informações de API [tag, categoria, descrição, provedor] e registros históricos de chamadas entre mashups e API. Modelo GPRec: usa mashup, api e seus atributos relacionados para construir redes de informações heterogêneas. Conecte mashups com diferentes metacaminhos para aprender diferentes representações semânticas. Quatro medidas de similaridade são usadas para calcular a similaridade entre diferentes mashups. Cada par de Mashup-APIs é classificado usando o algoritmo de classificação personalizado de preferência de grupo bayesiano. Saída: resultados classificados personalizados.

imagem-20221112220447869

3. Detecção de malware Android

Aprendizado de representação de nó fora da amostra para gráfico heterogêneo na detecção de malware Android em tempo real【A】

Yanfang Ye, Shifu Hou, Lingwei Chen, Jingwei Lei, Wenqiang Wan, Jiabin Wang, Qi Xiong e Fudong Shao (2019). Aprendizagem de representação de nó fora da amostra para gráfico heterogêneo em detecção de malware Android em tempo real conferência conjunta internacional sobre inteligência artificial.

Aprendizado de representação de nó fora da amostra para gráficos heterogêneos na detecção de malware Android em tempo real

Antecedentes e problemas : A crescente sofisticação do malware Android requer tecnologias defensivas capazes de proteger os usuários móveis contra ameaças. Como a detecção de malware Android é um aplicativo sensível à velocidade e requer uma solução econômica, são necessários métodos de aprendizado escaláveis ​​para representações HG, especialmente para nós fora da amostra. A literatura utiliza representações gráficas heterogêneas para aprender a reconhecer software e detectar malware.

imagem-20221113130444927

Método e modelo : Construir um grafo heterogêneo da relação APP-componente e realizar o aprendizado de representação de grafos heterogêneos com base no aprendizado de grafos heterogêneos. Use as representações aprendidas como recursos do nó de tarefa downstream para detecção de software.

imagem-20221113130625080

imagem-20221113134330848

imagem-20221113134802037

4. Detecção de relatório de bug duplicado

HINDBR: Previsão de Relatório de Bug Duplicado Baseada em Rede de Informações Heterogêneas【B】

Guanping Xiao, Xiaoting Du, Yulei Sui e Tao Yue (2020). HINDBR: Heterogeneous Information Network Based Duplicate Bug Report Prediction simpósio internacional sobre engenharia de confiabilidade de software.

Previsão de relatórios de erros repetidos com base em rede de informações heterogêneas

Antecedentes e problema : Há erros repetidos no sistema de rastreamento de erros. Os métodos existentes são baseados principalmente no método de similaridade de texto para identificar erros repetidos, mas este método torna-se inviável em JIT.

Métodos e modelos : HINDBR. Por meio do aprendizado de representação do HIN, o HINDRB incorpora a relação semântica do relatório de erro no espaço de baixa dimensão e usa a distância de Manhattan para encontrar a distância entre os dois vetores. o espaço potencial, os dois vetores são considerados Indica um erro de repetição.

imagem-20221113152551402

HIN construído:

  1. 节点: relatório de bug (BID)【TextBID,recursos não estruturados】, componente (COM), produto (PRO), versão (VER), prioridade (PRI) e gravidade (SEV).【estruturado】
  2. 关系:Bug-Component,Component-Product,Bug-Version,Bug-Priority,Bug-Severity

Representação e fusão de recursos:

  1. Estrutura. HIN2Vec para pré-treinar características estruturais.
  2. características não estruturais. Word2Vec para pré-treinar texto de recurso não estruturado.
  3. Para um nó, seus recursos estruturais e não estruturais são fundidos como sua representação final de recursos.

Método de medição de similaridade de bug duplicado: distância de Manhattan

Limitações e trabalhos futuros : Como os vetores pré-treinados são baseados no conjunto de dados especificado, o modelo não pode ser generalizado para outros conjuntos de dados para detecção de erros repetidos.

5. Compreensão e representação do programa

Aprendendo a representar programas com grafos heterogêneos【B】

Wenhan Wang, Kechi Zhang, Ge Li e Zhi Jin (2021). Aprendendo a Representar Programas com Grafos Heterogêneos arXiv: Engenharia de Software.

Representações de programas de aprendizado usando gráficos heterogêneos

Antecedentes e Problema : A representação de código converte programas em vetores semânticos e é crucial para o processamento do código-fonte. Abstract Syntax Tree (AST) [Abstract Syntax Tree] é um gráfico aprimorado que contém informações semânticas ricas e informações estruturais. Para aprender a representação de códigos, os métodos existentes são principalmente grafos isomórficos, portanto, as informações de tipo de nós e arestas são ignoradas. A literatura usa representação gráfica heterogênea para aprender e entender o código-fonte, previsão de nome de método e classificação de código

imagem-20221113170808781

Método e modelo : Gráfico de Programa Heterogêneo (HPG): Fornece os tipos de nós e arestas e usa Linguagem de Descrição de Sintaxe Abstrata (ASDL) para gerar gráficos heterogêneos de sintaxe abstrata a partir de árvores de sintaxe abstrata. A representação do nó do grafo heterogêneo é aprendida com base no HGT e o resultado da representação é usado como o recurso do nó da tarefa a jusante.

imagem-20221113165601899

imagem-20221113171449477

Transformador de gráfico heterogêneo (HGT) :

imagem-20221113171909013imagem-20221113172211359imagem-20221113171921912imagem-20221113171935022

As falhas do método :

  1. As características de atributos de nós e arestas não são introduzidas, então a representação precisa ser inicializada.
  2. A estrutura de sub-token adotada possui fortes requisitos de suposição para nomeação de entidade

6. Distribuição do desenvolvedor do relatório de defeitos

KSAP: Uma abordagem para atribuição de relatório de bug usando pesquisa KNN e proximidade heterogênea【B】

Wen Zhang, Song Wang e Qing Wang (2016). KSAP: Uma abordagem para atribuição de relatórios de bugs usando pesquisa KNN e tecnologia de informação e software de proximidade heterogênea.

Um método de atribuição de relatório de bug baseado em pesquisa KNN e proximidade heterogênea

Antecedentes e problemas : A atribuição oportuna de relatórios de bugs aos desenvolvedores é fundamental para a garantia de qualidade do software. Atribuir bugs aos desenvolvedores adequados é difícil à medida que os sistemas de software evoluem.

Modelos e Métodos : KSAP. Quando um novo relatório de bug é enviado, um gráfico heterogêneo do relatório de bug é construído. O KSAP distribuirá este relatório ao desenvolvedor usando um processo de dois estágios. O primeiro estágio é pesquisar relatórios de bug semelhantes resolvidos historicamente para novos relatórios de bug por meio do método k-Nearest Neighbor (KNN). A segunda etapa é classificar os desenvolvedores que contribuíram com relatórios de bug semelhantes com base em diferentes tipos de proximidade.

imagem-20221113193429515

imagem-20221113193613950

实体:desenvolvedor, bug, comentário, componente, produto。

relação:

imagem-20221113194415204

Trabalho futuro : Mais entidades, como a versão e a plataforma do relatório de bug, serão consideradas no repositório de bug para alavancar informações mais heterogêneas para recomendar desenvolvedores para resolver o relatório de bug. Planos futuros abordam o problema da superespecialização em classificação de proximidade heterogênea.

7. Detecção de vulnerabilidade de contrato inteligente

MANDO: Embeddings de gráficos heterogêneos de vários níveis para detecção refinada de vulnerabilidades de contratos inteligentes

Hoang H. Nguyen, Nhat-Minh Nguyen, Chunyao Xie, Zahra Ahmadi, Daniel Kudendo, Thanh-Nam Doan e Lingxiao Jiang (2022). MANDO: Embeddings de gráficos heterogêneos de vários níveis para detecção refinada de vulnerabilidades de contratos inteligentes

Incorporação heterogênea de vários níveis para detecção refinada de vulnerabilidades de contratos inteligentes

Antecedentes e Problema : Aprender grafos heterogêneos compostos por diferentes tipos de nós e arestas melhora os resultados das técnicas de grafos isomórficos. Um gráfico de fluxo de controle é um gráfico heterogêneo que representa o fluxo possível de execução de código de software. Gráficos de fluxo de controle podem representar informações mais semânticas de códigos, técnicas de desenvolvimento e ferramentas, o que é benéfico para detectar vulnerabilidades em software. Os métodos existentes não podem lidar com grafos heterogêneos com um grande número de arestas e nós de tipos diferentes.

Modelos e Métodos : MANDO. Dado o código de software no contrato inteligente Ethereum, construa um gráfico heterogêneo de fluxo de controle e um gráfico heterogêneo de gráfico de chamada e funda os dois gráficos para construir um gráfico de contrato heterogêneo. Métodos baseados em metapath aprendem representações de nós para grafos de contratos heterogêneos. Use os resultados de aprendizado de representação como recursos de nó de tarefa downstream para identificar vulnerabilidades em contratos.

imagem-20221113200942845

imagem-20221113201015285

8. Detecção de Fragmento de Código Inseguro

ICSD: um sistema automático para detecção de trecho de código inseguro em estouro de pilha em rede de informações heterogêneas【B】

Yanfang Ye, Shifu Hou, Lingwei Chen, Xin Li, Liang Zhao, Shouhuai Xu, Jiabin Wang e Qi Xiong (2018). ICSD: um sistema automático para detecção de trecho de código inseguro em estouro de pilha em rede de informações heterogêneas. referência .

Um sistema automatizado para detectar fragmentos de código seguros no Stack Overflow usando uma rede de informações heterogêneas

Antecedentes e problemas : Com a popularidade do paradigma de codificação [Stack Overflow] na sociedade moderna, os riscos de segurança de códigos inseguros serem facilmente incorporados e distribuídos no sistema também estão aumentando.

Modelo e método :

  1. Use o conteúdo do código [nome da função, função, API] e atributos de codificação social para detectar trechos de código não seguros no Stack Overflow. Os atributos de codificação social incluem usuários, distintivos, perguntas, respostas, trechos de código e muito mais.
  2. Aproveitando o HIN para aprender relações semânticas ricas, uma abordagem baseada em meta-caminho incorpora recursos semânticos de nível superior para estabelecer a relevância dos segmentos de código.
  3. Um framework snippet2vec é proposto para aprender a representação de conhecimento semântico rico e conhecimento estrutural em HIN.
  4. Classificadores de fusão multi-view para tarefas downstream [detecção de fragmentos de código inseguros].

imagem-20221118162214221

Vantagens do modelo :

  1. Uma representação de recurso atualizada dos dados do Stack Overflow.
  2. Um classificador de fusão multi-view baseado em modelos de aprendizado de representação de última geração.
  3. O sistema atual para detecção automática de trechos de código não seguros.

9. Distribuição do desenvolvedor do relatório de bug

Uma estrutura de rede neural de gráfico espaço-temporal para triagem automatizada de bugs de software

Hongrun Wu, Yutao Ma, Zhenglong Xiang, Chen Yang e Keqing He (2021). Uma Estrutura de Rede Neural de Grafo Espaço-Temporal para Triagem Automatizada de Bugs de Software arXiv: Engenharia de Software.

Redes neurais de gráficos espaço-temporais para diagnóstico e classificação automatizados de erros de software

Antecedentes e perguntas :

  1. Para atribuir bugs com eficiência a desenvolvedores designados, um procedimento de triagem de diagnóstico de bug é muito importante.
  2. A maioria dos métodos existentes se concentra apenas no gráfico de dobramento estático de uma única fatia de tempo, que carece de dinâmica e escalabilidade.
  3. Nenhum dos trabalhos anteriores considerou a interação periódica dos desenvolvedores.

Modelo e método :

  1. Proposta de rede neural de gráfico dinâmico espaço-temporal (ST-DGNN), uma rede neural de gráfico dinâmico espaço-temporal. Incluindo mecanismo de caminhada aleatória conjunta (JRWalk) e modelo de rede neural convolucional recorrente de gráfico (GRCNN) em duas partes.
  2. JRWalk usa duas estratégias de amostragem para amostrar a topologia local, considerando a importância dos nós [grau do nó, reputação] e arestas [peso da aresta, preferência].
  3. O CRCNN possui três componentes estruturais idênticos: periodicidade horária, periodicidade diária e periodicidade semanal. Aprendendo recursos dinâmicos de redes de colaboração do desenvolvedor (DCN) em gráficos espaço-temporais. [CNN, LSTM]

imagem-20221204101859927

imagem-20221204101924054

imagem-20221204101944471

10. Recomendações de revisão de código

Usando o aprendizado de representação gráfica heterogênea em larga escala para recomendações de revisão de código

Jiyang Zhang, Chandra Maddila, Ram Bairi, Christian Bird, Ujjwal Raizada, Apoorva Agrawal, Yamini Jhawar, Kim Herzig e Arie van Deursen (2022). Usando o aprendizado de representação gráfica heterogênea em larga escala para recomendações de revisão de código

Usando a aprendizagem de representação gráfica heterogênea em larga escala para recomendações de revisão de código

Antecedentes e perguntas :

  1. A revisão de código é um processo importante no desenvolvimento de software maduro.
  2. A maioria dos sistemas de recomendação de revisão depende principalmente de alterações históricas de documentos e informações de comentários. Embora esses métodos sejam capazes de identificar e sugerir revisores qualificados, eles podem ser cegos para revisores que possuem o conhecimento necessário e nunca interagiram com o arquivo alterado.

Modelo e método :

  1. Coral. Sistema de recomendação do examinador. Um gráfico sócio-técnico construído a partir de um rico conjunto de entidades (incluindo desenvolvedores, repositórios, arquivos, solicitações pull, itens de trabalho, etc.) e seus relacionamentos em um sistema de controle de origem moderno.
  2. Usando RGCN para aprendizagem de representação de grafos heterogêneos.
  3. Adote um paradigma de aprendizado indutivo.
  4. A estrutura do modelo é simples e adequada para grafos heterogêneos de grande escala.

imagem-20221204102257269

imagem-20221204102207906

RGCN :

imagem-20221204102534189

defeito :

  1. As características de atributos de nós e arestas não são consideradas.
  2. As suposições de IID precisam ser satisfeitas.
  3. Para fundir os recursos do nó e a topologia do gráfico, ele não possui capacidade autoadaptativa.

Resumir

Processo Geral HIN

  1. Colete conjuntos de dados relevantes
  2. Construindo grafos heterogêneos [nós, arestas, atributos, meta-caminhos]
  3. Aprendizado de Representação de Nó em Gráficos Heterogêneos
  4. tarefa a jusante

Desafios enfrentados pelo HIN

  1. Como coletar e limpar conjuntos de dados
  2. Como construir gráficos heterogêneos eficazes
  3. Como projetar codificadores adequados para aprender representações de nós com base em tarefas downstream
  4. Como estender para cenários OOD e cenários de dados gráficos em grande escala
  5. Como construir um conjunto suficiente e eficaz de meta-caminhos em métodos de aprendizado de representação baseados em meta-caminho

Métodos de aprendizagem de representação gráfica heterogênea

  1. Método baseado em meta-caminho [HIN2Vec]
  2. Método baseado no mecanismo de atenção [HGT]
  3. Método de combinação de metacaminho e mecanismo de atenção [HAN]

caminho meta

imagem-20221112211008182

img

Acho que você gosta

Origin blog.csdn.net/qq_45724216/article/details/128170022
Recomendado
Clasificación