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

Upload: internet

Post on 17-Apr-2015

108 views

Category:

Documents


2 download

TRANSCRIPT

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.