Domain 8: Software Development Security 10% Flashcards

1
Q

Using programming maturity framework

A

we can lower our errors to 1 per 1,000 lines of code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Machine code

A

Sftwr exe directly by the CPU, 0’s and 1’s understood by the CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Source Code

A

Comp programming lang, written in text and is human understandable, translated into machine code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Assembler language

A

Short mnemonics like ADD/SUB/JMP which is matched with the full lenght binary machine code, assemblers converts assembly language into machine language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Compiler languages

A

Translates the higher level language into machine code and saves, often as executables, compiled once and run multiple times.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Interpreted languages

A

Similar to compilar languages, but interprets the code each time it runs into machine code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Bytecode

A

An interpreted code, in intermediary form, converted from source code to interpreted, but still needs to be converted into machine code before it can run on the CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Procedural languages (Procedure-oriented)

A

Uses subroutines, procedures and functions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Objected-oriented Programming (OOP)

A

Based on the concept of objects, which may contain data, in the form of fields, often known as attributes, and code, in the form of procedures, often known as methods. An object’s procedures can access and often modify the data fields of the objects with which they are associated. In OOP, comp programs are designed by making them out of obj that interact with one another.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

4th gen languages (4GL)

A

are designed to reduce programming effort and the time it takes to develop software, resulting in a reduction in the cost of sftwr development. Often uses a GUI, drag and drop, and then generating the code, often used for websites, db, reports.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Programming languages and generations

A
  1. Machine Code
  2. Assembler
  3. Cobol, basic, C++, Java
  4. ColdFusion, Progress 4gl, SQL, PHP, Perl
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

CASE (Computer-Aided Software Engineering)

A

Used for developing high-quality, defect-free, and maintainable software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

CASE software 3 categories

A
  1. Tools support specific tasks in the sftwr lifecycle 2. Workbenches combine two or more tools focused on a specific part of the sftwr life-cycle. 3. Enviroments combine two or more tools or workbenches and support the complete sftwr life-cycle.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Top-Down Programming

A

Starts w/ the big picture, then breaks it down into a smaller segments.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Bottom-UP Programming

A

Piecing together of sys to build more complex sys, making the original sys a sub-sys of the overarching sys.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Proprietary software

A

Sftwr protected by intellectual property and/or patents, often used interch with Closed Source sftwr, but it really is not. It cna be both Open and Closed Src

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

GNU (General Public License) also called GPL

A

users have the freedom to run, study, share and modify the software. A copyleft license, means that derivative work can only be distributed under the same license terms.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

BSD (Berkeley Software Distr)

A

A family of permissive free sftwr licenses, imposing minimal restrictions on the use and redistribution of covered sftwr. This is different than copyleft licenses, which have reciprocity share-alike requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Apache

A

Sftwr must be free, distri, mod, distri the mod sftwr. Requires the preserv of the cpyrght and disclaimer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Waterfall

A

very linear, each phase leads directly into the next. The unmodified waterfall model does not allow us to go back to the previous phase.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Sashimi model (Waterfall w/ overlapping phases)(modified waterfall)

A

Similar to waterfall, but we always have 2 overlapping phases, if we close one phas, we add the next phase. It allows you to go back to the previous phase but no further.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Agile Software development

A

Describes a set of values and principles for sftwr development under which require and solutions evolve through the collab effort of self-organizing cross-func teams. Uses adaptive planning, evolutionary development, early delivery, and continuous improvement and it encourages rapid and flexible response to change. For the exam know flow agile.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is valued in the manifesto:

A

Individuals and Interactions more than processes and tools. Working Software more than comprehensive documentation. Customer Collab more than contract negotiation. Responding to Change more than following the plan.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Scrum further development of Agile

A

designed for teams of approximately 10 individuals, and generally relies on 2-wks development cycles, called “sprints”, as well as short daily stand-up meetings.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

3 Core roles in Scrum

A

Product owner: representing the prod stakeholders, the voice of the cust, accountable for ensuring that the team delivers value to the business. Development team: Responsible for delivering the product at the end of each sprint. Team is made-up of 3-9 individuals who do the actual wrk

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Scrum master

A

Facilitates and accountable for removing impediments to teh ability of the team to deliver the product goals and deliverables. Buffer btw the team and any distracting influences. Ensures the Scrum framework is followed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

XP (Extreme programming)

