• Nenhum resultado encontrado

Um estudo exploratório: Avaliando EPL

N/A
N/A
Protected

Academic year: 2021

Share "Um estudo exploratório: Avaliando EPL"

Copied!
19
0
0

Texto

(1)

OPUS Research Group

LES | DI |PUC-Rio - Brazil

Benjamin Jakobus – benjamin.jakobus@les.inf.puc-rio.br

(2)

benjamin.jakobus@les.inf.puc-rio.br

Teoria

 Quanto mais complexo for um sistema, mais potencial que

existe para a ocorrência de eventos inesperados.

 Estes acontecimentos excepcionais e inesperados em tempo

de execução são conhecidos como exceções.

 Lidar com exceções pode ser muito difícil e complexo.

2

(3)

benjamin.jakobus@les.inf.puc-rio.br

Teoria

 Existem muitos tipos de dependências de exceção.

 Uma vez levantada, os efeitos da uma exceção pode cascata

em todo o sistema.

 Os desenvolvedores devem argumentar com os efeitos e

implicações das exceções.

3 Sept - 2014

(4)

benjamin.jakobus@les.inf.puc-rio.br

Teoria

 Muitos desenvolvedores tendem a prestar pouca atenção ao

tratamento de exceções, ou até mesmo ignorá-lo por completo [1] [2]

“Exception handling negligence due to intra-individual goal conflicts,”

CHASE, 2009.

“Understanding Exception Handling: Viewpoints of Novices and Experts,”

IEEE Trans. Softw. Eng., Mar. 2010

4 Sept - 2014

(5)

benjamin.jakobus@les.inf.puc-rio.br

Teoria

Linguistic relativity

“the structure of a language affects the ways in which its respective

speakers conceptualize their world”

Sapir–Whorf hypothesis: “language determines thought”  If we can’t express something, how can we reason about it?

5 Sept - 2014

(6)

benjamin.jakobus@les.inf.puc-rio.br

Teoria

 Eiji Barbosa e Alessandro Garcia propôs uma linguagem de

domínio específico (EPL) para permitir que os

desenvolvedores / arquitetos expressar suas intenções de

manipulação de exceção.

“A Domain-Specific Language to Support Verifiable Exception

Handling Policies”, Barbosa, Garcia, Robillard, Jakobus -

Submitted to IEEE Transaction on Reliability

6 Sept - 2014

(7)

benjamin.jakobus@les.inf.puc-rio.br

Pensamentos…

 Como "expressivo" é EPL?

 O número de dependências não expressas?

 O número de conceitos que são requeridas para serem

descritos em relação ao número real de conceitos que precisam de ser descritos e compreendidos?

 Regras EPL pode ser executada dentro de um ambiente CI?

Há indicações de que a EPL é útil dentro do "mundo real"?

Caso EPL se preocupar apenas com dependências hein?

7 Sept - 2014

(8)

benjamin.jakobus@les.inf.puc-rio.br

Expressividade

Métricas Expressividade

Largura (EPL pode expressar toda a "amplitude" das políticas

de tratamento de exceções?)

Dados

 Gitlab vs Bitbucket

8 Sept - 2014

(9)

Github vs Bitbucket

 Github tem mais repositórios públicos que utilizam Git.

 O conjunto de dados é muito mais fácil de analisar, uma vez

que está disponível no Google bigdata e não necessita de chamadas para a API web-service / REST.

 Github hospeda muito mais projetos Java que Bitbucket:

cerca de 24 milhões vs 39 mil. Em outras palavras 'Github é mais popular entre os desenvolvedores Java e, portanto,

oferece uma população muito maior do que a amostra.

(10)

…digressing…

(11)

…digressing…

11 0 12500000 25000000 37500000 50000000

Github - Most popular languages (>= 2000000)

(12)

benjamin.jakobus@les.inf.puc-rio.br

Hipótese

