Advances in the use of cognitive and machine learning (ML) enabled systems fuel the quest for novel approaches and tools to support software developers in executing their tasks. First, as software development is a complex and dynamic activity, these tasks are highly dependent on the characteristics of the software project and its context, and developers need comprehensive support in terms of information and guidance based on the task context. Second, there is a lack of methods based on conversational-guided agents that consider cognitive aspects such as paying attention and remembering. Third, there is also a lack of techniques that make use of historical implicit or tacit data to infer new knowledge about the project tasks such as related tasks, task experts, relevant information needed for task completion and warnings, and navigation aspects of the process such as what tasks to perform next and optimal task sequencing. Based on these challenges, this paper introduces a novel paradigm for human-machine software support based on context, cognitive assistance, and machine learning, and briefly describes ongoing research activities to realize this paradigm. The research takes advantage of the synergy among emergent methods provided in context-aware software processes, cognitive computing such as chatbots, and machine learning such as recommendation systems. These novel paradigms have the potential to transform the way software development currently occurs by allowing developers to receive valuable information and guidance in real-time while they are participating in projects.
翻译:首先,由于软件开发是一项复杂和动态的活动,这些任务高度取决于软件项目的特点及其背景,开发者需要基于任务背景的信息和指导方面的全面支持。第二,缺乏基于对话指导的代理商的方法,这些代理商考虑认知方面,例如注意和记忆。第三,也缺乏利用历史隐含或隐性数据来推断项目任务新知识的技术,如相关任务、任务专家、任务完成和警告所需相关信息以及进程导航方面,如执行下一个任务和最佳任务排序的任务。根据这些挑战,本文件介绍了基于背景、认知协助和机器学习的新型人类机器软件支持模式,并简要描述了为实现这一模式而正在开展的研究活动。研究还利用了内部认知软件流程中提供的新颖方法之间的协同效应,如聊天室专家、任务完成和警告所需的相关信息,以及流程的导航方面,如执行下一个任务和最佳任务排序等。根据这些挑战,本文件介绍了基于背景、认知协助和机器学习的人类机器软件支持新模式,并简要介绍了为实现这一模式而正在进行的研究活动。研究利用了内部认知软件流程中提供的新颖方法的协同效应,在聊天室等认知计算计算机学习方面,而机器学习则通过创新的软件开发者,从而改造了宝贵的发展系统。