A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Mineração de Traços de Execução

Apresentações semelhantes


Apresentação em tema: "Mineração de Traços de Execução"— Transcrição da apresentação:

1 Mineração de Traços de Execução
AULA 20 DATA MINING

2 Motivação Evolução de um software Como ? Problemas Correção de erros
Adaptações de seu funcionamento Melhoria de suas funcionalidades Como ? Requisitos funcionais originais Documentação Problemas Inexistente Confusa, ambigua Desatualizada

3 Problema central Entender as funcionalidades de um software existente, cuja documentação é inutilizável. Exemplo Adaptação das funcionalidades de um software existente para operar em novas plataformas (ex. Web)

4 Exemplo Projeto CelLEST (University of Alberta – Canada) Objetivo:
Desenvolver um método semi-automático para migrar para a Web interfaces desenvolvidas originalmente para serem operadas em plataformas tradicionais. Documentação das interfaces originais não são utilizáveis. Metodologia: as funcionalidades de uma interface podem ser “descobertas” a partir do comportamento em tempo real de seus usuários.

5 Arquitetura de CelLEST
Interface Legada S1 = i1 i2 i3 i4 ... S2 = a1 a2 a3 a4 i1 i3 ... S3 = b1 a2 a3 a4 i1 i3 .. Sequências de identificadores de telas 1a Fase: LeNDI P1 = i1 i3 P2 = a1 a2 .. Modelo especificando uma funcionalidade 2a Fase: Mineração de padrões de interação com o usuário LeNDI: Legacy Navigation Domain Interface

6 Traços da Interação com o Usuário
Cada sequência = lista de identificadores de telas da interface. S = i1 i2 ... in Transição entre duas telas = Resulta de uma sequência de movimentos do cursor Resulta de um conjunto de teclas “apertadas” Padrão sequencial representa múltiplas execuções de uma mesma tarefa. Padrão sequencial corresponde a uma funcionalidade da interface.

7 Tecnologia utilizada após a mineração
Transformando padrões de interação com o usuário em um modelo de especificação de uma funcionalidade da interface Enfoque “Programação por demonstração” Cypher, A. : Watch What I do: Programming by Demonstration, MIT Press, Cambridge, MA, 1993. Transformando as especificações de funcionalidades numa especificação declarativa da interface Kapoor, R. Stroulia, E. : Simultaneous Legacy Interface Migration to Multiple Platforms. Proc. 9th Int. Conf. On Human-Computer Interaction., Vol. 1, 51-55, 2001. Nova interface = front-end da interface legada, para ser utilizada em um ambiente multi-plataforma.

8 Mineração de Sequências: para diferentes problemas, diferentes soluções
Mineração de Padrões Sequenciais em banco de dados de sequências de transações: GSP, Spade, PrefixSpan, Clospan. Mineração de Episódios (Mannila-Toivonen-Verkamo) em uma única sequência longa: Winepi, Minepi, Seq-ready&Go

9 Mineração de Sequências: para diferentes problemas, diferentes soluções
Mineração de Padrões em Bioinformática- cada padrão é uma expressão regular (representando um conjunto de strings). Exemplo de padrão A.CG. Representa o conjunto de strings AACGA;AACGC;AACGT;AACGG;ACCGA;ACCGC;… Ocorre duas vezes na sequência AACGCCTACCGT Algoritmo de Mineração: Teiresias

10 Mineração de Sequências: para diferentes problemas, diferentes soluções
Mineração de Traços de Interação em banco de dados de sequências de identificadores de telas Exemplo de padrão 1 4 5 ocorre na sequência com erro inferior a 3

11 Mineração de Traços de Interação com o usuário: Conceitos principais
A = alfabeto de identificadores de telas da interface do sistema legado. Sequência s = sequência de elementos de A = {a1, ..., an}. Representa um traço de interação entre a interface do sistema legado e um de seus usuários. Episódio e = subsequência (contigua) de uma sequência do banco de dados de traços = pedaço de uma sequência Exemplo :

12 Mineração de Traços de Interação com o usuário: Conceitos principais
Padrão: sequência de identificadores Um episódio e suporta um padrão p com erro máximo α se p ocorre em e com no máximo α inserções erradas p[1] = e[1] e p[n] = e[m], onde n= tamanho de p, m = tamanho de e Os elementos de p aparecem em e na mesma ordem em que aparecem em p. Exemplo p = ocorre no episódio com no máximo 1 inserção errada. p = ocorre no episódio com no máximo 2 inserções erradas.

13 Mineração de Traços de Interação com o usuário: Conceitos principais
Suporte de um padrão p com relação a um limite α de erros = número de episódios em um conjunto de sequências que suportam p com um número máximo α de erros de inserção. Exemplo S1 = S2 = Suporte (4 5 6) = 5 para α = 1 Suporte (4 5 6) = 6 para α = 3

