SlideShare a Scribd company logo
1 of 14
Download to read offline
임베디드 시스템 버그
지하철 개찰구
지하철 개찰구
지하철 사용시 요금을 지불하고 사용하도록
출입을 통제하는 장비

적외선감시를 통해 무임승차자 통제를 제한
WHY SOFTWARE?
사용자 측면 ( 신체접촉 등 )
기존 하드웨어로 제어되는 개찰구보다 편리성과 불쾌감이 적다
(기존에는 기기를 밀고 들어가서 신체접촉이 생겨 불편하고 불쾌감 생성 가능)

적외선 감지 ( 데이터 사용 )
적외선 감지를 통해 사람이 무임승차하는지 판단
(하드웨어로는 사람인지 아닌지 등의 판단이 불분명해질 수 있는 가능성)
어떤 버그가 있었나?
상황 설명
일반적인 지하철 개찰구 및 같은 제품 개찰구
-카드를 찍지 않고 지나갈 경우에만 적외선 감지에 의해
개폐기가 닫힌다

사진 속 지하철 개찰구
-개폐기가 사람이 지나가지 않는데 닫혀있고, 양쪽 출입이
가능한 개찰구임에도 한쪽 출입이 불가능하다
(반대쪽은 사진은 못 찍었지만 출입 가능)
재현
일반적으로 잘 발생하지 않는 상황이고, 회
사 측에서도 확인을 해봐야 알 것 같다고
하여서 확실한 원인을 찾지 못하였다.
왜 버그인가?
개발 회사인 국제시스템의 연구소에 전화로 문의해 보았다.

개폐기가 열리고 닫히는 것은 소프트웨어에 의해 컨트롤,
사람이 없는데 닫혀 있는 것은 소프트웨어가 신호전송 및
판단을 잘못 하여 나온 버그로 예측된다고 설명하였다.
문제 및 구현방법 예측(1)
개찰수 출입 시 실행 순서 예측

입력 대기 및 무임승차 판단
카드 접촉

초기에는 통과 불가능인 상태로 있다가
우측의 실행 흐름에 따라 진행될 것으로
예측

통과 가능 여부 판단
YES

통과 가능 상태로 변경
통과 대기 및 확인

통과 가능 여부 판단 부분에서는
카드 잔액등을 파악하는 등 역할을 함

통과 불가능 상태로 변경

NO
문제 및 구현방법 예측(2)
그럼 어느 부분에서 문제일 것인가??

입력 대기 및 무임승차 판단
카드 접촉

아직 흐름도가 완벽하지 않지만
예상되는 문제는 통과 가능 상태로 변경
후에 초기 상태로 돌아가는 과정에서
문제가 발생했을 것이라고 예상

통과 가능 여부 판단
YES

통과 가능 상태로 변경
통과 대기 및 확인

통과 불가능 상태로 변경

NO
문제 예측 자세한 설명
입력 대기 및 무임승차 판단

통과 가능 상태로 변경 시 반대쪽
출입을 제한해야 하기 때문에
출입을 제한해 놓은 뒤 원상태로
돌아갈 때 문제가 생겼을 것이라 판단

카드 접촉
통과 가능 여부 판단
YES

통과 가능 상태로 변경
통과 대기 및 확인

통과 불가능 상태로 변경

NO
문제 해결방안 제시




자주 발생하는 문제가 아니므로 장기간 동안 문제가 생기게
되는 경우 자가적으로 확인을 하여 원상태로 다시 돌리게 시도를
하면 된다.

자가적으로 확인하는 방안으로 통행을 20초 이상 막게 된다면
그 때 누군가가 돈을 지불하고 안지나 간 것인지 확인을 하면 될
것으로 보인다.
문제 해결에 대한 흐름도
20초 Delay

상태 확인

정상

입력 대기 및 무임승차 판단
카드 접촉

Error
기기 초기화

통과 가능 여부 판단
YES

통과 가능 상태로 변경
통과 대기 및 확인

통과 불가능 상태로 변경

NO
자세한 이유


물론 위에서 제시한 방안은 아주 단순한 방안이지만 그렇게 만
든 이유는 다음과 같다.



