A special issue of the Empirical Software Engineering Journal.
Software engineering has experienced an exponential growth and advanced rapidly over the last few years leading to an explosion of available data and knowledge from different software engineering activities in both the open source and industry worlds. Software engineering is widely acknowledged to be a human-based and knowledge-intensive activity. Such activities include requirements engineering, software project management, design, coding, testing, quality assurance, maintenance, and evolution using different technologies.
The availability and access to different software engineering technologies such as version control systems, bug/issue tracking systems, third-party software library ecosystems, projects personnel communications, modern code review platforms as well as online Q&A platforms, represent an important and unique asset to provide better support to software practitioners and foster the growth of software engineering. Such valuable knowledge and information could be used to develop actionable, accurate and scalable recommendation systems and approaches to better support the maintenance of software systems, improve software design and reuse, write effective issue reports, manage the progress of software projects, find refactoring opportunities, support predictions about software development, and planning for future development. Software engineering recommendation systems aim also at providing support to developers to overcome information overload, perform information discovery tasks and approximate computation. These ease the developers’ decisions when performing particular tasks and help them to find relevant information, or warn them about the implications of their decisions.
This special issue focuses on recommendation systems for software engineering. We seek studies that target the design and evaluation of novel recommendation systems for software engineering that can assist developers in a wide range of activities, from requirements to source code manipulation and evolution. Recommendation systems may use different techniques from machine learning, search-based algorithms, probabilistic methods, data mining, and so on. The evaluation of such recommendation systems may be quantitative (through open source or industrial data), qualitative (involving developers), or experimental. We are particularly looking for innovative papers that address all levels from requirements, design, documentation to source code manipulation, maintenance and evolution, providing new ways to handle these problems or addressing them in a more unified/systematic manner, discussing benefits, limitations and costs of provided solutions.
The evaluation of papers will be based on:
The topics of interest include, but are not limited to challenges, solutions, and innovations for recommendation systems for software engineering with respect to :
In addition to description of novel approaches to design of recommendation systems in the aforementioned domains, we seek submissions reporting on
Papers should be submitted through the Empirical Software Engineering editorial manager website (http://www.editorialmanager.com/emse/) as follows (1) select “Research Papers” and (2) later on the Additional Information page:
For formatting guidelines as well as submission instructions, visit http://www.springer.com/computer/swe/journal/10664?detailsPage=pltci_2530593