五个问题:西蒙Davidmann

治之”CEO讨论挑战与软件开发和事情需要改变。

受欢迎程度

总裁兼首席执行官西蒙•Davidmann治之坐下来与半导体工程讨论软件工程师想要什么,软件开发的挑战,软件复用和软件质量。

SE:今天软件工程师想要什么?

Davidmann:我们有一个狭窄的观点,因为我们的EDA行业和我们很接近半导体和硅。我们意识到,关注那些开发软件的人是与硬件密切相关。硬件通常很大程度上会影响的——它不是太抽象。我们处理人做操作系统移植,周围的司机,之类的,因为他们是构建半导体。我们看到的是,有几种不同的趋势和主题,有些实际上是非常优雅的阿尔特·德·Geus说前一段时间的会议——这是我们一直在思考,这是在软件复杂性是越来越糟了。这是增加的数量远快于人们进入这个行业。问题是这个指数将在一段时间,迫使人们开发软件的方式的改变。今天,他们以同样的方式开发软件永远一直在做它——简单的编辑,等等——它必须改变。此时不容易预测这些变化会是什么,但就像在旧世界,在硬件的世界里,人建筑结构图,在某种程度上你不能建立一个足够大的示意图。一百万年盖茨吗? You can’t do it, you have to change and there becomes a point where everybody fails to use the old methodology. The exponential and the complexity of software is meaning the old ways have to break — it might not be today, for this company or that company; it might not be tomorrow; but it’s inevitable as complexity is going to break it. That’s the first observation: the exponential is going to change the way that people do things. The second observation is that if something breaks, it can destroy the company that’s developing it. It might be something simple like a bug that you could update with software and it’s no big deal. But often these breaks can be, ‘Let’s recall 6 million cars;’ there’s a plane crash; there’s something that got sent off to Mars and it got mucked up — and it’s software related. It can be dramatic. We have much worse than just bugs in software; now we have this whole problem of vulnerabilities in security, and the threats because everything is an interconnected device in the IoT. What this means is you have to have better ways of doing things. What we’ve learnt in the design automation business is to do things in a more structured and controlled way, and I believe this is going to happen to software. One of the things that happened in the hardware world was the IP. Rather than verifying new designs, let’s load up pre-verified blocks, and I think that’s obviously going to happen with software. There are many people reusing software — whether it’s Linux or whatever — and I think that there’s got to be a whole focus on insuring that this is secure and not vulnerable to things.

SE:一些软件工程师今天面临的最大挑战?

Davidmann:在软件世界中,很难预测何时完成。在硬件的世界里,你会得到一个结果,你会得到一个时间表。在软件世界中,他们真的不测量和控制事情以同样的方式。有趣的是,当我第一次遇到Coverity,令我印象深刻的是他们做了企业级软件开发过程的可视性。想象你可以坐着看软件是如何发展的,失败的数量在减少,检查和东西。我们看到人们使用虚拟平台,他们可以做得更好的回归测试和持续集成,当你检查在它可以测试,这是你所做的与硬件,但软件人不。这意味着你可以得到一个更好的了解你的软件正在开发和检测到的缺陷等等。有很多变化发生,使软件的开发过程更加可控和可预测的,但假设你开发这些软件。

SE:你提到的软件重用的概念呢?

Davidmann:的一件事是不清楚每个人都是,如果某人还建立一个洗衣机,他们不知道关于安全或漏洞。与物联网设备,有很多弱点,我认为我们都必须意识到我们可以重用的软件,但我们不能指望普通程序员了解这些东西的任何安全或漏洞。他是用来编程门锁上一个简单的状态机,或冰箱控制器,或微波炉,突然一切都将互联网连接,突然它意味着这些vulnerabilties他们从来没有思考——他们只是包含一块无线的设计。你可以买的覆盆子π,或MIPS的创造者,他们有一个处理器,其他部分,和一个WiFI块,在没有时间,你有一个设备与无线和你使用它——但是你没有碰它。当我们来到半导体IP,我们说我们可以买预先验证模块,通过软件,我们要块重用,而且我认为很多,几乎pre-certified是安全的,因为这些代码是什么?我们不知道。

SE:如何让软件与更高层次的信心,它是高质量的?

Davidmann:你需要更好的工具比传统编译器和调试器。我们如何检查一个硅芯片上班时我们有图表吗?我们坐在那里,做数学,最后我们来到逻辑模拟器,等等。我们已经开发了所有这些技术说,“我知道这类型的工作,但它总是上班吗?我们必须做这个软件,因为经常有人问“它运行吗?运行一次不是问题,尤其是当你去多核,有时它不工作。问题是,设计师不会发现这些东西所以你需要工具来帮助他们,并提供一个更好的方法来做事情。我们说模拟是必要但不充分——这是一个开始。能够使用一个虚拟平台的解决方案是一个新的软件开发过程的开始,就像一个门级模拟器是一个开始。所以我们能做些什么呢?我们需要更好的东西:仿真、虚拟平台,回归测试,监测断言和测量。我坚信测试的这个东西,所有你可以检查它,那么它将会改善。 Most people aren’t very good at programming so we need to give them more and more constrained stuff. If we’re providing the library that does some security thing, check that they’re using it properly.

SE:质量的测量是什么软件?

Davidmann:人们常说这是行代码生成错误的数量相比,等等。我不认为有一个黄金法则。我记得与半导体,人们看着RTL设计,试图找出的效率从盖茨:搬到RTL多少盖茨一天我可以设计吗?他们想知道,因为这是他们的理由投资回报的方法。但我认为这取决于你在做什么。所有不同类型的软件会有不同类型的指标。从我的观点在我的公司,我们测量数量的测试每个平台上的缺陷的数量。在嵌入式世界可能非常不同,但它是一个试图追踪问题的过程,你所做的——这并不容易,因为软件有多大?有些人做检查ins的数量。它试图衡量他们的投入以及它向前或向后移动。



留下一个回复


(注意:这个名字会显示公开)

Baidu