백 개의 기기 중 하나만 저런 상태가 되어 있어 크게 문제가 되
지 않는다.



재현 방안도 알기 힘들고 개발 회사에서도 이해하기 어려워하
는 버그임을 감안하였을 때 개발비에 따른 부담보다는 아주 단순
한 자가 테스트 기능만 추가해서 Reset을 해도 사용에 큰 지장
은 없을 것이고, 효율적이라고 생각되었다.
감사합니다

More Related Content

Viewers also liked

Perfil dos Parlamentares - Guilherme de Oliveira - n° 12 - 1°CDB
Perfil dos Parlamentares - Guilherme de Oliveira - n° 12 - 1°CDBPerfil dos Parlamentares - Guilherme de Oliveira - n° 12 - 1°CDB
Perfil dos Parlamentares - Guilherme de Oliveira - n° 12 - 1°CDBdialogosedebates
 
Rethink Async with RXJS
Rethink Async with RXJSRethink Async with RXJS
Rethink Async with RXJSdevObjective
 
TRADITIONAL GAMES (SACK-RACE)
TRADITIONAL GAMES (SACK-RACE)TRADITIONAL GAMES (SACK-RACE)
TRADITIONAL GAMES (SACK-RACE)MarotoigreS
 
I'm a Team Lead Now What?
I'm a Team Lead Now What?I'm a Team Lead Now What?
I'm a Team Lead Now What?devObjective
 
"How to bootstrap your startup" by Balthazar de Lavergne, Partner at TheFamily
"How to bootstrap your startup" by Balthazar de Lavergne, Partner at TheFamily"How to bootstrap your startup" by Balthazar de Lavergne, Partner at TheFamily
"How to bootstrap your startup" by Balthazar de Lavergne, Partner at TheFamilyTheFamily
 
Front end-modernization
Front end-modernizationFront end-modernization
Front end-modernizationdevObjective
 

Viewers also liked (10)

Medicina y sociedad
Medicina y sociedadMedicina y sociedad
Medicina y sociedad
 
Perfil dos Parlamentares - Guilherme de Oliveira - n° 12 - 1°CDB
Perfil dos Parlamentares - Guilherme de Oliveira - n° 12 - 1°CDBPerfil dos Parlamentares - Guilherme de Oliveira - n° 12 - 1°CDB
Perfil dos Parlamentares - Guilherme de Oliveira - n° 12 - 1°CDB
 
Command box
Command boxCommand box
Command box
 
Rethink Async with RXJS
Rethink Async with RXJSRethink Async with RXJS
Rethink Async with RXJS
 
TRADITIONAL GAMES (SACK-RACE)
TRADITIONAL GAMES (SACK-RACE)TRADITIONAL GAMES (SACK-RACE)
TRADITIONAL GAMES (SACK-RACE)
 
I'm a Team Lead Now What?
I'm a Team Lead Now What?I'm a Team Lead Now What?
I'm a Team Lead Now What?
 
Introduction robotic arm
Introduction robotic armIntroduction robotic arm
Introduction robotic arm
 
"How to bootstrap your startup" by Balthazar de Lavergne, Partner at TheFamily
"How to bootstrap your startup" by Balthazar de Lavergne, Partner at TheFamily"How to bootstrap your startup" by Balthazar de Lavergne, Partner at TheFamily
"How to bootstrap your startup" by Balthazar de Lavergne, Partner at TheFamily
 
Horario 27 29-05
Horario 27   29-05Horario 27   29-05
Horario 27 29-05
 
Front end-modernization
Front end-modernizationFront end-modernization
Front end-modernization
 

