Fortify не распознает лямбду - PullRequest
       29

Fortify не распознает лямбду

0 голосов
/ 03 декабря 2018

Мертвый код: неиспользуемый метод

Fortify обнаруживает лямбда-методы как неиспользуемые.Например: у меня есть следующий метод: getCountryCode, хотя он используется во многих местах, fortify сообщает о том, что он не используется.

private List<String> getCountryCodeAsList(Map<Long, String> countryData, List<String> nationalityRestriction) {
    return nationalityRestriction.parallelStream().filter(r -> !org.apache.commons.lang3.StringUtils.isBlank(r))
            .map(r -> getCountryCode(countryData, r)).collect(Collectors.toList());
}

private String getCountryCode(Map<Long, String> countryData, String r) {
    return !org.apache.commons.lang3.StringUtils.isBlank(r) ? countryData.get(Long.parseLong(r)): null;
}

Как решить эту проблему?Есть указатели?

1 Ответ

0 голосов
/ 13 января 2019

В настоящее время Fortify SCA поддерживает лямбда-выражения только в подмножестве языков, которые он может сканировать с использованием лямбда-выражений.В Fortify SCA реализован новый встроенный анализатор, который для этого называют анализатором высшего порядка, но он будет работать только со следующими языками: JavaScript, Python, Ruby и Swift.

Итак, краткий ответВаш вопрос заключается в том, что вы ничего не сможете сделать, пока в Fortify не будет реализована поддержка лямбда-выражений Java в их анализаторе высшего порядка.

Section from the Fortify SCA 18.20 user guide documentation

...