TY - GEN
T1 - Identification of Misleading Location Information in Compiler Diagnoses
AU - Wang, Miaoying
AU - Ji, Weixing
AU - Jing, Dejiang
AU - Liu, Hui
N1 - Publisher Copyright:
© 2020 IEEE.
PY - 2020/12
Y1 - 2020/12
N2 - The location of compilation errors are usually reported by compilers to facilitate quick fixing of such compiler errors. However, sometimes such location information could be incorrect or misleading, which significantly reduces the chance of quick fixing. To this end, in this paper, we propose an automated approach, called iMiLi, to identify misleading location information in compiler diagnoses. We generate potentially illegal programs (called mutants) by mutating legal programs, and compile such mutants. If the compiler generates error diagnoses on a mutant, we extract the location information from the resulting diagnoses. The location information is suspicious if it does not point to the source code where the associated mutation is conducted. Then we propose heuristics for each kind of mutation operators to exclude such suspicious but correct location information. We evaluate the proposed approach on a state-of-the-practice compiler (i.e., Eclipse Compiler for Java, known as ECJ). iMiLi successfully identifies seven categories of incorrect/misleading location information in diagnoses of ECJ.
AB - The location of compilation errors are usually reported by compilers to facilitate quick fixing of such compiler errors. However, sometimes such location information could be incorrect or misleading, which significantly reduces the chance of quick fixing. To this end, in this paper, we propose an automated approach, called iMiLi, to identify misleading location information in compiler diagnoses. We generate potentially illegal programs (called mutants) by mutating legal programs, and compile such mutants. If the compiler generates error diagnoses on a mutant, we extract the location information from the resulting diagnoses. The location information is suspicious if it does not point to the source code where the associated mutation is conducted. Then we propose heuristics for each kind of mutation operators to exclude such suspicious but correct location information. We evaluate the proposed approach on a state-of-the-practice compiler (i.e., Eclipse Compiler for Java, known as ECJ). iMiLi successfully identifies seven categories of incorrect/misleading location information in diagnoses of ECJ.
KW - Compiler
KW - diagnose
KW - error message
KW - location information
KW - testing
UR - http://www.scopus.com/inward/record.url?scp=85102360673&partnerID=8YFLogxK
U2 - 10.1109/APSEC51365.2020.00056
DO - 10.1109/APSEC51365.2020.00056
M3 - Conference contribution
AN - SCOPUS:85102360673
T3 - Proceedings - Asia-Pacific Software Engineering Conference, APSEC
SP - 460
EP - 464
BT - Proceedings - 2020 27th Asia-Pacific Software Engineering Conference, APSEC 2020
PB - IEEE Computer Society
T2 - 27th Asia-Pacific Software Engineering Conference, APSEC 2020
Y2 - 1 December 2020 through 4 December 2020
ER -