문제

Java 코드의 동시성을 분석 할 수있는 프레임 워크 나 응용 프로그램 (APP) / 프로그램이 있는지 궁금해하고 있었습니까?

공구가 JRE 선적 클래스와 메소드의 모든 구현을 알고 있으면 동기화 된 블록 및 메소드 및 해당 호출 계층 구조를 간단하게 분석하는 것으로 나타납니다.여기에서 Petri Net을 만들 수 있으며 교착 상태를 경험할 수 있는지 확인하십시오.

나는 무언가를 놓치거나 정말로 쉽지?그런 종류의 물건을하고있는 멋진 도구가 있어야합니까?또는 그런 도구가 기본 프로그램 / 비즈니스 로직으로 인해 완전히 저장할 수있는 데드 록을 너무 많이보고 할 것입니까?페트리 그물은 이러한 상황을 처리 할만 큼 충분히 강력해야합니까?

이것은 죽은 잠금 문제와 관련이 있거나 관련이없는 버그를 검색하는 데 많은 맨 시간을 저장할 수 있습니다.

도움이 되었습니까?

해결책

(많은) 동시성 관련 버그가 정적 코드 분석을 사용하여 찾을 수 있지만 모든 유형의 버그에는 적용되지 않습니다.일부 버그는 특정 조건에서 런타임에만 나타납니다.

IBM에는 콘테스트 "이라는 도구가 있습니다.; 경주 조건, 교착 상태 및 기타 간헐적 인 버그 (집합적으로 동기화 문제)를 포함 할 가능성이있는 프로그램 시나리오가 고주파로 표시되도록 프로그램 스레드의 실행을 스케줄합니다.

이를 위해 앱의 계측 된 버전에 대해 실행 (단위) 테스트가 필요합니다.이 developerWorks 기사 .

다른 팁

용지는 정적 분석을 수행하는 도구를 설명합니다.라이브러리 및 교착 상태가 가능하지 않은지 결정합니다.

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