• Nenhum resultado encontrado

6 Considerações finais

6.3 Trabalhos futuros

É possível citar como previsão de trabalhos futuros a realização de estudo empírico para investigar se existe de fato evidência de que prover contra-exemplos para POs in- válidas no plug-in pode impactar na produtividade do desenvolvimento com Event-B em Rodin. Associada a isto, está a ideia de levantamento das características de obrigações de prova que o plug-in SMT Solvers pode descartar com maior eficácia em relação aos outros provadores disponíveis na plataforma.

Uma outra proposta de trabalho futuro é desenvolver uma integração maior do pro- cesso de verificação durante a fase de modelagem. Por exemplo, poderia ser estudada a possibilidade de checar o código da especificação e exibir contra-modelos encontrados já na perspectiva de edição dos modelos.

Existe a possibilidade de que, em versões posteriores da API de Rodin, seja possível obter saídas mais detalhadas quando uma tática for aplicada. Desse modo, seria possível complementar o plug-in com maior automação na aplicação dos solucionadores, recupe- rando para o usuário o retorno mais útil possível de acordo com a capacidade de cada provador de criar contra-exemplos.

Espera-se ainda que as funcionalidades implementadas sejam disponibilizadas para os usuários de Rodin, em versão experimental, solicitando a integração do código-fonte produzido ao projeto do plug-in SMT no SourceForge1.

Referências

ABRIAL, J.-R. The B-book: Assigning Programs to Meanings. New York: Cambridge University Press, 1996. 779 p.

ABRIAL, J.-R. Modeling in Event-B System and Software Engineering. New York: Cambridge University Press, 2010. 586 p.

ABRIAL, J.-R. et al. An open extensible tool environment for Event-B. In: Formal Methods and Software Engineering. Lecture Notes in Computer Science Volume 4260. [S.l.]: Springer Berlin Heidelberg, 2006. p. 588–605. ISBN 978-3-540-47460-9.

ABRIAL, J.-R. et al. A roadmap for the Rodin toolset. 2008. 4 p.

ABRIAL, J.-R. et al. Rodin: an open toolset for modelling and reasoning in Event-B. International Journal on Software Tools for Technology Transfer, v. 12, n. 6, p. 447–466, abr. 2010. ISSN 1433-2779.

ALMEIDA, V. A. de. Integração de Solucionadores SMT na Plataforma Rodin. Monografia (Graduação). Natal, RN: Universidade Federal do Rio Grande do Norte, 2013. 87 p.

ALMEIDA, V. A. de; DÉHARBE, D. Integrating SMT-Solvers in Rodin. In: XIII Brazilian Symposium on Formal Methods: Workshop on B dissemination. [S.l.: s.n.], 2010. p. 6.

BARRETT, C. et al. CVC4. In: Computer Aided Verification. [S.l.: s.n.], 2011. v. 6806, p. 171–177. ISBN 978-3-642-22109-5.

BARRETT, C.; MOURA, L. D.; STUMP, A. SMT-COMP: Satisfiability Modulo Theories Competition. In: ETESSAMI, K.; RAJAMANI, S. K. (Ed.). Computer Aided Verification. Lecture Notes in Computer Science Volume 3576. Edinburgh, Scotland: Springer Berlin Heidelberg, 2005. p. 20–23.

BARRETT, C. et al. Satisfiability Modulo Theories. In: BIERE, A. et al. (Ed.). Handbook of Satisfiability. [S.l.]: IOS Press, 2009. p. 825–885.

BARRETT, C.; STUMP, A.; TINELLI, C. The Satisfiability Modulo Theories Library (SMT-LIB). 2010. \tt www.SMT-LIB.org.

BARRETT, C.; STUMP, A.; TINELLI, C. The SMT-LIB Standard Version 2.0. In: GUPTA, A.; KROENING, D. (Ed.). 8th International Workshop on Satisfiability Modulo Theories. Edinburgh, UK: [s.n.], 2010. p. 85.

BARRETT, C.; TINELLI, C. CVC3. In: DAMN, W.; HERMANNS, H. (Ed.). Computer Aided Verification. Lecture Notes in Computer Science Volume 4590. [S.l.]: Springer Berlin Heidelberg, 2007. p. 298–302.

BIERE, A. et al. (Ed.). Handbook of Satisfiability. Frontiers in Artificial Intelligence and Applications Volume 185. [S.l.]: IOS Press, 2009. 966 p.

BOLOGNESI, T.; BRINKSMA, E. Introduction to the ISO specification language LOTOS. Computer Networks and ISDN Systems, v. 14, n. 1, p. 25–59, 1987.

BONICHON, R.; DÉHARBE, D.; TAVARES, C. Extending Smt-Lib v2 with λ-Terms and Polymorphism. In: 12th International Workshop on Satisfiability Modulo Theories - SMT 2014. Vienna, Austria: [s.n.], 2014. p. 53–62.

