Theoretical question deal with topics that do not generally have immediate practical uses. Please be careful when using this tag: your question may be more appropriate for the Computer Science Stack Exchange site.

learn more… | top users | synonyms

2
votes
1answer
48 views

“Selected design can be derived from requirements” - meaning and difference against traceability?

ISO 12207 contains interesting points for design verification: a) The design is correct and consistent with and traceable to requirements. c) Selected design can be derived from ...
53
votes
8answers
6k views

How can we be certain that the lower components of computer programming like compilers, assemblers, machine instructions, etc. are flawless?

Since we are becoming more and more reliant on computing, including very critical tasks of day-to-day life, I was just wondering how those vital components are tested. More technically, how are the ...
4
votes
4answers
198 views

Are a class's methods a type of closure?

Per MDN A closure is a special kind of object that combines two things: a function, and the environment in which that function was created. The environment consists of any local variables that ...
1
vote
2answers
528 views

How to measure algorithm accuracy?

I have a few optimization algorithms (for finding function minimum) and I'd like to check how good they are. Suppose I build test cases and compare the actual results to theoretical ones. What ...
2
votes
2answers
163 views

Has any language ever supported a conditional assignment target? [closed]

I've never seen a programming language with conditional assignment targets, eg.: // If (x == y), then var1 will be set to 1, else var2 will be set to 1 ((x == y) ? var1 : var2) = 1 The target of ...
3
votes
3answers
432 views

Why is the “period of a (pseudo)random number generator” important?

I've been trying to understand (pseudo)random number generator code from various sources and the concept of the period continues to elude me. To satisfy the minimum level of understanding, I've tried ...
1
vote
2answers
92 views

How to mitigate complexity of fallbacks introduced to automatically retry upon failure?

So this may come off a bit broad and generalized, but after spending some time working around under developers, I've come to notice many different methods and design patterns. However, one big thing ...
1
vote
4answers
201 views

A secondary “type system” for references?

I'm designing a language and was wondering how to incorporate C++-like references with regards to their place in the type system. I think they're useful for operations like indexing and dereferencing ...
9
votes
2answers
1k views

Functional programming, compared to the process of a computer [duplicate]

