«static-analysis» 태그된 질문

프로그램을 실행하지 않고 소스 코드 또는 개체 코드를 분석합니다. 이것은 자동화 된 도구 또는 사람의 분석에 의해 수행 될 수 있습니다.

5
프로젝트 규모와 언어의 엄격 성 사이에 상관 관계가 있습니까?
언어의 엄격 성과 패러다임의 차이를 동료에게 설명하면서 나는 다음과 같이 주장했다. 동적 언어 및 해석 언어와 같은 허용 언어는 프로토 타입 및 소규모 프로젝트 또는 중간 규모 웹 응용 프로그램에 가장 적합합니다. Node.js를 사용하여 Python 또는 JavaScript와 같은 우아한 동적 언어를 선택할 때 이점은 다음과 같습니다. 빠른 개발, 상용구 코드 …

4
메소드가 여러 유형의 확인 된 예외를 처리하지 않아야하는 이유는 무엇입니까?
SonarQube를 사용하여 Java 코드를 분석하고이 규칙 (중요하게 설정 됨)이 있습니다. 공개 메소드는 최대 하나의 확인 된 예외를 처리해야합니다. 확인 된 예외를 사용하면 메소드 호출자가 오류를 전파하거나 처리하여 오류를 처리해야합니다. 이것은 예외를 메소드 API의 일부로 만듭니다. 호출자의 복잡성을 합리적으로 유지하기 위해 메소드는 여러 종류의 확인 된 예외를 발생시키지 않아야합니다. " Sonar의 …

4
왜 누군가 Microsoft“Roslyn”에 시간을 투자하겠습니까?
방금 Microsoft "Roslyn"의 백서 및 예제를 읽었 으며 그 개념은 매우 흥미로워 보입니다. 내가 알 수있는 것은 컴파일러 인 블랙 박스를 열고 Visual Studio로 작성된 코드에 대한 정보와 메트릭을 얻는 데 사용할 수있는 인터페이스를 제공합니다. Roslyn은 또한 코드를 "스크립트"하고 즉시 컴파일 / 실행할 수있는 것으로 보입니다 (CodeDom과 유사). 그러나 필자는 …

8
레거시 코드베이스의 품질 표준을 낮추는 방법에 대해 논쟁하는 방법은 무엇입니까? [닫은]
우리는 상상할 수없는 나쁜 코드가있는 큰 레거시 코드베이스를 가지고 있습니다. 우리는 이제 몇 가지 품질 표준을 정의했으며 완전히 새로운 코드베이스에서 또는 기존 코드를 만지는 경우 그 표준을 충족 시키려고합니다. 그리고 우리는 이미 수천 건의 위반 사항이있는 Sonar (코드 분석 도구)를 가진 사람들을 시행합니다. 이제 토론은 레거시에 대한 위반을 낮추기 위해 …

1
코드 분석의 목적은 무엇이며 언제 사용해야합니까?
Visual Studio의 코드 분석에 대해 들었지만 결코 사용하지 않았습니다. MSDN을 읽었 지만 여전히 코드 분석의 실제 사용을 이해하지 못합니다. StyleCop과 동일하지 않습니까? 어딘가에 FxCop도 언급되었습니다. 코드 분석과의 차이점은 무엇입니까? 모든 프로젝트에 코드 분석을 사용해야합니까? 동료가 작성한 코드 검토가 충분하지 않습니까?

10
Entropy의 개념을 유용한 방법으로 소스 코드를 분석하는 데 사용할 수 있습니까?
상대적으로 복잡한 값을 생성하는 규칙을 포함하는 정적 소스 코드 분석에 대한 컨텍스트를 정의 할 수 있다는 것이 논리적으로 보입니다. souce 코드에는 "에너지"가 없기 때문에 물리적 의미와 다르다는 것을 알고 있습니다. 누구든지 이것에 대해 알고 있습니까? 그렇다면 어떤 결과로 유용한 결과를 얻었습니까?

3
정적 분석 유형에 대한 대안이 있습니까?
프로그래밍 언어의 정적 타이핑은 컴파일 타임에 특정 보증을 시행하는 데 도움이 될 수 있지만 유형이이 작업을위한 유일한 도구입니까? 불변량을 지정하는 다른 방법이 있습니까? 예를 들어, 언어 또는 환경은 배열 길이 또는 입력과 함수 간의 관계에 대한 보증을 강화하는 데 도움이 될 수 있습니다. 나는 타입 시스템 외부에서 이와 같은 것을 …

3
복잡성과 도달 가능성 사이에 상관 관계가 있습니까?
나는 최근 UniC에서 순환 복잡성 (McCabe)과 소프트웨어의 도달 가능성을 연구했습니다. 오늘 제 강사는 두 측정 항목 사이에 상관 관계가 없다고 말했지만 이것이 사실입니까? 덜 복잡한 프로그램 (우리가 살펴본 몇 안되는)에서 도달 가능성 측면에서 '더 나은'결과를 얻는 것처럼 보이기 때문에 약간의 상관 관계 가 있다고 생각 합니다. 누구든지 두 가지 메트릭을 …

7
정적 코드 분석의 실제 이점은 무엇입니까?
pc-lint 또는 QAC 와 같은 도구를 사용하여 코드 기반에서 정적 코드 분석을 수행 할 수 있습니다. 내 경험상 정적 분석은 종종 엄청난 양의 소음, 즉 실제 버그는 아니지만 주어진 규칙 세트의 규칙 중 하나를 위반하는 것에 대한 경고를 생성합니다. 특정 규칙을 해제하면 (규칙 세트에서 또는 코드의 특수 주석을 통해) 실제로 …

7
정적 분석의 함정을 피하는 방법
나는 적어도 종이에서 Joel Test에서 11 점을받는 회사에서 일하고 있습니다. 그러나 실제로는 예상 한 것만 큼 효과가 없으며 프로젝트는 반년 동안 DEFCON 1 에있었습니다. 자, 대부분의 동료들은 일요일 오후 6시에 집으로 돌아갈 수 있다면 행복합니다. 작동하지 않는 것으로 충격을받은 명백한 모범 사례 중 하나는 정적 분석 도구를 사용하는 것입니다. 이 …

5
알고리즘의 Landau 표기법 (Big O 또는 Theta 표기법)을 찾는 프로그래밍 방식?
나는 알고리즘을 Landau (Big O, Theta ...) 표기법을 직접 검색하여 가능한 한 최적화되었는지 확인했지만 함수가 실제로 커지고 복잡해지면 길을 가고 있습니다. 손으로 할 시간이 너무 많아 또한 인적 오류가 발생하기 쉽습니다. Codility (코딩 / 알고 연습)에 시간을 보냈으며 제출 된 솔루션에 대한 Landau 표기법 (시간 및 메모리 사용)을 제공한다는 것을 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.