H1: EPL pode representar todos os elementos de dependência.

H2: EPL pode representar todos os elementos de fluxo.

H3: EPL pode representar todos os elementos de efeito.

H4: É possível a utilização EPL dentro de um ambiente CI.

H5: Existe pelo menos um caso de uso de um sistema de

indústria-força em que o EPL uso poderia ter salvo os custos de produção consideráveis​​, tempo e / ou esforço.

12 Sept - 2014

(13)

benjamin.jakobus@les.inf.puc-rio.br

Exemplo Motivador

 Relevância no mundo real  IBM Connections Toolkit

 https://developer.ibm.com/social/

 Open source. Código disponível no Github.

 Abrange muitos produtos como IBM Connections, IBM

Notes/Domino, IBM Sametime.

 Suporte para Java, JavaScript, XPages, Objective-C and PHP.

13 Sept - 2014

(14)

benjamin.jakobus@les.inf.puc-rio.br

Exemplo Motivador

Muitos serviços diferentes para Connections de apoiar

sozinho:  ProfileService  BlogService  BookmarkService  FileService  etc

 Base service: ClientService

14 Sept - 2014

(15)

benjamin.jakobus@les.inf.puc-rio.br

Exemplo Motivador

Problem: Duplicação Exception. Cada serviço duplica

exceções. e.g. BlogService implements BlogServiceException.

 Isto leva a manipuladores complicadas  Introduz o código duplicado

 Bloats a base de código

15 Sept - 2014

(16)

benjamin.jakobus@les.inf.puc-rio.br

Exemplo Motivador

 Podemos expressar isso usando EPL?  Sim, sim, nós podemos!

 CONNECTION_SERVICES must remap from

BlogServiceException to ClientServicesException

 Mas não podemos expressar tudo:  Fluxo de exceção …

 What else?

16 Sept - 2014

(17)

benjamin.jakobus@les.inf.puc-rio.br

Exemplo Motivador

 Podemos expressar isso ... e daí?  Considere o fluxo de trabalho ...

17 Sept - 2014 Fork repo Create branch Commit change Push to fork Pull origin master Pull request Travis Review Merge

(18)

benjamin.jakobus@les.inf.puc-rio.br

Executoriedade e "relevância no mundo real"

 Exigibilidade é atômica - um mecanismo não pode "um

pouco" violar a política

 Um teste dada por violação irá passar ou falhar

18 Sept - 2014

(19)

OPUS Research Group

LES | DI |PUC-Rio - Brazil

Referências

Documentos relacionados

Tal como outros medicamentos anti-inflamatórios, não deve utilizar Flameril durante os últimos 3 meses de gravidez, pois tal poderá provocar lesões no feto ou complicações no

Sim pois, se você não pesquisar pessoalmente e não se interessar pelo assunto eles não cairão no seu colo nem farão o milagre em sua pele sozinhos.. E embarcar em um

Ao zerar a alíquota do imposto de importação das armas de fogo, a Resolução GECEX nº 126/2020 contraria os objetivos da principal legislação sobre o tema no Brasil,

Com uma vida de dedicação à língua portuguesa, o autor nos deixa uma forte herança para o seu estudo, não apenas no âmbito normativo, com as suas gramáticas, mas também se

5450/2005 e demais normas cogentes: “Aquele que, convocado dentro do prazo de validade de sua proposta, não assinar o contrato ou ata de registro de preços, deixar de

Por meio do levantamento realizado inicia-se um diálogo no âmbito do “Grupo Competência em Informação e processos inter-relacionados” certificado pelo CNPq,

A Iniciativa Cinturão e Rota preocupa os Estados Unidos, pois além da China ter um crescimento econômico grandioso nas últimas décadas, tornou-se o principal

As frequências alélicas e haplotípicas dos loci HLA variam entre as diferentes populações e grupos étnicos.. Os genes do sistema HLA demonstram serem mais similares entre