In functional programming, it is considered bad practice (at least from my observations) to use state changes. Since computers operate in an imperative-language-like matter (performing one operation ...
22
votes
4answers
4k views

Is a memory of all possible permutations of a kilobyte block and pointers possible?

This is a hard enough idea to wrap my head around and I would greatly appreciate any edits/help to get it more readable for those in-the-know. Is it theoretically possible to have a hard drive that ...
4
votes
3answers
4k views

Left and Right most Derivation

So i understand the semantics of derivations as far as Backus Naur Form goes. One thing I cannot find in any text book or the various lecturers' notes that are on-line is this. When would a right ...
2
votes
3answers
2k views

Verfication vs validation again, does testing belong to verification? If so, which?

I have asked before and created a lot of controversy so I tried to collect some data and ask similar question again. E.g. V&V where all testing is only validation: ...
123
votes
11answers
30k views

How has an increase in the complexity of systems affected successive generations of programmers?

As a "new" programmer (I first wrote a line of code in 2009), I've noticed it's relatively easy to create a program that exhibits quite complex elements today with things like .NET framework for ...
6
votes
2answers
647 views

Why would I care about the asymptotic growth of the lower bound of the worst case time/space?

In mathematics, there are notations for asymptotic lower bounds, upper bounds, and tight (within-a-constant-factor) bounds. When describing the growth of functions in general, it makes sense that all ...
3
votes
3answers
3k views

Banning zero-argument functions — what problems could it cause in a hypothetical language?

I'm creating a programming language as a hobby, but I encountered a problem with designing its syntax. The problem is the conflict between the syntax for defining zero-argument functions and the ...
0
votes
1answer
146 views

CGI Scripts and Python / Ruby [closed]

I am new to web programming. Now unfortunately, I was a kid during the advent of the world wide web and didn't have access either. So now when I am just starting out, it feels like there's a myriad of ...
8
votes
2answers
4k views

Which code is better for branch prediction optimization?

Given branch prediction, and also the effect of compiler optimizations, which code tends to offer superior performance? Note that bRareExceptionPresent represents an uncommon condition. It is not the ...
2
votes
11answers
3k views

I don't understand why algorithms are so special [closed]

I'm a student of computer science trying to soak up as much information on the topic as I can during my free time. I keep returning to algorithms time and again in various formats (online course, ...
1
vote
2answers
194 views

What is the real point of an “oracle” in the SW testing?

I know the definition of an testing oracle but to me, it seems to be overrated. I have a specification, why should I bother with thinking about oracles? I just compare what the spec wants and what the ...
5
votes
4answers
519 views

Are there any formalized/mathematical theories of software testing?

Googling "software testing theory" only seems to give theories in the soft sense of the word; I have not been able to find anything that would classify as a theory in the mathematical, information ...
6
votes
6answers
693 views

performance versus reusability

How can I write functions that are reusable without sacrificing performance? I am repeatedly coming up against the situation where I want to write a function in a way that makes it reusable (e.g. it ...
1
vote
2answers
115 views

OOP (possibly Java-specific): Comprehensive Set of Method Categories [closed]

I am working on a coding convention to follow for my Java projects. I find it easier to find my way through a class when I group its methods by category. For example, rather than having each ...
1
vote
1answer
157 views

Hypothetical : What restrictions will I need to add to Java so that I can remove its GC? [closed]

This is a hypothetical, yet very technically precise question I'm trying to ask all the compiler/static analysis programmers. I'm trying to understand the extent of prohibitive features I would need ...
0
votes
1answer
82 views

Is Exploratory testing Context Driven testing?

I do not think so, yet many sources say it is. As I understand it: Context-driven testing means that when planning testing on our project, I choose the methods, practices, etc. in order to fit the ...
0
votes
1answer
241 views

Significance of NFA in Compiler Design

While I was studying about Compiler Design it tells that we need 'finite automata' while designing a lexical analyzer like DFA or NFA. So I would like to know whether NFA is only used for conversion ...
0
votes
1answer
2k views

Why is black box called functional testing when it tests also non functional?

This has been bothering me for a while. Security, performance tests etc. are all done typically using the black box approach. But these are nonfunctional,while black box is called functional testing. ...
1
vote
3answers
145 views

Exposition of Data Representation

I would like to know how the data representation is exposed in slide 7 of information hiding: Modifying an exposed data representation propagates to all code which directly accesses that ...
1
vote
1answer
93 views

Transitions taking place in NFA

While studying about NFA and DFA in Compiler Design I couldn't get how they converted an regular expression to NFA as shown in NFA.I would like to know why there is an epsilon transition between (8 ...
-1
votes
2answers
938 views

Are Verification and Validation both Quality Assurance and Quality Control?

Having read a book I found a note that verification and validation can be both quality assurance and quality control. I cannot see how it can be quality assurance because both just provide evidence ...
4
votes
3answers
2k views

Japanese Multiplication simulation - is a program actually capable of improving calculation speed?

I'd like to write a simulation of Japanese Multiplication to get benchmarks on large calculations utilizing the shortcut vs traditional CPU multiplication. I'm curious as to whether it makes sense to ...
0
votes
1answer
169 views

Real-time theory: how is period transformation implemented with delay requests?

To deal with transient overloads with a real-time system scheduled with rate-monotonic scheduling, one can use period transformation to reduce the period of important processes so that they have ...
4
votes
3answers
143 views

How message acknowledge deadlock problem is being solved in real world applications?

To my understanding message acknowledge deadlock problem is this: In order to sync value X between A and B A sends X to B A waits for B to send acknowledgment to A so it makes sure B has latest X B ...
61
votes
4answers
6k views

What is the purpose of a Code Review

I am in the process of trying to sell my organisation on the value of code reviews. I have worked at several places where they were employed. I have seen them used to nitpick styling choices, and ...
4
votes
1answer
94 views

Mapping multiple differing taxonomies to each other

At work we have a varied number of websites selling second-hand products. The bosses have noticed that there's often some overlap between the products sold on some of the websites and would like to ...
29
votes
11answers
9k views

How does the “Fourth Dimension” work with arrays?

Abstract: So, as I understand it (although I have a very limited understanding), there are three dimensions that we (usually) work with physically: The 1st would be represented by a line. The 2nd ...
1
vote
2answers
1k views

Where (if there is) is the IEEE glossary newer than 1990?

I have been looking for some formal definitons but could not find any IEEE newer than 610, which is from 1990. Could you help me please?
3
votes
2answers
193 views

How can I make sense of the word “Functor” from a semantic standpoint? [closed]

When facing new programming jargon words, I first try to reason about them from an semantic and etymological standpoint when possible (that is, when they aren't obscure acronyms). For instance, you ...
16
votes
6answers
5k views

How often do CPUs make calculation errors?

In Dijkstra's Notes on Structured Programming he talks a lot about the provability of computer programs as abstract entities. As a corollary, he remarks how testing isn't enough. E.g., he points out ...
6
votes
5answers
1k views

What negative consequences can arise from this language design rule?

Clarification: the rule is meant to prevent accessing variables that are not declared yet. Clarification 2: the rule mandates that the compiler follows calls to functions which are defined in the ...
1
vote
5answers
272 views

What defines the dimensionality of an array?

I know that when we speak about an array having 1, 2, or 4 dimensions, we mean arrays like this: 1: [0] 2: [0,0] 3: [0,0,0] 4: [0,0,0,0] ... Is the first 'axis' of an array the only thing that ...
2
votes
0answers
119 views

Is there a theory for “transactional” sequences of failing and no-fail actions?

My question is about writing transaction-like functions that execute sequences of actions, some of which may fail. It is related to the general C++ principle "destructors can't throw," no-fail ...
8
votes
3answers
361 views

How many copies are needed to enlarge an array?

I am reading an analysis on dynamic arrays (from the Skiena's algorithm manual). I.e. when we have an array structure and each time we are out of space we allocate a new array of double the size of ...
8
votes
5answers
826 views

Theoretically bug-free programs

I have read lot of articles which state that code can't be bug-free, and they are talking about these theorems: Halting problem Gödel's incompleteness theorem Rice's theorem Actually Rice's ...
78
votes
11answers
7k views

How can I make sure that I'm actually learning how to program rather than simply learning the details of a language? [closed]

I often hear that a real programmer can easily learn any language within a week. Languages are just tools for getting things done, I'm told. Programming is the ultimate skill that must be learned and ...
0
votes
2answers
53 views

Hashing + security as it pertains to a theoretical file sharing site

These days it's possible to hash a file client-side, send the hash to the server, and have the server check whether or not that file is already uploaded. If it is, we can skip the file upload and make ...
1
vote
3answers
727 views

If functional testing is referred as black box..how can it be done on unit test level?

Preparing myself for ISTQB, I found a bit odd many things in their textbooks. E.g. they call black box testing as functional testing when you are not concerned with structured but only observe the ...
5
votes
7answers
2k views

Priority list of tasks stored in a database

I am trying to think of the best way to do the following: I have a list of tasks stored in the database. A task has a priority assigned to it. You can change the priority of a task to reorder the ...
3
votes
1answer
798 views

Epsilon Transitions in an NFA

I'm attempting to teach myself the basics of finite automata and have been exploring the differences between Deterministic Finite Automata and Non Deterministic Finite Automita. One thing that pops ...
0
votes
2answers
100 views

Could one sample be enough for a perceptron training?

I need to compare a picture and decide whether or not it is similar to another one. In this case, I would like to use a simple perceptron that compares pixelmaps of both pictures. But I have only very ...
8
votes
9answers
2k views

What is the aim of software testing? [closed]

Having read many books, there is a basic contradiction: Some say, "the goal of testing is to find bugs" while other say "the goal of the testing is to equalize the quality of the product", meaning ...