Questions tagged «theory»

理论问题涉及通常没有直接实际用途的主题。使用此标签时请小心:您的问题可能更适合Computer Science Stack Exchange网站。

6
CPU多久会发生一次计算错误?
在Dijkstra的《结构化编程说明》中,他谈到了计算机程序作为抽象实体的可证明性。作为推论,他指出测试还不够。例如,他指出了这样一个事实,即不可能在x和y的整个范围内对x和y的任何大值测试乘法函数f(x,y)= x * y。我的问题与他的杂项有关。关于“糟糕的硬件”的评论。我知道这篇文章是在1970年代写的,当时计算机硬件的可靠性较差,但计算机仍然不够完善,因此有时必须犯下计算错误。是否有人知道这种情况发生的频率或是否有任何统计数据?
22 theory  cpu 

4
python块中的冒号在技术上是必要的吗?
这实际上只是想要了解更多信息的python新手的理论问题。 在python中的块初始语句之后,我一直忘了冒号。这些就是我的意思: for <variable> in <sequence>: if <blah blah>: 我的想法是,我一直忘记的一个原因是它们实际上是隐式的:不管是否冒号,该语句都以该行结尾。 我的问题-为了学习python语法如何工作而问-是冒号是否真的不必要?我是否要更改python语法,以便不再需要冒号,是否会中断?这会使某些陈述模棱两可或不可能吗?
19 python  syntax  theory 

6
计算上不可能的业务问题的例子是什么?
我有一位同事拒绝接受图灵机(以及扩展的冯·诺伊曼机)无法解决其自身的停机问题这一事实,他指出: 您可以花足够的时间和金钱来做任何事情。 他还不喜欢以下理论问题: 在我们的领域中,我们永远不会遇到这些问题。我们是应用程序开发人员,而不是理论科学家。 是否有一个很好的例子说明我无法用计算机来使他信服的商业问题?

4
为什么Cem Kaner认为测试不显示bug浪费时间?
在肯定的测试中确认功能,证明其有效该怎么办?我应该说这是浪费时间吗?这句话背后是什么概念? 测试失败,即没有发现错误的测试是浪费时间。 Web工程:引用Cem Kaner 的Web应用程序系统开发学科。
15 testing  theory 

5
算法复习。为什么heapsort是insort算法?
我看不到为什么heapsort被认为是就地排序算法。 我的意思是用要排序的数组元素(即堆)填充的额外数据结构用于协助提取最小值和排序过程。 那么我可能误解了inplace的定义吗? 但是,例如,插入排序显然是就地算法,即元素不需要额外的内存。 那么为什么要考虑到它呢?

6
如何从有限状态机故障中恢复?
我的问题似乎很科学,但我认为这是一个普遍的问题,经验丰富的开发人员和程序员希望能提供一些建议来避免我在标题中提到的问题。顺便说一句,我描述的波纹管是我要在我的iOS项目中主动解决的一个实际问题,我想不惜一切代价避免它。 通过有限状态机,我的意思是:>我有一个带有几个按钮的UI,与该UI相关的几个会话状态以及该UI表示的内容,我有一些数据,这些数据的值部分显示在UI中,我接收并处理了一些外部触发器(由传感器的回调表示)。我制作了状态图,以更好地映射在该UI和应用程序中理想和可实现的相关方案。随着我慢慢实现代码,应用程序开始表现得越来越像它应该的样子。但是,我不是很自信。我的怀疑来自观察自己的想法和实施过程。我确信我已经涵盖了所有内容,但是足以在UI中进行一些粗暴的测试,并且我很快意识到在行为方面仍然存在差距。然而,由于每个组件都依赖于其他组件的输入并根据其他组件的行为运行,因此来自用户或某些外部源的某些输入会触发一系列事件,状态更改等。我有几个组件,每个组件的行为都像这样:输入时收到触发器->触发器,并分析其发送者->基于分析输出一些信息(消息,状态更改) 问题是,这不是完全独立的,并且我的组件(数据库项,会话状态,某些按钮的状态)...可以在事件链范围之外进行更改,影响,删除或以其他方式修改。理想的情况。(电话崩溃,电池突然没电了,这会导致系统无效),这可能会导致系统无法恢复。我在苹果商店上的许多竞争对手应用程序中都看到了这种情况(人们没有意识到这是问题所在),客户编写了这样的内容:“我添加了三个文档,到那儿走了之后,我无法打开它们,即使看到他们。” 或“我每天都录制视频,但是录制了太多日志的视频之后,我无法在其上打开字幕..,并且用于字幕的按钮没有 这些只是简短的示例,客户通常会对其进行更详细的描述。.根据它们中描述的描述和行为,我认为特定应用具有FSM故障。 因此,最终的问题是如何避免这种情况,以及如何保护系统避免自身阻塞? 编辑>我是在电话中一个viewcontroller视图的上下文中谈论,我的意思是应用程序的一部分。我了解MVC模式,我具有用于不同功能的单独模块。.我描述的所有内容都与UI上的一个画布相关。