14 Mineração de Traços de Interação com o usuário: Conceitos principais
Lista de localizações de um padrão p num conjunto de sequências – com relação a um limite α de inserções erradas. Lista de triplas (seqnum, startLoc, endloc) Seqnum = identificador da sequência onde p aparece startLoc = início do episódio suportando p (α) endLoc = fim do episódio suportando p (α)

15 Exemplo S1 = S2 = P = 4 5 6 α = 3 Loclist(p) = (s1, 2, 4), (s1, 7, 10), (s1, 24, 27), (s2, 8, 11), (s2, 15, 20), (s2, 25, 27)

16 Mineração de Traços de Interação com o usuário: Conceitos principais
Densidade de um padrão p suportado por um conjunto de episódios E = razão entre o tamanho de p e o tamanho médio dos episódios de E. Densidade(p) = |p| * suporte(p) Σ |e| e ɛ E

17 Exemplo S1 = S2 = P = 4 5 6 1) α = 3 Suporte(p) = 6 |p| = 3 Tamanho médio dos episódios suportando p = 4 Densidade(p) = 3/4 = 0,75 2) α = 1 Tamanho médio dos episódios suportando p = 3,6 Densidade(p) = 3/3,6 = 0,83

18 Mineração de Traços de Interação com o usuário: Conceitos principais
Padrão Maximal P é maximal se todo padrão que o contiver tem suporte estritamente menor do que P. Exemplo S1 = S2 = α = 2 P = é maximal Repare que contém P, mas seu suporte é menor. P’ = não é maximal Suporte(35 56) = 2, mas Suporte( ) = 2

19 Mineração de Traços de Interação com o usuário: Conceitos principais
Critérios de qualificação de um padrão p (comp-minimo, MinSup, MaxError, MinScore) comp-minimo = comprimento minimo MinSup = suporte mínimo MaxError = número máximo de erros de inserção MinScore = score mínimo score(p) = log |p| * log sup(p) * densidade(p)

20 Problema de Mineração de Traços de Interação
Dados Conjunto de traços de interação Um critério de qualificação C= (comp-min, minsup, maxerror, minscore) Determinar todos os padrões maximais p satisfazendo o critério de qualificação C |p| ≥ comp-min Sup(p) ≥ minsup com relação a maxerror Score(p) ≥ minscore

21 Algoritmos IPM (Interaction Pattern Mining)
Primeiro algoritmo desenvolvido (Mining System-User Interaction Traces for Use Case Models – IWPC 2002) Padrões não permitem erros de inserção Técnica Apriori IPM (Recovering Software Requirements from System-user Interaction Traces – SEKE 2002) Utiliza busca em largura Permite erros de inserção IPM2 (From Run-time behavior to Usage Scenarios: An Interaction-Pattern Mining Approach – ACM SIGKDD 2002) Utiliza busca em profundidade Evita multiplas varridas no banco de dados, guardando as listas de localizações (técnica parecida com a do TreeMiner)

22 Algoritmo IPM2 – Fases principais
Pré-processamento Elimina repetições Descoberta de padrões (Mineração) Minera os padrões sobre o banco de dados pré-processado que verificam o critério de qualificação especificado pelo usuário Análise dos padrões minerados Ajuste no critério de qualificação para identificar padrões de interação que realmente correspondem a requisitos funcionais do sistema legado. Quanto mais longos os traços de execução e quanto mais estrito o critério c mais provável que os padrões minerados correspondam a requisitos funcionais do sistema legado real. Um usuário com conhecimento do dominio da aplicação deve decidir quais dos padrões minerados correspondem a funcionalidades do sistema legado.

23 Fase de Pré-processamento
Um traço de interação normalmente contém repetições Usuário acessou diversas vezes consecutivamente a tela 6 (por exemplo, no software de uma biblioteca, acessou diversas vezes a mesma instância da tela de consulta do catálogo) Repetições podem impedir que certos padrões interessantes sejam detectados não é suportado se o MaxError ≤ 4 Padrão é transformado em 4 5 (8) 6 7 Contador do identificador 6 – armazenado em separado

24 Fase de Mineração Geração do conjunto inicial de padrões candidatos de tamanho 2 Padrão candidato = satisfaz minsup e maxerror Gerados exaustivamente a partir do banco de dados Listas de localização são produzidas Geração de padrões candidatos mais longos Junta-se padrões de tamanho k com padrões de tamanho 2 Geração é feita em profundidade no espaço dos padrões. Construção de lista de localização associada a um padrão candidato

25 Referências M. El-Ramly, E. Stroulia, P. Sorenson:
From Run-time behavior to Usage Scenarios: An Interaction-Pattern Mining Approach ACM SIGKDD 2002. Cypher, A. : Watch What I do: Programming by Demonstration, MIT Press, Cambridge, MA, 1993. Kapoor, R. Stroulia, E. : Simultaneous Legacy Interface Migration to Multiple Platforms. Proc. 9th Int. Conf. On Human-Computer Interaction., Vol. 1, 51-55, 2001.


Carregar ppt "Mineração de Traços de Execução"

Apresentações semelhantes


Anúncios Google