Guardado en:
Detalles Bibliográficos
Autor principal: Al-Bataineh, Omar I.
Formato: Preprint
Publicado: 2023
Materias:
Acceso en línea:https://arxiv.org/abs/2312.16652
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866909084272295936
author Al-Bataineh, Omar I.
author_facet Al-Bataineh, Omar I.
contents This paper describes a formal general-purpose automated program repair (APR) framework based on the concept of program invariants. In the presented repair framework, the execution traces of a defected program are dynamically analyzed to infer specifications $φ_{correct}$ and $φ_{violated}$, where $φ_{correct}$ represents the set of likely invariants (good patterns) required for a run to be successful and $φ_{violated}$ represents the set of likely suspicious invariants (bad patterns) that result in the bug in the defected program. These specifications are then refined using rigorous program analysis techniques, which are also used to drive the repair process towards feasible patches and assess the correctness of generated patches.We demonstrate the usefulness of leveraging invariants in APR by developing an invariant-based repair system for performance bugs. The initial analysis shows the effectiveness of invariant-based APR in handling performance bugs by producing patches that ensure program's efficiency increase without adversely impacting its functionality.
format Preprint
id arxiv_https___arxiv_org_abs_2312_16652
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Invariant-based Program Repair
Al-Bataineh, Omar I.
Software Engineering
This paper describes a formal general-purpose automated program repair (APR) framework based on the concept of program invariants. In the presented repair framework, the execution traces of a defected program are dynamically analyzed to infer specifications $φ_{correct}$ and $φ_{violated}$, where $φ_{correct}$ represents the set of likely invariants (good patterns) required for a run to be successful and $φ_{violated}$ represents the set of likely suspicious invariants (bad patterns) that result in the bug in the defected program. These specifications are then refined using rigorous program analysis techniques, which are also used to drive the repair process towards feasible patches and assess the correctness of generated patches.We demonstrate the usefulness of leveraging invariants in APR by developing an invariant-based repair system for performance bugs. The initial analysis shows the effectiveness of invariant-based APR in handling performance bugs by producing patches that ensure program's efficiency increase without adversely impacting its functionality.
title Invariant-based Program Repair
topic Software Engineering
url https://arxiv.org/abs/2312.16652