문제

나는 한동안 인터넷을 검색했지만 Perl 파일 세트(모듈 또는 스크립트)를 분석하고 중복 또는 복제된 플래그를 지정하거나 복사/복사할 수 있는 무료(또는 저렴한) 도구/유틸리티/모듈을 찾을 수 없었습니다. 붙여넣은 코드.

지금은 나아졌지만 예전에는 여기저기서 코드 섹션을 복사하여 붙여넣곤 했습니다.나는 그것을 정리하고 오래된 코드 중복을 수정하고 싶지만 약간의 도구 도움을 주시면 감사하겠습니다. 그러면 가는 빗으로 모든 오래된 코드를 검토할 필요가 없습니다.게다가 이런 종류의 공격을 수동으로 인식하면 오류가 발생하기 쉽습니다.

도움이 되었습니까?

해결책

재미있다 비슷한 질문 불과 몇 분 전에 SO에 게시되었습니다.

다음은 유용할 수 있는 몇 가지 도구에 대한 링크입니다.

코드 비교 및 ​​표절 탐지

다른 팁

중복 코드는 무엇을 의미합니까? 캐릭터 정확한 일치 또는 시맨틱 경기.

몇 가지 도구가 있습니다 http://pmd.sourceforge.net/ 문자열 일치로 중복 코드를 감지 할 수 있습니다.이 도구는 Java를위한 것이지만 소스 일치는 일반 텍스트에서 작동합니다.

시맨틱 매칭을 원한다면

sub A
{return 1;}

일치합니다

sub B
{
    return 1;
}

그런 다음 다른 것이 필요합니다 :(

나는 사용했다 CCFINDER 과거에는 중복 된 코드 섹션을 찾습니다. 그것은 잘 작동하지만 .. 흥미로운 인터페이스가 있습니다. PERL에 대한 기본 지원은 없지만 최소한 복사 및 붙여 넣기를 위해 작동하는 일반 텍스트 옵션이 있습니다. 불행히도 오픈 소스가 아닌 창문과 우분투 솔루션이 있습니다.

시맨틱 디자인은 제품을 호출합니다 복제 Dr. 이는 복제 된 코드 섹션에 대해 많은 수의 언어 유형을 분석 할 수있는 것으로 보입니다. 그러나 무료 평가 버전은 Java와 Cobol에서만 작동하는 것으로 보입니다.

방금 평가했습니다 유인원. 15 일 무료 평가 기간이 있으며 단일 사용자 라이센스의 경우 100 달러가 소요됩니다. 공식적으로 Perl을 지원하지는 않지만 일반 텍스트로 취급하여 어쨌든 분석합니다. 이것은 매우 빠른 유틸리티입니다! 그리고 매우 사용하기 쉽습니다. 이 도구에서 생성 된 보고서는 간단하고 해석하기 쉽습니다. 나는이 도구를 완전히 승인합니다. 이제 나는 단지 내 상사와 대화하고 라이센스를 구매하도록해야합니다.

다음은 클론 탐지 도구를 나열하는 또 다른 웹 페이지입니다.

http://sel.ics.es.osaka-u.ac.jp/cdtools/index-e.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top