Publicação
GamaSlicer : an online laboratory for program verification and analysis
| Resumo: | In this paper we present the GamaSlicer tool, which is primarily a semantics-based program slicer that also offers formal verification (generation of verification conditions) and program visualization functionality. The tool allows users to obtain slices using a number of different families of slicing algorithms (\precond-based, \postcond-based, and specification-based), from a correct software component annotated with pre and postconditions (contracts written in JML-annotated Java). Each family in turn contains algorithms of different precision (with more precise algorithms being asymptotically slower). A novelty of our work at the theoretical level is the inclusion of a new, much more effective algorithm for specification-based slicing, and in fact other current work at this level is being progressively incorporated in the tool. The tool also generates (in a step-by-step fashion) a set of verification conditions (as formulas written in the SMT-lib language, which enables the use of different automatic SMT provers). This allows to establish the initial correctness of the code with respect to their contracts. |
|---|---|
| Autores principais: | Cruz, Daniela da |
| Outros Autores: | Henriques, Pedro Rangel; Pinto, Jorge Sousa |
| Assunto: | Program slicing Verification conditions Program visualization Semantics-based slicing Strongest postcondition Verification condition generator Weakest precondition |
| Ano: | 2010 |
| País: | Portugal |
| Tipo de documento: | comunicação em conferência |
| Tipo de acesso: | acesso aberto |
| Instituição associada: | Universidade do Minho |
| Idioma: | inglês |
| Origem: | RepositóriUM - Universidade do Minho |
Registos relacionados
article Interactive verification of safety-critical software
por: Cruz, Daniela da
Publicado em: (2013)
por: Cruz, Daniela da
Publicado em: (2013)
article Assertion-based slicing and slice graphs
por: Barros, José Bernardo
Publicado em: (2010)
por: Barros, José Bernardo
Publicado em: (2010)
article Verification conditions for source-level imperative programs
por: Frade, M. J.
Publicado em: (2011)
por: Frade, M. J.
Publicado em: (2011)
article A verified VCGen based on dynamic logic: An exercise in meta-verification with Why3
por: Frade, M. J.
Publicado em: (2023)
por: Frade, M. J.
Publicado em: (2023)
article Assertion-based slicing and slice graphs
por: Barros, José Bernardo
Publicado em: (2012)
por: Barros, José Bernardo
Publicado em: (2012)
category A comparative study of verification condition generators
por: Fialho, Diogo
Publicado em: (2008)
por: Fialho, Diogo
Publicado em: (2008)
article A generalized approach to verification condition generation
por: Belo Lourenco, Claudio
Publicado em: (2018)
por: Belo Lourenco, Claudio
Publicado em: (2018)
article A visual inspector for Boogie programs
por: Coelho, Márcio
Publicado em: (2011)
por: Coelho, Márcio
Publicado em: (2011)
article Verification conditions for single-assignment programs
por: Cruz, Daniela da
Publicado em: (2012)
por: Cruz, Daniela da
Publicado em: (2012)
article "Bagatelle in C arranged for VDM SoLo"
por: Oliveira, José Nuno Fonseca
Publicado em: (2001)
por: Oliveira, José Nuno Fonseca
Publicado em: (2001)
article Studying verification conditions for imperative programs
por: Lourenço, Cláudio Filipe Belo Silva
Publicado em: (2015)
por: Lourenço, Cláudio Filipe Belo Silva
Publicado em: (2015)
article Program slicing by calculation
por: Barbosa, L. S.
Publicado em: (2006)
por: Barbosa, L. S.
Publicado em: (2006)
article Higher-order lazy functional slicing
por: Rodrigues, Nuno F.
Publicado em: (2007)
por: Rodrigues, Nuno F.
Publicado em: (2007)
assignment Protocol-based verification of MPI programs
por: Marques, Eduardo R. B.
Publicado em: (2014)
por: Marques, Eduardo R. B.
Publicado em: (2014)
article CAOVerif: an open-source deductive verification platform for cryptographic software implementations
por: Almeida, José Bacelar
Publicado em: (2014)
por: Almeida, José Bacelar
Publicado em: (2014)
article Component identification through program slicing
por: Barbosa, L. S.
Publicado em: (2006)
por: Barbosa, L. S.
Publicado em: (2006)
article A deductive reasoning approach for database applications using verification conditions
por: Alam, Imran
Publicado em: (2021)
por: Alam, Imran
Publicado em: (2021)
article GammaPolarSlicer
por: Areias, Sérgio
Publicado em: (2011)
por: Areias, Sérgio
Publicado em: (2011)
article A generalized program verification workflow based on loop elimination and SA form
por: Belo Lourenco, Claudio
Publicado em: (2019)
por: Belo Lourenco, Claudio
Publicado em: (2019)
article A deductive verification platform for cryptographic software
por: Barbosa, Manuel
Publicado em: (2010)
por: Barbosa, Manuel
Publicado em: (2010)
article Support for automatic refactoring of business logic
por: Fernandes, Tiago B.
Publicado em: (2017)
por: Fernandes, Tiago B.
Publicado em: (2017)
article Deductive verification of cryptographic software
por: Almeida, José Bacelar
Publicado em: (2010)
por: Almeida, José Bacelar
Publicado em: (2010)
article Contract-based slicing
por: Cruz, Daniela da
Publicado em: (2010)
por: Cruz, Daniela da
Publicado em: (2010)
assignment Type-Based Verification of Message-Passing Parallel Programs
por: Vasconcelos, Vasco T.
Publicado em: (2014)
por: Vasconcelos, Vasco T.
Publicado em: (2014)
article Formal verification of side channel countermeasures using self-composition
por: Almeida, José Bacelar
Publicado em: (2011)
por: Almeida, José Bacelar
Publicado em: (2011)
article Formal verification of side-channel countermeasures using self-composition
por: Almeida, José Bacelar
Publicado em: (2013)
por: Almeida, José Bacelar
Publicado em: (2013)
article An experimental evaluation of tools for grading concurrent programming exercises
por: Barros, Manuel
Publicado em: (2023)
por: Barros, Manuel
Publicado em: (2023)
assignment SABS : Spark ABStraction - A Tutorial
por: Miraldo, Victor Cacciari
Publicado em: (2014)
por: Miraldo, Victor Cacciari
Publicado em: (2014)
assignment Experimenting with Predicate Abstraction
por: Miraldo, Victor Cacciari
Publicado em: (2014)
por: Miraldo, Victor Cacciari
Publicado em: (2014)
article An approach to model checking Ada programs
por: Faria, José Miguel
Publicado em: (2012)
por: Faria, José Miguel
Publicado em: (2012)
school Suporte para refatorização automática de lógica de negócio baseada em modelos
por: Fernandes, Tiago Fernando Santos Braga
Publicado em: (2017)
por: Fernandes, Tiago Fernando Santos Braga
Publicado em: (2017)
article Program verification in SPARK and ACSL : a comparative case study
por: Brito, Eduardo
Publicado em: (2010)
por: Brito, Eduardo
Publicado em: (2010)
article Towards a runtime verification framework for the Ada Programming Language
por: Pedro, André Matos
Publicado em: (2014)
por: Pedro, André Matos
Publicado em: (2014)
article Alloy meets the algebra of programming: a case study
por: Oliveira, José Nuno Fonseca
Publicado em: (2013)
por: Oliveira, José Nuno Fonseca
Publicado em: (2013)
article Verifying cryptographic software correctness with respect to reference implementations
por: Almeida, José Bacelar
Publicado em: (2009)
por: Almeida, José Bacelar
Publicado em: (2009)
article Blink : observing thin slices of behavior to determine users' expectation towards task difficulty
por: Branco, Nuno
Publicado em: (2011)
por: Branco, Nuno
Publicado em: (2011)
article Rapid prototyping using robot welding: slicing system developmens
por: Ribeiro, A. Fernando
Publicado em: (1996)
por: Ribeiro, A. Fernando
Publicado em: (1996)
article Sliced Wasserstein cycle consistency generative adversarial networks for fault data augmentation of an industrial robot
por: Pu, Ziqiang
Publicado em: (2023)
por: Pu, Ziqiang
Publicado em: (2023)
article On the optimal object orientation in additive manufacturing
por: Pereira, Sérgio
Publicado em: (2018)
por: Pereira, Sérgio
Publicado em: (2018)
category SPARK-BMC: checking SPARK code for bugs
por: Lourenço, Cláudio
Publicado em: (2013)
por: Lourenço, Cláudio
Publicado em: (2013)
Registos relacionados
-
article Interactive verification of safety-critical software
por: Cruz, Daniela da
Publicado em: (2013) -
article Assertion-based slicing and slice graphs
por: Barros, José Bernardo
Publicado em: (2010) -
article Verification conditions for source-level imperative programs
por: Frade, M. J.
Publicado em: (2011) -
article A verified VCGen based on dynamic logic: An exercise in meta-verification with Why3
por: Frade, M. J.
Publicado em: (2023) -
article Assertion-based slicing and slice graphs
por: Barros, José Bernardo
Publicado em: (2012)