BONIOL, F.; WIELS, V. The Landing Gear Case Study. In: BONIOL, F. et al. (Ed.). Case Study Track, Held at the 4th International Conference on Abstract State Machines, Alloy, B, TLA, VDM, and Z, Toulouse, France, June 2-6, 2014. [S.l.]: Springer International Publishing, 2014. ISBN 978-3-319-07512-9. ISSN 18650929.

BOUTON, T. et al. veriT: an open, trustable and efficient SMT-solver. In: SCHMIDT, R. A. (Ed.). Automated Deduction - CADE-22. Lecture Notes in Computer Science Volume 5663. [S.l.]: Springer Berlin Heidelberg, 2009. p. 151–156.

BUTLER, M. Using Event-B Refinement to Verify a Control Strategy. 2009.

CHRIST, J.; HOENICKE, J.; NUTZ, A. SMTInterpol: An interpolating SMT solver. In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). [S.l.: s.n.], 2012. v. 7385 LNCS, p. 248–254. ISBN 9783642317583. ISSN 03029743.

COK, D. R. The SMT-LIBv2 Language and Tools: A Tutorial. 2013. 71 p. Disponível em: <http://grammatech.com/resource/smt/SMTLIBTutorial.pdf>.

CONCHON, S.; CONTEJEAN, E. The Alt-Ergo automatic theorem prover. 2008. Disponível em: <http://alt-ergo.lri.fr/>.

CONCHON, S.; IGUERNELALA, M. Tuning the Alt-Ergo SMT Solver for B Proof Obligations. In: AMEUR, Y. A.; SCHEWE, K.-D. (Ed.). Abstract State Machines, Alloy, B, TLA, VDM, and Z. Toulouse, France: Springer Berlin Heidelberg, 2014. p. 2–5. COUCHOT, J.-F. et al. Scalable Automated Proving and Debugging of Set-Based Specification. Journal of the Brazilian Computer Society, v. 9, n. 2, 2003.

DAVIS, M.; LOGEMANN, G.; LOVELAND, D. Machine Program For Theorem-Proving. Communications of the ACM, v. 5, n. 7, p. 394–397, 1962.

DÉHARBE, D. Automatic Verification for a Class of Proof Obligations with SMT- Solvers. In: Abstract State Machines, Alloy, B and Z. Lecture Notes in Computer Science Volume 5977. [S.l.]: Springer Berlin Heidelberg, 2010. p. 217–230.

DÉHARBE, D. Integration of SMT-solvers in B and Event-B development environments. Science of Computer Programming, v. 78, n. 3, p. 310–326, mar. 2013. ISSN 01676423. DÉHARBE, D.; FONTAINE, P. haRVey: Combining Reasoners. In: Automated Verification of Critical Systems - AVOCS ’06. Nancy, France: [s.n.], 2006.

DÉHARBE, D. et al. SMT Solvers for Rodin. In: DERRICK, J. et al. (Ed.). Abstract State Machines, Alloy, B, VDM, and Z. Lecture Notes in Computer Science Volume 7316. [S.l.]: Springer Berlin Heidelberg, 2012. v. 4, p. 194–207.

DÉHARBE, D. et al. Integrating SMT solvers in Rodin. Science of Computer Programming, 2014.

DÉHARBE, D. et al. Introduction to the Integration of SMT-Solvers in Rodin. In: 1st International Workshop About Sets and Tools (SETS 2014). ABZ 2014. Toulouse, France: [s.n.], 2014. p. 19–33.

DÉHARBE, D. et al. Modelling Control Systems in B: an Industrial Case Study. In: SBMF 2007 - 10th Symposium on Formal Methods. [S.l.: s.n.], 2007. p. 16.

DUTERTRE, B. Yices 2.2. In: SPRINGER. Computer Aided Verification. [S.l.], 2014. p. 737–744.

ECLIPSE. FAQ What is a plug-in? 2011. Disponível em: <http://wiki.eclipse.org/FAQ_What_is_a_plug-in?>.

EVENT-B. Event-B and the Rodin Platform. Acesso 17 maio, 2014. Disponível em: <http://www.event-b.org>.

FILLIÂTRE, J.-C.; PASKEVICH, A. Why3 - Where Programs Meet Provers. In: FELLEISEN, M.; GARDNER, P. (Ed.). European Symposium on Programming, ESOP 2013. European Joint Conferences on Theory and Practice of Software, ETAPS 2013. Rome, Italy: Springer Berlin Heidelberg, 2013. v. 7792, p. 125–128.

GENTZEN, G. Untersuchungen über das logische Schließen. I. Mathematische Zeitschrift, v. 39, n. 1, p. 176–210, 1935.

