人工智能如何帮助软件开发者开发软件?

人工智能 参考请求 应用 软件开发
2021-10-28 15:36:58

人工智能已在许多情况下得到应用,尤其是游戏。

在软件开发的背景下,软件开发人员需要解决许多问题,这些问题可以由 AI 自动化

  1. API设计
  2. 代码重构
  3. 用户界面设计
  4. 硬件限制
  5. 设计模式
  6. 安全
  7. 图像/动画优化
  8. 自动化测试

我想知道 AI 是否可以帮助开发人员解决这些问题。例如对于上面的问题

  1. 我可能想获取正在使用该应用程序的用户的某个位置,然后 AI 建议针对特定平台执行此操作的最佳方法。

  2. 人工智能有助于重构和优化代码

  3. 人工智能帮助设计用户界面,例如基于黄金比例、材料主题等。

  4. AI 建议或确定硬件的限制,例如屏幕大小、RAM

  5. 人工智能转换为另一种合适的设计模式

  6. 人工智能警告最新漏洞

  7. 人工智能通过了解我们可以减少多少图像大小来帮助优化图像,而人们仍然可以接受。

  8. AI自动测试

这些问题有什么解决办法吗?如果没有,我们能做什么?

1个回答

将启发式技术应用于软件开发的总称是基于搜索的软件工程(SBSE)。

SBSE 在世纪之交成为一项独特的活动,最初的重点是自动化测试用例的生成/优先级。

关于您的一些具体查询:

  1. 关于自动重构的论文

  2. 自动选择屏幕颜色以减少能源消耗

  3. 这种事情通常不会启发式地完成,因为它需要特定于平台的代码。

  4. 自动重构模式

  5. AFAIK,渗透测试尚未成功自动化。

  6. 如前所述,这并不需要人工智能。更一般地说,我不知道任何针对 HCI 偏好自动化的具体工作,但可以使用“交互式遗传算法”之类的东西。

  7. SBSE 有很多关于测试的文献。有关一般概述,请参阅本文