Skip to main content
QUICK REVIEW

[논문 리뷰] Software engineering and the SP Theory of Intelligence

J. Gerard Wolff|arXiv (Cornell University)|2017. 08. 18.
Computability, Logic, AI Algorithms참고 문헌 20인용 수 10
한 줄 요약

이 논문은 정보 압축을 통한 SP-패턴을 통한 통합 프레임워크를 활용해 기존의 프로그래밍, 컴파일, 데이터 포맷을 대체하는 새로운 소프트웨어 공학 패러다임을 제안한다. 모든 계산을 패턴 기반의 압축으로 간주함으로써 자동 프로그래밍이 가능해지고, 코드와 데이터의 경계가 사라지며, 기술적 빚, 검증 필요성, 프로그래밍 언어 및 파일 형식의 과도한 다양성도 감소시킨다.

ABSTRACT

This paper describes a novel approach to software engineering derived from the "SP Theory of Intelligence" and its realisation in the "SP Computer Model". Despite superficial appearances, it is shown that many of the key ideas in software engineering have counterparts in the structure and workings of the SP system. Potential benefits of this new approach to software engineering include: the automation or semi-automation of software development, with support for programming of the SP system where necessary; allowing programmers to concentrate on 'world-oriented' parallelism, without worries about parallelism to speed up processing; support for the long-term goal of programming the SP system via written or spoken natural language; reducing or eliminating the distinction between 'design' and 'implementation'; reducing or eliminating operations like compiling or interpretation; reducing or eliminating the need for verification of software; reducing the need for validation of software; no formal distinction between program and database; the potential for substantial reductions in the number of types of data file and the number of computer languages; benefits for version control; and reducing technical debt.

연구 동기 및 목표

  • 과도한 프로그래밍 언어, 데이터 포맷, 개발 프로세스의 다양성으로 인해 증가하는 현대 소프트웨어 공학의 복잡성과 비효율성 문제를 해결하기 위해.
  • 단일 압축 기반 프레임워크 아래에서 설계와 구현 간 인위적인 분리를 제거하여 소프트웨어 개발을 통합하기 위해.
  • 자연스럽고 인간과 유사한 계산 모델을 통해 컴파일, 해석, 검증, 검수의 필요성을 줄이거나 제거하기 위해.
  • SP 컴퓨터 모델을 통해 자연어 프로그래밍과 소프트웨어 개발의 장기적 자동화를 가능하게 하기 위해.
  • 프로그램 표현과 데이터 표현을 통합함으로써 기술적 빚을 최소화하고 소프트웨어 유지보수성을 향상시키기 위해.

제안 방법

  • 모든 소프트웨어와 데이터를 구조적이고 압축적인 패턴인 SP-패턴으로 표현함으로써 지식과 계산을 인코딩하는 방식.
  • SP 시스템의 다중 정렬 원리를 활용해 정보 압축을 통한 추론, 학습, 계산을 수행하는 방식.
  • 기존의 프로그래밍 언어를 대체하기 위해 SP-패턴 기반의 단일 통합 언어로 전환함으로써 자연어 입력을 통한 소프트웨어 개발을 가능하게 하는 방식.
  • SP 기계라는 SP 시스템의 산업용 구현체를 통해 SP-패턴을 직접 실행함으로써 컴파일과 해석을 대체하는 방식.
  • 프로그램과 데이터베이스를 모두 SP-패턴의 집합으로 간주함으로써 별도의 데이터 모델이 필요 없도록 통합하는 방식.
  • SP 시스템이 인간의 인지, 지각, 학습을 모델링하는 데 있어 입증된 유연성을 활용해 확장 가능하고 일반적인 소프트웨어 공학을 지원하는 방식.

실험 결과

연구 질문

  • RQ1정보 압축을 기반으로 한 통합된 소프트웨어 공학 프로세스로 재구성할 수 있는가? 이는 별도의 컴파일, 해석, 검증이 필요 없도록 하는가?
  • RQ2SP 시스템을 통해 자연어 입력을 직접 사용해 소프트웨어를 생성하고 실행할 수 있는 정도는 어느 정도인가?
  • RQ3함수, 조건문 등 전통적인 프로그래밍 구성요소를 제거하면서도 계산 표현력을 유지할 수 있는가?
  • RQ4SP 시스템이 다양한 지식 유형을 표현할 수 있는 능력이 모든 소프트웨어 및 데이터 포맷에 대한 통합 기반으로 기능할 수 있는가?
  • RQ5프로그램과 데이터를 단일 SP-패턴 기반 표현으로 통합함으로써 버전 관리 및 기술적 빚에 어떤 영향을 미치는가?

주요 결과

  • SP 시스템은 SP-패턴이라는 단일 통합 메커니즘을 통해 모든 형태의 지식과 계산을 표현할 수 있으며, 이는 소프트웨어와 데이터에 대한 통합 기반을 제공한다.
  • 함수, 조건문, 매개변수와 같은 전통적 프로그래밍 구성요소는 모두 SP-패턴으로 재표현될 수 있으며, 이는 절차적 실행이 필요 없이도 등가성을 유지함을 보여준다.
  • SP 기계에서 SP-패턴을 직접 처리함으로써 컴파일과 해석이 필요 없어지며, 이는 시스템 복잡성을 감소시킨다.
  • 검증 및 검수 과정이 크게 줄어들거나 제거될 수 있으며, 이는 SP 시스템의 정보 압축 원리에 의해 자연스럽게 정확성이 유도되기 때문이다.
  • 프로그램과 데이터베이스 간의 경계가 사라지며, 둘 다 SP-패턴의 집합으로 표현됨으로써 데이터 관리와 버전 관리가 단순화된다.
  • 프로그래밍 언어와 데이터 파일 형식의 수를 하나의 통합 형식으로 줄일 수 있는 잠재력이 있으며, 이는 기술적 빚과 개발 오버헤드를 크게 감소시킨다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.