Powered by
Conference Publishing Consulting

4th International Workshop on Recommendation Systems for Software Engineering (RSSE 2014), June 3, 2014, Hyderabad, India

RSSE 2014 – Proceedings

Contents - Abstracts - Authors

4th International Workshop on Recommendation Systems for Software Engineering (RSSE 2014)


Title Page

Message from the Chairs
We would like to thank all members of the program committee for their support soliciting and reviewing papers. We are also grateful to the authors, who will present their innovative, interesting, and relevant problems and solutions in the field of recommendation systems in software engineering. Special thanks go to the authors of the recently published RSSE book several of whom have agreed to present their chapters at the workshop.

Long Papers

Using Developer Conversations to Resolve Uncertainty in Software Development: A Position Paper
Ahmed Shah Mashiyat, Michalis Famelis, Rick Salay, and Marsha Chechik
(University of Toronto, Canada)
Software development is a social process: tasks such as implementing a requirement or fixing a bug typically spark conversations between the stakeholders of a software project, where they identify points of uncertainty in the solution space and explore proposals to resolve them. Due to the fluid nature of these interactions, it is hard for project managers to maintain an overall understanding of the state of the discussion and to know when and how to intervene. We propose an approach for extracting the uncertainty information from developer conversations in order to provide managers with analytics. Using these allows us to recommend specific actions that managers can take to better facilitate the resolution of uncertainty.

Publisher's Version Article Search
Recommending a Starting Point for a Programming Task: An Initial Investigation
C. Albert Thompson and Gail C. Murphy
(University of British Columbia, Canada)
When starting a new task, a software developer must typically find one or more starting points amongst many resources (e.g., source code and other files) forming the software system. In this paper, we consider how we might recommend one resource as an initial starting point, saving the developer the effort of having to search or use other means to find the point. Using data from the open source Eclipse Mylyn project, we investigate whether resources considered and changed for other tasks may be used to recommend a starting point for a current task.

Publisher's Version Article Search
Variable Provenance in Software Systems
Pavan Kumar Chittimalli and Ravindra Naik
(Tata Consultancy Services, India)
Data Provenance is defined as lineage or history of the given dataitem. Knowing the source of the data or the transformation of the data-source to compute the given data is critical for analyzing the quality of the data. Many transformations of data are done in software (source code). We introduce and define the concept of Variable Provenance for source code. We argue that determining the origin(s) of the data held by a variable and the history of modifications of the variable can provide critical information along many dimensions about what happens in the source code. We use understanding of source code and creating business rules from source code as use-cases to illustrate our view-point. To compute the variable provenance, we combine program slicing techniques and operational rules associated with mathematical operators in computations to propagate the annotations. We predict that the solution to the problem of variable provenance can lead to many use-cases in the software engineering community, effective discovery of processes and business rules from existing systems, and powerful development, debugging and evolution techniques for the software industry.

Publisher's Version Article Search
Towards Standardized Evaluation of Developer-Assistance Tools
Sebastian Proksch, Sven Amann, and Mira Mezini
(TU Darmstadt, Germany)
Over the last years, researchers proposed a variety of assistance tools to support developers in their development environments. Many of the respective publications introduce new evaluation strategies or use custom datasets. Size and quality of the performed evaluations differ. Additionally, the strategies often use metrics that are tailored to the respective tools. As a result, comparing different assistance tools is very difficult.
In this work, we present a framework for the standardized evaluation of assistance tools, on the example of code recommenders. The framework combines different ideas and demands from previous work. Furthermore, we discuss how the community could jointly realize the framework.

Publisher's Version Article Search
Recommending Process Improvement Package using Direct and Indirect Relationships of Activities
Su-jin Choi, Dae-Kyoo Kim, Sooyong Park, Junha Lee, and Soojin Park
(Sogang University, South Korea; Oakland University, USA)
Software process improvement (SPI) has been widely practiced in various domains. SPI uses a process reference model (e.g., CMMI) for planning improvement actions by identifying weaknesses and strengths of the current exercise. Identified findings are analyzed for their relationships to increase the synergy of improvement actions. However, the current practice is monotonic focusing on the identification of weaknesses and strengths. In this work, we present a CMMI-based recommendation method for analyzing correlations of assessment findings. In the model, we define a process correlation model capturing relationships of practices in CMMI. The model is then used for inferring relationships of given findings where findings are viewed as instances of CMMI practices. We take into account both direct and indirect relationships and analyze the precision and recall of the correlation model by different levels of relationship depth. We evaluate the method using industrial data and the results show the potential of the method.

Publisher's Version Article Search

Short Papers

Recommendation System to Enhance Planning of Software Development using R
Jaideep Jagadeeshwar Rao, Rakesh Kelappan, and Paul Pallath
(SAP Labs, India)
Today, planning phase of software development is very important since it involves crucial decision making on resource allocation, task management and delivery timelines. It is extremely important for employees and administrative decision makers (managers) to understand the data (e.g., historic software artifacts, resource availability) and arrive at a decision. We try to apply data mining concepts like regression, classification and hybrid approaches to effectively plan the future allocations using open source R-scripts. These results could be correlated to recommend the best practices to be implemented, thus helping the management to gain better visibility. These custom R-scripts could be efficiently reused in the future to predict the further planning of the task. Our recommendation system aims at providing which-task-to-whom feature with the help of proposed automated estimation process for planning of software development.

Publisher's Version Article Search
Towards a Visualized Code Recommendation for APIs Enriched with Specification Mining
Mohammad Ghafari and Abbas Heydarnoori
(Politecnico di Milano, Italy; Sharif University of Technology, Iran)
This paper positions an idea for an interactive code recommendation system. In this work, candidate recommendations are abstracted as a graph-based visualization of the API usages that are decorated with the API specifications and the usage rules mined from the unit test cases of the given API and its usage examples. The user can then progressively explore this graph to obtain her desired code without delving into the implementation details.

Publisher's Version Article Search
Code Recommendation Based on a Degree-of-Interest Model
Naoya Murakami, Hidehiko Masuhara, and Tomoyuki Aotani
(University of Tokyo, Japan; Tokyo Institute of Technology, Japan)
Code recommendation systems predict and present what the user is likely to write next by using the user's editing context, namely textual and semantic information about the programs being edited in a programming editor. Most existing systems however use information merely around the cursor position---i.e., the class/method definition at the cursor position---as the editing context. By including the code related to the current method/class, like the callers and callees of the method, recommendation could become more appropriate. We propose to use the user's editing activity for identifying code relevant to the current method/class. Specifically, we use a modified degree-of-interest model in the Mylyn task management tool, and incorporated the model in our repository-based code recommendation system, Selene. This paper reports the design of the system and the results of our initial experiments.

Publisher's Version Article Search
Automated Support for Human Resource Allocation in Software Process by Cluster Analysis
Thiago Jorge A. Santos, Adailton M. Lima, Carla A. Lima Reis, and Rodrigo Quites Reis
(Federal University of Pará, Brazil)
It is widely recognized the potential of using organizational data analysis to enable automated tools supporting process management task. The organizational repositories should be used in an active way to accordingly support dynamic decision-making process in software project management. In this paper, we briefly describe a research aiming to support the human resource allocation process in the software process context based on the analysis of organizational repositories. It intends to provide an organizational data analysis as a mean to take empirical evidence to perform fact-based decisions upon historical and ongoing organizational experiences. As the work is in its beginning, we also present some differences from other already existing approaches and the main challenges to be overcome through completion of this work.

Publisher's Version Article Search

proc time: 0.29