We use cookies to improve your experience with our site.
Li F, Wang GQ, Wang M et al. Coverage-based fault localization in Haskell. JOURNAL OFCOMPUTER SCIENCE AND TECHNOLOGY, 40(1): 158−177, Jan. 2025. DOI: 10.1007/s11390-024-2967-1
Citation: Li F, Wang GQ, Wang M et al. Coverage-based fault localization in Haskell. JOURNAL OFCOMPUTER SCIENCE AND TECHNOLOGY, 40(1): 158−177, Jan. 2025. DOI: 10.1007/s11390-024-2967-1

Coverage-Based Fault Localization in Haskell

  • Fault localization is to identify faulty program elements. Among a large number of fault localization approaches in the literature, coverage-based fault localization, especially spectrum-based fault localization (SBFL), has been intensively studied due to its effectiveness and lightweightness. Despite the rich literature, almost all existing fault localization approaches and studies have been conducted on imperative programming languages such as Java and C, leaving a gap in other programming paradigms. In this paper, we aim to study fault localization approaches for the functional programming paradigm, using the Haskell language as a representative. To the best of our knowledge, we build up the first dataset on real Haskell projects, including both real and seeded faults. The dataset enables the research of fault localization for functional languages. With it, we explore fault localization techniques for Haskell. In particular, as is typical for SBFL approaches, we study methods for coverage collection and formulae for suspiciousness score computation, and carefully adapt these two components to Haskell considering the language features and characteristics, resulting in a series of adaption approaches. Moreover, we design a learning-based approach and a transfer learning based approach to take advantage of data from imperative languages. Both approaches are evaluated on our dataset to demonstrate the promises of the direction.
  • loading

Catalog

    /

    DownLoad:  Full-Size Img  PowerPoint
    Return
    Return