A

Intended to improve sftwr quality and responsiveness to changing cust require. Uses/advocates frequent releases in short development cycles, intended to improve productivity and introduce checkpoints at which new customer requirements can be adopted.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

XP Uses

A

programming in pairs or doing extensive code review. Unit testing of all code. Avoiding programming of features until they are actually needed. Flat mngmnt structure. Code simplicity and clarity. Expecting changes in the customer’s requirements as time passes and the problem is better understood. Freq comm w/ cust and among prgrmmrs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

The spiral model

A

A risk-driven process model generator for sftwr projects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Spiral model 4 phases

A

Planning, risk, analysis, engineering and evaluation.. A sftwr project repeatedly passes through these phases in iterations (called Spirals in this model).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

RAD (Rapid Application Development)

A

Puts an emphasize on adaptability and the ncessity of adjusting requirements in response to knowledge gained as the project progresses. Prototypes are often used. Very suited for developing sftwr that is driven by user interf requir. GUI blders are often called RAD tools.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Prototyping

A

Breaks projects into smaller tasks, creating multiple prototypes of sys design features. A working mdl of sftwr w/ some limited funct, rather than designing the full sftwr up front.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

SDLC (Sftwr Development Life Cycle)

A

The aim is to produce high-quality sys that meet or exceed customer expectations, based on customer requirement, by delivering sys which move through each clearly define phase, within scheduled time frames and cost estimates. All software development method follow SDLC phases but the method of doing that varies vastly btw methodologies.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

SDLC Phases:

A

investigation, analysis, design, build, test, implement, maintenance and support (and disposal). Can have security built into each step of the process, for the exam it always does. If an answer about SDLC does not list secure or security, it would be wrong and can be eliminated.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Project

A

is a temp endeavor, w/ a finite start and end, that is focused on creating a unique product, service, or result.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Program

A

is a collection of related projects. It is temporary.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Portfolio

A

is a collection of projects and programs that are managed as a group to achieve strategic objectives

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

IPT (Integrated Product Team)

A

A multidisciplinary group of people who are collectively responsible for delivering a defined product or process. IPTs are used in complex development programs/projects for review and decision making. Are created most often as part of structured sys engineering methodologies, focusing attention on understanding the needs and desires of each stakeholder.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

Source code escrow

A

The deposit of the source code of sftwr w/ a 3rd party escrow agent. Escrow is typic reques by a parting licensing sftwr (the licensee), to ensure maintenance of the sftwr instead of abandonment or orphaning.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

Source code repositories

A

Using public 3rd party code repositories comes with some security concerns. One of the most import cntrls is using MFA. They are often used by open-source sftwr prjcts and other multi-developer projects to handle various vers. They help develop submit patches of code in an organized fashion

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

API Security

A

Allows app to comm w/ another app, OS, DB, Ntwrk.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

OWASP

A

also has an Enter Sec API Toolkit project, which includes these crit API cntrls

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

DevOps

A

a sftwr develop and deliery process that emphasizes comm and collaboration btw product managment, sftwr develop, and ops profs in the entire service lifecycle, from design through software retirement.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

DevOps

A

a sftwr develop and deliery process that emphasizes comm and collaboration btw product managment, sftwr develop, and ops profs in the entire service lifecycle, from design through software retirement. Automates and monitors all the sftwr processies.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

Databases

A

an organized collection of data. It is the collection of schemas, tables, queries, reports, views, and other objects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

DBMS (database management system)

A

A comp sftwr app that interacts w/ the user, other apps, and the DB itself to capture and analyze data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

Most common DB model today

A

is the relational model as represented by the SQL language.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

Common logical data models for

A

DB include: Hierarchical DB, Relational mdl

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

Relational mdl

A

orgs data into 1 or + tables (or relations) of columns and rows, w/ a unique key identifying each row.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

Foreign key

A

They are in relational DBs with the matching primary key of a parent DB table. It is always the primary key in the local DB.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

Referential integrity

A

when every foreign key in a secondary tbl matches a primary key in the parent tbl. It is broken if not all foreign keys match the primary key.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

Semantic integrity

A

each attribute value is consistent w/ the attribute data type.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

Entity integrity

A

Each tuple (row) has a unique primary value that is not null.

54
Q

User-defined integrity

A

A set of rules specified by a user, which do not belong to the entity, domain and referential integrity categories.