GURGEL, A. C. et al. Integrating SMT-solvers in Z and B Tools. In: FRAPPIER, M. et al. (Ed.). Abstract State Machines, Alloy, B and Z. Lecture Notes in Computer Science Volume 5977. [S.l.]: Springer Berlin Heidelberg, 2010. p. 412–413.

GUTTAG, J. V. et al. Larch: Languages and Tools for Formal Specifications. In: Texts and Monographs in Computer Science. Springer-v. [S.l.: s.n.], 1993.

JASTRAM, M. Rodin Userâs Handbook. 2012. 183 p. Disponível em: <http://handbook.event-b.org/current/pdf/rodin-doc.pdf>.

JONES, C. B. Systematic software development using VDM. Englewood Cliffs, NJ: Prentice Hall, 1986.

KONRAD, M.; VOISIN, L. Translation from Set-Theory to Predicate Calculus. [S.l.], 2012. 1–19 p.

KRINGS, S.; BENDISPOSTO, J.; LEUSCHEL, M. Turning Failure into Proof: Evaluating the ProB Disprover. In: 1st International Workshop about Sets and Tools. [S.l.: s.n.], 2014. v. 287563.

LEUSCHEL, M.; BUTLER, M. ProB: An automated analysis toolset for the B method. International Journal on Software Tools for Technology Transfer, v. 10, p. 185–203, 2008. ISSN 14332779.

LIGOT, O.; BENDISPOSTO, J.; LEUSCHEL, M. Debugging Event-B Models using the ProB Disprover Plug-in. Proceedings AFADL’07, p. 1–13, 2007. Disponível em: <http://wwwold.stups.uni-duesseldorf.de/publications/afadl07_reduced.pdf>.

MARINHO, E. S. et al. Um ambiente para verificação automática para o Método B. In: SBMF 2007: Brazilian Symposium on Formal Methods. [S.l.: s.n.], 2007.

MENTRÉ, D. et al. Discharging Proof Obligations from Atelier B using Multiple Automated Provers. In: DERRICK, J. et al. (Ed.). Abstract State Machines, Alloy, B, VDM, and Z. Pisa, Italy: Springer Berlin Heidelberg, 2012. p. 238–251.

MOURA, L. D.; BJORNER, N. B. Z3: An Efficient SMT Solver. In: RAMAKRISHNAN, C. R.; REHOF, J. (Ed.). Tools and Algorithms for the Construction and Analysis of Systems. Lecture Notes in Computer Science Volume 4963. [S.l.]: Springer Berlin Heidelberg, 2008. p. 337–340.

MOURA, L. D.; BJORNER, N. B. Satisfiability modulo theories: introduction and applications. Communications of the ACM, v. 54, n. 9, p. 69–77, 2011.

NELSON, G.; OPPEN, D. C. Simplification by Cooperating Decision Procedures. ACM Transactions on Programming Languages and Sys- tems, v. 1, n. 2, p. 245–257, out. 1979. ISSN 01640925. Disponível em: <http://portal.acm.org/citation.cfm?doid=357073.357079>.

OLIVEIRA, M.; GURGEL, A.; CASTRO, C. CRefine: Support for the Circus Refinement Calculus. 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods, 2008. ISSN 978-3-540-87602-1.

PRESBURGER, M. Über die Vollständigkeit eines gewissen Systems der Arithmetik ganzer Zahlen, in welchem die Addition als einzige Operation hervortritt. [S.l.: s.n.], 1931. ROBINSON, K. A Concise Summary of the Event B mathematical toolkit. 2010. 4 p. Disponível em: <http://wiki.event-b.org/images/EventB-Summary.pdf>.

SMT Solvers Plug-in. SMT Solvers Plug-in. 2014. Disponível em: <http://wiki.event- b.org/index.php/SMT_Plug-in>.

SOMMERVILLE, I. Software Engineering. 8th. ed. [S.l.]: Pearson Education, 2007. 865 p. ISBN 9780321313799.

SPIVEY, J. M. The Zed Notation: A Reference Manual. [S.l.]: Prentice Hall, 1992. TAVARES, C. F. O. K. Prova Automática de Satisfatibilidade Módulo Teoria Aplicada ao Método B. Dissertação (Mestrado). Natal, RN: Universidade Federal do Rio Grande do Norte, 2008. 137 p.

VOISIN, L.; ABRIAL, J.-R. The Rodin Platform Has Turned Ten. In: AMEUR, Y. A.; SCHEWE, K.-D. (Ed.). Abstract State Machines, Alloy, B, TLA, VDM, and Z - ABZ 2014. Lecture Notes in Computer Science Volume 8477. Toulouse, France: Springer Berlin Heidelberg, 2014. p. 1–8.

WOODCOCK, J. et al. Formal Methods: Practice and Experience. ACM Computer Surveys, v. 41, n. 4, p. 1–40, 2009.

ANEXO A -- Código completo das máquinas

Documentos relacionados