Automated Software Code Creation Task
(Redirected from automatic programming)
Jump to navigation
Jump to search
An Automated Software Code Creation Task is a software programming task that is an automated task.
- AKA: Automatic Programming.
- Context:
- input: a High-Level Software System Specification.
- performance measures: Automated Software Coding Performance Measure.
- It can (typically) be a Human-level Intelligence Task.
- It can (typically) be solved by an Automated Programming System.
- It can include: Automated Debugging, Automated Code Refactoring, Automated Test Generation, Automated Documentation Generation.
- It can range from being a Semi-Automated Programming Task to being a Fully-Automated Programming Task.
- It can range from being a Simple Automated Programming Task to being a Complex Automated Programming Task.
- …
- Example(s):
- Simple Automated Programming Tasks, such as:
- Auto-Write a software function that combines two lists by alternatingly taking elements. For example: given the two lists [a, b, c] and [1, 2, 3], the function should return [a, 1, b, 2, c, 3]. Include auto-written test cases and auto-written code documentation.
- ...
- Complex Automated Programming Tasks, such as:
- An Auto-Write a software coding contest problem (in a software coding contest).
- An Auto-Write a large-scale software project.
- ...
- Auto-Debug a software function with known software errors.
- Auto-Document a software system.
- Auto-Refactor the following APIs to improve code maintainability, specifically refactor the data retrieval API to enhance readability and reduce redundancy in the code.
- …
- Simple Automated Programming Tasks, such as:
- Counter-Example(s):
- See: Self-Programming Task, Automated System Recovery, Program Synthesis, High-Level Programming Language, Software Automation, Code Generation, Software Development Project.
References
2023
- (Wikipedia, 2023) ⇒ https://en.wikipedia.org/wiki/Automatic_programming Retrieved:2023-12-30.
- In computer science, automatic programming [1] is a type of computer programming in which some mechanism generates a computer program to allow human programmers to write the code at a higher abstraction level. There has been little agreement on the precise definition of automatic programming, mostly because its meaning has changed over time. David Parnas, tracing the history of "automatic programming" in published research, noted that in the 1940s it described automation of the manual process of punching paper tape. Later it referred to translation of high-level programming languages like Fortran and ALGOL. In fact, one of the earliest programs identifiable as a compiler was called Autocode. Parnas concluded that "automatic programming has always been a euphemism for programming in a higher-level language than was then available to the programmer.” [2]
Program synthesis is one type of automatic programming where a procedure is created from scratch, based on mathematical requirements.
- In computer science, automatic programming [1] is a type of computer programming in which some mechanism generates a computer program to allow human programmers to write the code at a higher abstraction level. There has been little agreement on the precise definition of automatic programming, mostly because its meaning has changed over time. David Parnas, tracing the history of "automatic programming" in published research, noted that in the 1940s it described automation of the manual process of punching paper tape. Later it referred to translation of high-level programming languages like Fortran and ALGOL. In fact, one of the earliest programs identifiable as a compiler was called Autocode. Parnas concluded that "automatic programming has always been a euphemism for programming in a higher-level language than was then available to the programmer.” [2]
- ↑ Ricardo Aler Mur, "Automatic Inductive Programming ", ICML 2006 Tutorial. June 2006.
- ↑ D. L. Parnas. “Software Aspects of Strategic Defense Systems.” American Scientist. November 1985.
- NOTES:
- Definition and Evolution: Automatic programming in computer science is a method where a mechanism generates a program, enabling programmers to code at a higher abstraction level. The term's meaning has changed over time, initially relating to the automation of manual processes like punching paper tape, and later involving the translation of high-level programming languages.
- Software Program Synthesis: This involves creating software procedures from scratch based on mathematical requirements.
- Generative Software Programming: Programs are written to automatically manufacture software components, with a focus on enhancing programmer productivity and code reuse.
- Source-Code Generation: Generating source code from a problem description or a model using tools like template processors or IDEs.
- Low-Code Development Platforms: Software that allows programmers to create application software through graphical user interfaces and configuration, reducing the need for traditional programming.
- NOTES: