【24h】

Debugging with Evaluation Abstractions

机译:使用评估抽象调试

获取原文

摘要

Do programmers put everything they know about a problem domain into the code they write to solve that problem? Or do they instead select a relatively parsimonious subset of that knowledge to define formally and translate into code? If the latter is true, it may be that they bring their original, richer perspective to bear in checking their program's behavior against their expectations. I will refer to these richer abstractions as "evaluation abstractions", in contrast to the formal "programming abstractions" embodied in the code. For example, suppose a programmer writes a program that attempts to navigate through a maze by following one wall from entrance to exit. Then, on running the program, the programmer sees the program follow an unconnected wall around in circles forever. In this example, the "programming abstractions" might be objects representing cells, walls, paths, or exits. Since there is no class or function called "go in circles forever", the programmer's awareness of this emergent behavior would be an "evaluation abstraction".
机译:程序员是否将其知识域中的所有内容放入他们写作的代码中解决这个问题?或者他们改为选择了一个相对令人垂涎的那个知识的子集,以便正式定义并转化为代码?如果后者是真的,可能是他们带来原来的,更丰富的角度来忍受检查他们的计划的违背期望的行为。我将将这些更丰富的抽象称为“评估抽象”,与代码中体现的正式的“编程抽象”相反。例如,假设程序员写入一个程序,该程序通过从入口处遵循一个墙壁遵循一个墙壁来浏览迷宫。然后,在运行该程序时,程序员将通过永远遵循圆圈的未连接墙壁。在该示例中,“编程抽象”可能是表示单元格,墙壁,路径或退出的对象。由于没有课程或功能名为“永远进入圈子”,因此程序员对这种紧急行为的认识将是“评估抽象”。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号