static analysis report for team b4dslab.konkuk.ac.kr/class/2020/20sv/team project/2nd/[t4... ·...
Post on 25-Jun-2020
1 Views
Preview:
TRANSCRIPT
Static Analysis Report for Team B4
Project Team
Team 4
Latest update on:
2020-06-17
Team Information
201410546 김태형
201611251 공민정
201611276 이규은
201611309 최지현
Table of Contents
1. Static Analysis
1.1 Overview
1.2 Bugs
1.3 Vulnerability
1.4 Code Smells
1.5 Coverage
1.1 Overview
- 위 결과에서 Blocker-Critical-Major issue 를 중심으로 false positive / duplicated rule 을
확인하며 static analysis 를 진행.
1.2 Bugs
Sonarqube url:
http://34.204.179.138/project/issues?id=B4Project&resolved=false&types=BUG
Blocker(2)
(예시)
Thread 동기화 관련 위험성이 존재한다.
Major(17)
(예시)
정수형 데이터 타입인 long/int 의 결과값은 항상 정수형 데이터 타입 long 이다.
사용하지 않는 필드들이 존재한다.
Thread 동기화 관련 위험성이 존재한다.
Minor (3)
(예시)
올바른 ClassLoader 관련
1.2 Vulnerability
Sonarqube url:
http://34.204.179.138/project/issues?id=B4Project&resolved=false&resolved=false&types=VUL
NERABILITY
Critical (3)
(예시)
multi-thread system 에서 인자를 직접 넘겨줄 때, 값이 변하지 않는지 주의해야 한다.
Minor (66)
(예시)
…
접근 제한자를 설정하지 않았다.
e.printStackTrace() 대신 logger 사용.
1.4 Code smell
Sonarqube url:
http://34.204.179.138/project/issues?id=B4Project&resolved=false&types=CODE_SMELL
Blocker (3)
(예시)
Catch 하지 않는 exception
Critical (106)
(예시)
빈 if 문이 존재함.
If … else if 문은 else 문으로 끝나야 한다. (exception 처리)
final 인 constant 의 이름은 대문자로 표시해야 함.
depth 가 3 을 넘어가는 코드는 지양해야 함.
Major (846)
(예시)
static value 만 포함하는 utility class 는 public constructor 를 가질 필요가 없음.
…
Exception 을 throw 하면 handling 을 해주어야 함.
Class 에는 constructor 가 존재해야 함.
Minor (172)
(예시)
Static final value 를 package private level scope 에 선언한다.
1.5 Code Coverage
1) intelliJ > junit
SleepingTime 을 제외한 모든 class 에서 cover 되지 않은 method 가 하나 이상 존재.
2) jenkins > jacoco
Sonarqube 의 xmlfinder 가 jacoco report 의 위치를 찾지 못해 직접 index.html 파일에
접근함.
top related