55
Q

Having a single, well cntrlld and well defined data-integrity sys increases:

A

Stability, Performance, Re-usability, Maintainability.

56
Q

Integrity

A

modern DB support these features, and it has become the de facto respon of teh DB to ensure data integrity.

57
Q

DB Journal

A

is a log of all DB transactions. Can be used to restore a DB after a backup.

58
Q

DB normalization

A

used to clean up the data in a DB tbl to make it logically concise, org, and consistent. Removes redundant data, and improves the integrity and avail of the DB

59
Q

1 Normal Form

A

divides the base data into tbls, primary key is assigned to most or all tables

60
Q

2 Normal Form

A

Move data that is partially dependent on the primary key to another table

61
Q

3rd Normal Form

A

Remove data that is not dependent on the primary key

62
Q

Database Views

A

What we see when we query DB tables. They give users a view of the parts of the DB they are allowed to access.

63
Q

Data Dictionary

A

Contains a descrip of the DB tables (metadata). It has the DB view info, info about auth DB admins, user accnts names and privileges, auditing info, DB schema

64
Q

DB schema

A

describes the att and values of the DB tables. Names should only contain letters, in the US SSN’s should only contain 9 #’s.

65
Q

DB query language

A

Allow the creation, mod, deletion of DB tbls, the read/write access for those tables. SQL and SQL derivatives are the most common query languages. Have at least 2 subsets of commands

66
Q

Data Definition language (DDL)

A

a standard for commands that define the different structures in a database. Creates, modifies, and removes DB objects such as tables, indexes, and users. Common DDL statements are create, alter, drop

67
Q

Data Manipulation Language (DML)

A

Used for selecting, inserting, deleting, updating data in a DB. Common DDL statements are select, delete, insert, update.

68
Q

Hierarchical DB

A

use a tree-like structure for how data is org. Data is stored as records which are connected to one another through links. A record is a collection of fields, with each field containing only one value. Win registry uses this DB type.

69
Q

Object-Oriented DB (Object DB Management Sys)

A

Object DB’s store objects rather than data such as integers, strings or real #’s. Objects are used in object oriented languages eg Smalltalk, C++, Java. The object can then be referenced, or called later, as a unit w/o having to go into its complexities.

70
Q

OO DB consist

A

of the following:

71
Q

Attributes

A

data which defines the charac of an object.

72
Q

Methods

A

defines the behavior of an object and are what was formally called procedures or functions. Objects contain both exe code and data.

73
Q

Classes

A

define the data and methods the object will contain, they are the template for the object.

74
Q

DB shadowing

A

exact real time copy of the DB or files to another locat

75
Q

Electronic vaulting (e-vaulting)

A

Using a remote backup service, backups are sent off-site electron at a certain interval or when files change.

76
Q

Remote journaling

A

sends transaction log files to a remote loca, not the files themselves.

77
Q

Coupling

A

the degree of interdependence btw sftwr modules, a measure of how closely connected 2 routines or modules are.

78
Q

Cohesion

A

Refers to the degree to which elements inside a module belong together. Measures the strength of relationships btw peices of functionality within a given module.

79
Q

Coupling is usually

A

contrasted with cohesion

80
Q

Low coupling often correalates with high cohesion, and vice versa

A

Low coupling is often a sign of well-structured comp sys and a good design, and when combined with high cohesion, supports the general goals of high readability and maintainability.

81
Q

ORB (Object request broker)

A

Middleware which allows program calls to be made from one comp to another via network, providing location transparency through remote procedure calls. Common object brokers include .net remoting, COM, DCOM, CORBA

82
Q

ORB (Object request broker)

A

Middleware which allows program calls to be made from one comp to another via network, providing location transparency through remote procedure calls. Promote interoperability of dist. object sys. Common object brokers include .net remoting, COM, DCOM, CORBA

83
Q

COM (Component Object Model)

A

a language-neutral way of implementing objects that can be used in enviroments different from the one in which they were created, even across machine boundaries. It is used to enable inter-process comm object creation in a large range of programming languages.

84
Q

DCOM (Distributed COM)

A

network sequel to COM which adds to support comm among objects on different comps - on a LAN, WAN, Internet. DCOM includes Object linking and embedding, a way to link docs to other docs. Both COM/DCOM are slowly being replaced by MS.Net, which can interoperate with DCOM, but offers more advanced functionality than COM/DCOM.

