George Thompson

dblp:269/8057 · DBLP profile ↗
← Back
1ranked-venue papers
1as first author
0since 2021 · last 2020
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Debugging and program repair · 83% Programming languages and type systems · 17%

Topics — the 5 heaviest of 5, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Debugging and program repair
fault localization
0.412020
ProFL: a fault localization framework for Prolog · ISSTA 2020
Debugging and program repair › fault localization
mutation-based fault localization
0.412020
ProFL: a fault localization framework for Prolog · ISSTA 2020
Debugging and program repair › fault localization
spectrum-based fault localization
0.412020
ProFL: a fault localization framework for Prolog · ISSTA 2020
Programming languages and type systems
logic programming
0.112020
ProFL: a fault localization framework for Prolog · ISSTA 2020
Programming languages and type systems › logic programming
prolog
0.112020
ProFL: a fault localization framework for Prolog · ISSTA 2020
YearPublicationVenuePosition
2020 ProFL: a fault localization framework for Prolog
abstract
Prolog is a declarative, first-order logic that has been used in a variety of domains to implement heavily rules-based systems. However, it is challenging to write a Prolog program correctly. Fortunately, the SWI-Prolog environment supports a unit testing framework, plunit, which enables developers to systematically check for correctness. However, knowing a program is faulty is just the first step. The developer then needs to fix the program which means the developer needs to determine what part of the program is faulty. ProFL is a fault localization tool that adapts imperative-based fault localization techniques to Prolog’s declarative environment. ProFL takes as input a faulty Prolog program and a plunit test suite. Then, ProFL performs fault localization and returns a list of suspicious program clauses to the user. Our toolset encompasses two different techniques: ProFLs, a spectrum-based technique, and ProFLm, a mutation-based technique. This paper describes our Python implementation of ProFL, which is a command-line tool, released as an open-source project on GitHub (https://github.com/geoorge1d127/ProFL). Our experimental results show ProFL is accurate at localizing faults in our benchmark programs.
George Thompson, Allison Sullivan
ISSTA1