Abstract

As computing capabilities are extending, the amount of source code to manage is inevitably becoming larger and more complex. No matter how hard we try, the bewildering complexity of the source code always ends up overwhelming its own creator, to the point of giving the appearance of chaos. As a solution to the cognitive complexity of source code, we are proposing to use the framework of Combinatory Logic to construct complex computational concepts that will provide a model of description of the code that is easy and intuitive to grasp. Combinatory Logic is already known as a model of computation but what we are proposing here is to use a logic of combinators and operators to reverse engineer more and more complex computational concept up from the source code. Through the two key notions of computational concept and abstract operator, we will show that this model offers a new, meaningful and simple way of expressing what the intricate code is about.

Highlights

  • In Sept. 26, 2017, an article entitled ”The Coming Software Apocalypse” [1] exposed the dangers we’re facing as software implementations are becoming increasingly complex: ”Software has enabled us to make the most intricate machines that have ever existed

  • We mean a level of intricacy in the code that makes it too difficult to grasp for a human mind

  • Combinatory Logic is already known as a model of computation but what we are proposing here is to use a logic of combinators and operators to reverse engineer more and more complex computational concept up from the source code

Read more

Summary

Introduction

In Sept. 26, 2017, an article entitled ”The Coming Software Apocalypse” [1] exposed the dangers we’re facing as software implementations are becoming increasingly complex: ”Software has enabled us to make the most intricate machines that have ever existed. Just because we can’t see the complexity doesn’t mean that it has gone away (...) Just by editing the text in a file somewhere, the same hunk of silicon can become an autopilot or an inventory-control system This flexibility is software’s miracle, and its curse. We are proposing to use the framework of Combinatory Logic to construct complex computational concepts as a model of description of the source code that is easy and intuitive to grasp. Combinatory Logic is already known as a model of computation but what we are proposing here is to use a logic of combinators and operators to reverse engineer more and more complex computational concept up from the source code. Both the notions that belong to applicative languages in general and to Combinatory Logic in particular play an important role in what follows

Applicative Languages
Combinators and reduction
Elementary combinators
A Complexity Threshold
Combination of Concepts
Example
Example 1
Conditionals
Defining Complex Concepts
Higher-level Concepts
B FT100 Sb Temp
Using loops to create new concepts
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.