85
Q

CORBA (Common object request broker architecture)

A

Open vendor neutral ORB stdrd defined by the Object Management Group (OMG) designed to facilitate the comm of sys that are deployed on diverse platforms. Enables collaboration btw sys on diff OS’s, programming languages, and comp hrdwr. CORBA uses an object-oriented model although the sys that use CORBA do not have to be object-oreint

86
Q

OOAD (Object-oriented analysis and design)

A

Iteration after iteration, the outputs of OOAD activities, analysis models for OOA and design models for OOD respectively will be refined and evolve continuously driven by key factors like risks and business value.

87
Q

OOA (objected oriented analysis)

A

Creates a mdl of the sys functional requir that is independent of implementation constraints. Organize requirements around objects, which integrate both behaviors (processes) and states (data) modeled after real world objects that the sys interacts with.

88
Q

OOA primary tasks are:

A

Find the objects, organize the obj, describe how the objs interact, define the behavior of the objs, define the internals of the objects

89
Q

OOD (object-oiented design)

A

The developer applies the constraints to the conceptual mdl produced in OOA.

90
Q

OOM (object-oriented modeling)

A

common approach to modeling apps, sys, and business domains by using the object-oriented paradigm throughout the entire develpment life cycles. Heavily used by both OOA and OOD activities in modern sftwr engineering.

91
Q

OWASP (open web app security project)

A

Top 10 most common web security issues

92
Q

A1 Injection

A

can be any code injected into user forms, often seen is SQL/LDAP. To protect against this only allow users to input appropriate data into the fields.

93
Q

CGI (common gateway interface)

A

Standard proto for web srvrs to exe programs running on a server that generates web pages dynamically. We use the interface to ensure only proper input makes it to the DB. CGI separates the untrusted (user) from the trusted (DB)

94
Q

A2 Broken Authn and Session Management

A

Session do not expire or take too long to expire. Session ID’s are predictable. Tokens, Session Id’s, pswrds are kept in plaintext.

95
Q

A3 Cross-site scripting (XSS)

A

Attackers inject client-side scripts into web pages viewed by other users. Vulnerability may be used by attackers to bypass access controls such as the same-origin policy. To prevent XSS we can use proper input validation and data typing. Set our server to, redirect invalid requests, detect a simultaneous login from 2 different IP’s and invalidate the sessions, require users to enter their psswrds again before changing their registration information and set cookie with HttpOnly flag to prevent access from JavaScript.

96
Q

A4 Broken Access Control

A

Access control not implemented consistently across an entire app. Use centralized access conrol mechanism, and we write the tricky logic once and resure it everywhere.

97
Q

A5 Security Misconfiguration

A

DB configured wrong. Not removing out of box default access and settings. Keeping default usernames and passwords. OS, Webserver, DBMS, apps, not patched and up to date. Unnecessary features are enabled or installed, this could be open ports, services, pages, accounts, privileges.

98
Q

A6 Sensitive data exposure

A

Sites being http, not https. data at rest, backups and in transit are not encrypted. Phishing, using old encryption. Not monitoring is data is being exfiltrated.

99
Q

A7 Insufficient detection and response

A

Not detecting we have been compromised, due to lack of controls, detection apps. Not performing due diligence and due care on our apps, sys, and our response to compromise. Not responding in a proper way to compromise, not informing anyone, informing too late or just ignoring the incident

100
Q

A8 Cross-site request forgery (CSRF)

A

stolen session id’s or tokens. Often phishing, psswrds/username saved in cookies. Saved site passwords, not logging off when done, using the same browser for sensitive and non-sensitive info. Current browsers do mitigate some of this, they should use unique session specific tokens (random or pseudo random), and validate session tokens are not replayed.

101
Q

A9 Using components with know vulnerabilities

A

developers using deprecated code or objs that are known to be unsecure, but they use them because they are used to it or the library they use has the objects in it.

102
Q

A10 Underprotected API’s

A

badly coded API’s. Not using in depth API code reviews and auditing. Not using SSL/TLS. Forgotten and abandoned API’s, that still have access to backend sys.

103
Q

Insecure direct object reference

A

users can access resources they shouldn’t, by guessing the URL or path. Mitigated by proper access control.

104
Q

Unvalidated redirects and forwarding

A

