Contribuições para verificação automática de applets javacard
Contribuinte(s) |
Déharbe, David Boris Paul CPF:00020075502 http://lattes.cnpq.br/3769079916577408 CPF:00809085437 http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4768856U5 Silva, Ivan Saraiva CPF:43728090425 http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4780113E2 Perkusich, Angelo CPF:00954091817 http://lattes.cnpq.br/9439858291700830 |
---|---|
Data(s) |
17/12/2014
28/06/2007
17/12/2014
13/10/2004
|
Resumo |
The widespread growth in the use of smart cards (by banks, transport services, and cell phones, etc) has brought an important fact that must be addressed: the need of tools that can be used to verify such cards, so to guarantee the correctness of their software. As the vast majority of cards that are being developed nowadays use the JavaCard technology as they software layer, the use of the Java Modeling Language (JML) to specify their programs appear as a natural solution. JML is a formal language tailored to Java. It has been inspired by methodologies from Larch and Eiffel, and has been widely adopted as the de facto language when dealing with specification of any Java related program. Various tools that make use of JML have already been developed, covering a wide range of functionalities, such as run time and static checking. But the tools existent so far for static checking are not fully automated, and, those that are, do not offer an adequate level of soundness and completeness. Our objective is to contribute to a series of techniques, that can be used to accomplish a fully automated and confident verification of JavaCard applets. In this work we present the first steps to this. With the use of a software platform comprised by Krakatoa, Why and haRVey, we developed a set of techniques to reduce the size of the theory necessary to verify the specifications. Such techniques have yielded very good results, with gains of almost 100% in all tested cases, and has proved as a valuable technique to be used, not only in this, but in most real world problems related to automatic verification O grande crescimento do uso de smart cards (por bancos, companhias de transporte, celulares, etc) trouxe um fato importante, que deve ser considerado: a necessidade de ferramentas que possam ser usadas para verificar os cartões, para que se possa garantir a corretude de seu software. Como a grande maioria dos cartões desenvolvidos hoje em dia usa a tecnologia JavaCard em sua camada de software, o uso da Java Modeling Language (JML) para especificar os programas aparece como uma solu¸ao natural. JML é uma linguagem de especificação formal ligada ao Java. Ela foi inspirada pelas metodologias de Larch e Eiffel, e foi largamente adotada como a linguagem de facto em se tratando da especificação de qualquer programa relacionado à Java. Várias ferramentas que fazem uso de JML já foram desenvolvidas, cobrindo uma grande gama de funcionalidades, entre elas, a verificação em tempo de execução e estática. Mas as ferramentas existentes até o momento para a verificação estática não são totalmente automatizadas, e, aquelas que são, não oferecem um nível adequado de completude e segurança. Nosso objetivo é contribuir com uma série de técnicas, que podem ser usadas para alcançar uma verificação completamente automática e segura para applets JavaCard. Nesse trabalho nós apresentamos os primeiros passos nessa direção. Com o uso de uma plataforma de software composta pelo Krakatoa, Why e haRVey, nós desenvolvemos um conjunto de técnicas para reduzir o tamanho da teoria necessária para verificar as especificações. Tais técnicas deram resultados muito bons, com ganhos de quase 100% em todos os testes que realizamos, e se provou como uma técnica que deve ser sempre considerAda, não somente nesse, mas na maioria dos problemas reais relacionado com verificação automática |
Formato |
application/pdf |
Identificador |
SILVA, Antonio Augusto Viana da. Contribuições para verificação automática de applets javacard. 2004. 125 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Rio Grande do Norte, Natal, 2004. http://repositorio.ufrn.br:8080/jspui/handle/123456789/18084 |
Idioma(s) |
por |
Publicador |
Universidade Federal do Rio Grande do Norte BR UFRN Programa de Pós-Graduação em Sistemas e Computação Ciência da Computação |
Direitos |
Acesso Aberto |
Palavras-Chave | #Verifi #cação formal #Sistemas embarcados #Java #JML #Provadores de teorema #Formal verifi #cation #Embedded systems #Java #JML #Theorem proving #CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO |
Tipo |
Dissertação |