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

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

Transcript of Mineração de Traços de Execução AULA 20 DATA MINING.

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

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

AULA 20DATA MINING

Page 2: Mineração de Traços de Execução AULA 20 DATA MINING.

Motivação Evolução de um software

Correção de erros Adaptações de seu funcionamento Melhoria de suas funcionalidades

Como ? Requisitos funcionais originais

Como ? Documentação

Problemas Inexistente Confusa, ambigua Desatualizada

Page 3: Mineração de Traços de Execução AULA 20 DATA MINING.

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)

Page 4: Mineração de Traços de Execução AULA 20 DATA MINING.

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.

Page 5: Mineração de Traços de Execução AULA 20 DATA MINING.

Arquitetura de CelLEST

1a Fase: LeNDI

2a Fase: Mineração de padrões de interação com o usuárioLeNDI: Legacy Navigation Domain Interface

Interface Legada

S1 = i1 i2 i3 i4 ...S2 = a1 a2 a3 a4 i1 i3 ...S3 = b1 a2 a3 a4 i1 i3 ..

Sequências de identificadoresde telas

P1 = i1 i3P2 = a1 a2..

Modelo especificando uma funcionalidade

Page 6: Mineração de Traços de Execução AULA 20 DATA MINING.

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.

Page 7: Mineração de Traços de Execução AULA 20 DATA MINING.

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.

Page 8: Mineração de Traços de Execução AULA 20 DATA MINING.

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

Page 9: Mineração de Traços de Execução AULA 20 DATA MINING.

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

AAACGCGA;AAACGCGC;AAACGCGT;AAACGCGG;AACCGCGA;AACCGCGC;… Ocorre duas vezes na sequência AAACGCCTAACCGT

Algoritmo de Mineração: Teiresias

Page 10: Mineração de Traços de Execução AULA 20 DATA MINING.

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 3 5 1 33 4 8 98 9 5 6

com erro inferior a 3

Page 11: Mineração de Traços de Execução AULA 20 DATA MINING.

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 : 1 4 5 6 3 3 4 5 6 8 1 9 11 23 34 56 32 32 23 35 56 49 32 4 5 3 6

Page 12: Mineração de Traços de Execução AULA 20 DATA MINING.

Mineração de Traços de Interação com o usuário: Conceitos principais PadrãoPadrão: sequência de identificadores Um episódio e suporta um padrão psuporta um padrão p com erro máximo 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

1 4 5 6 3 3 4 5 6 8 1 9 11 23 34 56 32 32 23 35 56 49 32 4 5 3 6

p = 23 56 3223 56 32 ocorre no episódio 23 34 56 32 com no máximo 1 inserção errada.

p = 23 56 3223 56 32 ocorre no episódio 23 35 56 49 32 com no máximo 2 inserções erradas.

Page 13: Mineração de Traços de Execução AULA 20 DATA MINING.

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.

ExemploExemploS1 = 1 4 5 6 3 3 4 5 6 8 1 9 11 23 34 56 32 32 23 35 56 49 32 4 5 3 6

S2 = 2 3 5 6 2 3 3 4 5 8 6 1 9 11 4 34 5 7 8 6 35 56 49 32 4 5 3 6

Suporte (4 5 6) = 5 para α = 1 Suporte (4 5 6) = 6 para α = 3

Page 14: Mineração de Traços de Execução AULA 20 DATA MINING.

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 (α)

Page 15: Mineração de Traços de Execução AULA 20 DATA MINING.

ExemploS1 = 1 4 5 6 3 3 4 5 6 8 1 9 11 23 34 56 32 32 23 35 56 49 32 4 5 3 6

S2 = 2 3 5 6 2 3 3 4 5 8 6 1 9 11 4 34 5 7 8 6 35 56 49 32 4 5 3 6

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)

Page 16: Mineração de Traços de Execução AULA 20 DATA MINING.

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

Page 17: Mineração de Traços de Execução AULA 20 DATA MINING.

ExemploS1 = 1 4 5 6 3 3 4 5 6 8 1 9 11 23 34 56 32 32 23 35 56 49 32 4 5 3 6

S2 = 2 3 5 6 2 3 3 4 5 8 6 1 9 11 4 34 5 7 8 6 35 56 49 32 4 5 3 6 P = 4 5 6 1) α = 3

Suporte(p) = 6|p| = 3Tamanho médio dos episódios suportando p = 4Densidade(p) = 3/4 = 0,75

2) α = 1 Tamanho médio dos episódios suportando p = 3,6Densidade(p) = 3/3,6 = 0,83

Page 18: Mineração de Traços de Execução AULA 20 DATA MINING.

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.

ExemploS1 = 1 4 5 6 3 3 4 5 6 8 1 9 11 23 34 56 32 32 23 35 56 49 32 4 5 3 6

S2 = 2 3 5 6 2 3 3 4 5 8 6 1 9 11 4 34 5 7 8 6 35 56 49 32 4 5 3 6 α = 2

P = 5 6 é maximal Repare que 4 5 6 contém P, mas seu suporte é menor. P’ = 35 56 não é maximal Suporte(35 56) = 2, mas Suporte(35 56 49) = 2

Page 19: Mineração de Traços de Execução AULA 20 DATA MINING.

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)

Page 20: Mineração de Traços de Execução AULA 20 DATA MINING.

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

Page 21: Mineração de Traços de Execução AULA 20 DATA MINING.

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

IPMIPM (Recovering Software Requirements from System-user Interaction Traces – SEKE 2002) Utiliza busca em largura Permite erros de inserção

IPM2IPM2 (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)

Page 22: Mineração de Traços de Execução AULA 20 DATA MINING.

Algoritmo IPM2 – Fases principaisAlgoritmo IPM2 – Fases principais Pré-processamentoPré-processamento

Elimina repetições Descoberta de padrões (Mineração)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 mineradosAná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.

Page 23: Mineração de Traços de Execução AULA 20 DATA MINING.

Fase de Pré-processamento Um traço de interação normalmente contém repetições

4 5 6 6 6 6 6 6 6 6 7 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 4 5 6 7 não é suportado se o MaxError ≤ 4

Padrão é transformado em 4 5 (8) 6 7

Contador do identificador 6 – armazenadoem separado

Page 24: Mineração de Traços de Execução AULA 20 DATA MINING.

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

Page 25: Mineração de Traços de Execução AULA 20 DATA MINING.

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.