Not confirming URL’s forward and redirect us to the right page.

105
Q

Buffer overflow (buffer overrun)

A

An anomaly where a prgram, while writing data to a buffer, overruns the buffer’s boundary and overwrites adjacent memory locations, happens from improper coding when a programmer fails to perform bounds checking. By sending in data designed to cause a bufferr overflow, it is possible to write into areas known to hold executable code, and replace it w/ malicious code.

106
Q

Race condition (race hazard)

A

2 or more programs may collide in their attempts to modify or access a file. This can be an attacker with access, altering files which can then result in data corruption or privilege escalation. TOCTOU (time of check to time of use) a sftwr bugs caused by changes in a sys btw the checking of a condition (such as a security credential) and the use of the results of that check.

107
Q

Privilege escalation

A

Exploiting a bug, design flaw or configuration oversight in an OS or app to gain access to resources that are normally protected from an app or user.

108
Q

Backdoor

A

often installed by attackers during an attack to allow them to access the sys after the initial attack is over.

109
Q

Disclosure

A

What you do when you discover a vulnerability.

110
Q

Full disclosure

A

tell everyone, make it public, assuming attackers already know are using it

111
Q

Responsible/ Partial disclosure

A

telling the vendor they have time to develop a patch and then disclose it. If they do nothing we do a full disclosre forcing them to act.

112
Q

No disclosure

A

attackers finding a vulnerability would try to exploit it and keep it secret as long as possible.

113
Q

CMM (capability maturity model)

A

the maturity relates to the degree of formality and optimization of processes, from ad hoc practices, to formally defined repeatable steps, to managed result metrics, to active optimization of the processes.

114
Q

Five CMM levels that describes where the org is

A

it has practical steps to how to mature the org to get to the next level.

115
Q
  1. Initial
A

Processes at this level are normally undocumented and in a state of dynamic change, tending to be driven in an ad hoc, uncontrolled and reactive manner by users or events.

116
Q
  1. Repeatable
A

Some processes are repeatable, possibly with consistent results.

117
Q
  1. Defined
A

There are sets of defined and documented standards processes established and subject to some degree of improvement.

118
Q
  1. Managed (Capable)
A

Processes at this level uses process metrics, effective achievement of the process objectives can be evidenced across a range of operational conditions.

119
Q
  1. Optimizing
A

processes at this level focus on continually improving process performance through both incremental and innovative tech changes/ improvements.

120
Q

Acceptance testing

A

At the end of development we also use acceptance testing, we need to test it to ensure it does what it is supposed to and it is robust and secure.

121
Q

User acceptance test

A

is the software functional for the users who will be using it. It is tested by the users and app managers

122
Q

Operational acceptance testing

A

does the software and all of the components it interacts with ready for opeation.

123
Q

Contract acceptance testing

A

Does the sftwr fulfill the contract specifications. The what/where/hw of the acceptance is defined in the contract.

124
Q

Compliance acceptance testing

A

is the software compliant with the rules, regulations and laws of our industry

125
Q

Compatibility/prod testing

A

does the sftwr interface as expected with other apps/sys. Does the sftwr perform as expected in our prod enivro vs the development enviroment

126
Q

Software development and procurement as well as any other project should be carefully scoped, planned be based on a clear analysis of what the business needs and wants.

A

When buying software we do our due care and due diligence, as well as use outside council if needed.

127
Q

COTS (commercial off the self) software

A

use a clear RTM (requirements traceability matrix) requirements are divided into “Must have, nice to have and maybe should have”

128
Q

Custom-developed 3rd party products

A

Having someone else develop the software we need is also an option. Higher cost than COTS software, but also far more customizable.

129
Q

AI (Artificial Intelligence)

A

advice that preceives its enviroment and takes actions that maximize its chance of success at some goal, not through experience/programming, but through reasoning.

130
Q

Expert sys

A

a comp sys that emulates the decision-making ability of a human expert.

131
Q

ANN’s (artificial neural networks)

A

computing sys inspired by the biological neural networks that constitute animal brains, we make decisions based on 1000’s of memories, stories, the situation and many other factors, the ANN tries to emulate that.

132
Q

GP (genetic programming)

A

a technique where computer programs are encode as a set of genes that are then modified (evolved) using an evolutionary algorithm often a GA (genetic algorithm). GP favors the use of programming languages that naturally embody tree structures.