임베디드 소프트웨어 버그

  • 2. 지하철 개찰구 지하철 사용시 요금을 지불하고 사용하도록 출입을 통제하는 장비 적외선감시를 통해 무임승차자 통제를 제한
  • 3. WHY SOFTWARE? 사용자 측면 ( 신체접촉 등 ) 기존 하드웨어로 제어되는 개찰구보다 편리성과 불쾌감이 적다 (기존에는 기기를 밀고 들어가서 신체접촉이 생겨 불편하고 불쾌감 생성 가능) 적외선 감지 ( 데이터 사용 ) 적외선 감지를 통해 사람이 무임승차하는지 판단 (하드웨어로는 사람인지 아닌지 등의 판단이 불분명해질 수 있는 가능성)
  • 5. 상황 설명 일반적인 지하철 개찰구 및 같은 제품 개찰구 -카드를 찍지 않고 지나갈 경우에만 적외선 감지에 의해 개폐기가 닫힌다 사진 속 지하철 개찰구 -개폐기가 사람이 지나가지 않는데 닫혀있고, 양쪽 출입이 가능한 개찰구임에도 한쪽 출입이 불가능하다 (반대쪽은 사진은 못 찍었지만 출입 가능)
  • 6. 재현 일반적으로 잘 발생하지 않는 상황이고, 회 사 측에서도 확인을 해봐야 알 것 같다고 하여서 확실한 원인을 찾지 못하였다.
  • 7. 왜 버그인가? 개발 회사인 국제시스템의 연구소에 전화로 문의해 보았다. 개폐기가 열리고 닫히는 것은 소프트웨어에 의해 컨트롤, 사람이 없는데 닫혀 있는 것은 소프트웨어가 신호전송 및 판단을 잘못 하여 나온 버그로 예측된다고 설명하였다.
  • 8. 문제 및 구현방법 예측(1) 개찰수 출입 시 실행 순서 예측 입력 대기 및 무임승차 판단 카드 접촉 초기에는 통과 불가능인 상태로 있다가 우측의 실행 흐름에 따라 진행될 것으로 예측 통과 가능 여부 판단 YES 통과 가능 상태로 변경 통과 대기 및 확인 통과 가능 여부 판단 부분에서는 카드 잔액등을 파악하는 등 역할을 함 통과 불가능 상태로 변경 NO
  • 9. 문제 및 구현방법 예측(2) 그럼 어느 부분에서 문제일 것인가?? 입력 대기 및 무임승차 판단 카드 접촉 아직 흐름도가 완벽하지 않지만 예상되는 문제는 통과 가능 상태로 변경 후에 초기 상태로 돌아가는 과정에서 문제가 발생했을 것이라고 예상 통과 가능 여부 판단 YES 통과 가능 상태로 변경 통과 대기 및 확인 통과 불가능 상태로 변경 NO
  • 10. 문제 예측 자세한 설명 입력 대기 및 무임승차 판단 통과 가능 상태로 변경 시 반대쪽 출입을 제한해야 하기 때문에 출입을 제한해 놓은 뒤 원상태로 돌아갈 때 문제가 생겼을 것이라 판단 카드 접촉 통과 가능 여부 판단 YES 통과 가능 상태로 변경 통과 대기 및 확인 통과 불가능 상태로 변경 NO
  • 11. 문제 해결방안 제시   자주 발생하는 문제가 아니므로 장기간 동안 문제가 생기게 되는 경우 자가적으로 확인을 하여 원상태로 다시 돌리게 시도를 하면 된다. 자가적으로 확인하는 방안으로 통행을 20초 이상 막게 된다면 그 때 누군가가 돈을 지불하고 안지나 간 것인지 확인을 하면 될 것으로 보인다.
  • 12. 문제 해결에 대한 흐름도 20초 Delay 상태 확인 정상 입력 대기 및 무임승차 판단 카드 접촉 Error 기기 초기화 통과 가능 여부 판단 YES 통과 가능 상태로 변경 통과 대기 및 확인 통과 불가능 상태로 변경 NO
  • 13. 자세한 이유  물론 위에서 제시한 방안은 아주 단순한 방안이지만 그렇게 만 든 이유는 다음과 같다.  백 개의 기기 중 하나만 저런 상태가 되어 있어 크게 문제가 되 지 않는다.  재현 방안도 알기 힘들고 개발 회사에서도 이해하기 어려워하 는 버그임을 감안하였을 때 개발비에 따른 부담보다는 아주 단순 한 자가 테스트 기능만 추가해서 Reset을 해도 사용에 큰 지장 은 없을 것이고, 효율적이라고 생각되었다.