1 research outputs found

    Invariant detection meets Random test case generation

    Get PDF
    Dissertação de mestrado em Engenharia de InformáticaFull fledged verification of software ensures correction to a level that no other technique can reach. However it requires precise and unambiguous specifications of requirements, functionality and technical aspects of the software to be verified. Furthermore, it requires that these specifications together with the produced models and code be checked for conformity. This represents beyond doubt an investment that most developers and companies are neither able nor willing to make. Although testing can not reach the same level of assurance as full fledged verification, it is the most widely accepted and used technique to validate expectations about software products. Testing is the most natural way of checking that a piece of software is doing what the developers expect it to do. Improvements to test case generation have the potential to produce a great impact in the state of the art of software engineering, by putting Software Testing closer to Formal Software Verification. This is an exploratory project, aimed at surveying the current state of the art in the field of test case generation and related techniques for the Java language, eventually suggesting possible advancements in the field.A verdadeira verificação de software garante correcção de software a um nível que nenhuma outra técnica consegue igualar. No entanto, exige especificações precisas e inequívocas de requisitos de funcionalidade e aspectos técnicos do software a ser verificado. Além disso, é necessário que as especificações, juntamente com os modelos produzidos e código sejam verificados quanto à sua conformidade. Isto representa indubitavelmente um investimento que a maioria dos profissionais e empresas não são capazes, nem estão dispostos a fazer. Embora os testes não alcancem o mesmo nível de garantia como a verificação completa, é a técnica mais amplamente aceite e usada para validar as especificações sobre produtos de software. O teste é a forma mais natural de verificar que um pedaço de software cumpre o que os programadores esperam que faça. Melhorias na geração de boletins de teste têm o potencial de produzir um grande impacto no estado da arte da engenharia de software, colocando o teste de software mais perto da Verificação Formal de Software. Este projecto é de carácter exploratório, visando o levantamento do estado actual da área de geração de casos de teste para a linguagem Java e técnicas relacionadas, sugerindo avanços possíveis nesta área de validação de softwar
    corecore