9
理论上无错误的程序
我读过很多文章,其中指出代码不可能没有错误,并且他们在谈论这些定理: 停止问题 哥德尔不完备定理 赖斯定理 实际上,赖斯定理看起来像是中止问题的一个暗示,而中止问题与哥德尔的不完备性定理密切相关。 这是否意味着每个程序都会有至少一个意外行为?还是意味着无法编写代码进行验证?递归检查呢?假设我有两个程序。他们两个都有错误,但是没有共享相同的错误。如果同时运行它们会发生什么? 当然,大多数讨论都涉及图灵机。线性有界自动化(真实计算机)如何?
12 bug  theory 

5
是否有任何正式的/数学的软件测试理论?
谷歌搜索“软件测试理论”似乎只是给出了软词义的理论。我没有找到任何可以归类为数学,信息理论或其他科学领域意义上的理论的东西。 我正在寻找的东西可以形式化什么是测试,使用的概念,什么是测试用例,测试某物的可行性,测试某物的实用性,应该测试某物的程度,形式的定义/解释代码覆盖率等 更新:另外,从直觉上讲,我不确定形式验证与我所要求的内容之间是否存在联系,但是显然存在某种联系。

4
我应该先构建一个功能齐全的应用程序,还是一个简单的应用程序,然后慢慢添加功能?
我在一家制造工厂工作,该工厂负责IT部门创建车间调度程序(非常需要)。根据其他经验,最好花更少的时间来构建可用的基本框架,然后在基础上通过添加功能或通过立即创建完全实现的解决方案来开始构建。我只从事开发工作大约一年,对于最初创建这种大小的应用程序没有太多经验。我一直倾向于这样一种想法:准系统应用程序是第一种应运而生的方法,这是由于对某种类型的数字时间表的极端需求,但我担心在事实之后添加随机功能可能会有些混乱。如果您处在相同的情况下,您会选择哪条路?

2
哪种代码更适合分支预测优化?
给定分支预测以及编译器优化的效果,哪种代码倾向于提供出色的性能? 请注意,bRareExceptionPresent表示不常见的情况。这不是逻辑的正常路径。 /* MOST COMMON path must branch around IF clause */ bool SomeFunction(bool bRareExceptionPresent) { // abort before function if(bRareExceptionPresent) { return false; } .. function primary body .. return true; } /* MOST COMMON path does NOT branch */ bool SomeFunction(bool bRareExceptionPresent) { if(!bRareExceptionPresent) { .. function primary …

3
更多代码=更多错误
我回大学时记得一个教授计算机科学定律之一的教授。他说诸如“更多的代码等于更多的错误”之类的东西,并给它起一个名字(Whatchamacallit的法律)并将其归因于某人。 有谁知道这个“法律”的来历,是谁说的,或者它的原始用语是什么?

8
存储在数据库中的任务的优先级列表
我正在尝试执行以下操作的最佳方法: 我有一个存储在数据库中的任务列表。任务具有分配的优先级。您可以更改任务的优先级,以重新排序执行任务的顺序。 我在想与Pivotal Tracker非常相似的东西。 因此,假设我们有以下内容: 1 Task A 2 Task B 3 Task C 4 Task D 5 Task E 我们认为E现在是最重要的任务 1 Task E 2 Task A 3 Task B 4 Task C 5 Task D 我需要更新所有5个任务以赋予它们新的优先级。 如果任务B变得更加重要,那么我将拥有AI 1 Task E 2 Task B 3 Task A 4 Task C …

7
验证和确认是测试过程的一部分吗?
基于许多资​​料,我不认为测试的简单定义是找到尽可能多的错误-我们进行测试以确保其有效或无效。例如followint是测试ISTQB的目标: 确定(软件产品)满足指定要求(我认为其验证) 证明(软件产品)适合目的(我认为这是验证) 检测缺陷 我同意测试就是验证,确认和缺陷检测。那是对的吗?

5
没有正则表达式的词法分析
我一直在用各种高级语言(Python,PHP,Javascript等)查看一些词法分析器,它们似乎都以一种或另一种形式使用正则表达式。尽管我确定正则表达式可能是实现此目的的最佳方法,但我想知道是否有任何方法可以在没有正则表达式的情况下实现基本词法分析,也许是某种直接的字符串解析等。 是的,是否可以在不使用任何形式的正则表达式的情况下,以更高级的语言*实现某种基本词汇? *高级语言是Perl / PHP / Python / Javascript等。我敢肯定,有一种方法可以用C语言实现
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.