• español
    • English
  • Login
  • español 
    • español
    • English

UniversidaddeCádiz

Área de Biblioteca, Archivo y Publicaciones
Comunidades y colecciones
Ver ítem 
  •   RODIN Principal
  • Producción Científica
  • Artículos Científicos
  • Ver ítem
  •   RODIN Principal
  • Producción Científica
  • Artículos Científicos
  • Ver ítem
JavaScript is disabled for your browser. Some features of this site may not work without it.

Assessment of Class Mutation Operators for C++ with the MuCPP Mutation System

Thumbnail
Identificadores

URI: http://hdl.handle.net/10498/23181

DOI: 10.1016/j.infsof.2016.07.002

URL: http://www.sciencedirect.com/science/article/pii/S0950584916301161

ISSN: 0950-5849

Ficheros
Assessment Of Class Mutation Operators For C++ With The MuCPP Mutation System.pdf (1.118Mb)
Estadísticas
Ver estadísticas
Métricas y Citas
 
Compartir
Exportar a
Exportar a MendeleyRefworksEndNoteBibTexRIS
Metadatos
Mostrar el registro completo del ítem
Autor/es
Delgado Pérez, PedroAutoridad UCA; Medina Bulo, María InmaculadaAutoridad UCA; Palomo Lozano, FranciscoAutoridad UCA; García Domínguez, Antonio; Domínguez Jiménez, Juan JoséAutoridad UCA
Fecha
2017-01
Departamento/s
Ingeniería Informática
Fuente
Information and Software Technology, Volume 81, 2017, Pages 169-184.
Resumen
Context: Mutation testing has been mainly analyzed regarding traditional mutation operators involving structured programming constructs common in mainstream languages, but mutations at the class level have not been assessed to the same extent. This fact is noteworthy in the case of C++ despite being one of the most relevant languages including object-oriented features. Objective: This paper provides a complete evaluation of class operators for the C++ programming language. MuCPP, a new system devoted to the application of mutation testing to this language, was developed to this end. This mutation system implements class mutation operators in a robust way, dealing with the inherent complexity of the language. Method: MuCPP generates the mutants by traversing the abstract syntax tree of each translation unit with the Clang API, and stores mutants as branches in the Git version control system. The tool is able to detect duplicate mutants, avoid system headers, and drive the compilation process. Then, MuCPP is used to conduct experiments with several open-source C programs. Results: The improvement rules listed in this paper to reduce unproductive class mutants have a significant impact in the computational cost of the technique. We also calculate the quantity and distribution of mutants generated with class operators, which generate far fewer mutants than their traditional counterparts. Conclusions: We show that the tests accompanying these programs cannot detect faults related to particular object-oriented features of C++. In order to increase the mutation score, we create new test scenarios to kill the surviving class mutants for all the applications. The results confirm that, while traditional mutation operators are still needed, class operators can complement them and help testers further improve the test suite.
Materias
Mutation testing; Mutation system; Class mutation operators; Object-oriented programming
Colecciones
  • Artículos Científicos [12009]
  • Articulos Científicos Ing. Inf. [313]
Attribution-NonCommercial-NoDerivatives 4.0 Internacional
Esta obra está bajo una Licencia Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 Internacional

Ítems relacionados

Mostrando ítems relacionados por Título, autor o materia.

  • Assessment of C++ object-oriented mutation operators: A selective mutation approach 

    Delgado Pérez, PedroAutoridad UCA; Segura, Sergio; Medina Bulo, María InmaculadaAutoridad UCA (Wiley Online Library, 2017-03)
  • Mutation testing in the wild: findings from GitHub 

    Sánchez, Ana B.; Delgado Pérez, PedroAutoridad UCA; Medina Bulo, María InmaculadaAutoridad UCA; Segura, Sergio (SPRINGER, 2022-11)
  • Class mutation operators for C++ object-oriented systems 

    Delgado Pérez, PedroAutoridad UCA; Medina Bulo, María InmaculadaAutoridad UCA; Domínguez Jiménez, Juan JoséAutoridad UCA; Domínguez-García, Antonio; Palomo Lozano, FranciscoAutoridad UCA (Springer, 2015-04)

Listar

Todo RODINComunidades y ColeccionesPor fecha de publicaciónAutoresTítulosMateriasEsta colecciónPor fecha de publicaciónAutoresTítulosMaterias

Mi cuenta

AccederRegistro

Estadísticas

Ver Estadísticas de uso

Información adicional

Acerca de...Deposita en RODINPolíticasNormativasDerechos de autorEnlaces de interésEstadísticasNovedadesPreguntas frecuentes

RODIN está accesible a través de

OpenAIREOAIsterRecolectaHispanaEuropeanaBaseDARTOATDGoogle Académico

Enlaces de interés

Sherpa/RomeoDulcineaROAROpenDOARCreative CommonsORCID

RODIN está gestionado por el Área de Biblioteca, Archivo y Publicaciones de la Universidad de Cádiz

ContactoSugerenciasAtención al Usuario