Powered by
4th International Workshop on Recommendation Systems for Software Engineering (RSSE 2014),
June 3, 2014,
Hyderabad, India
4th International Workshop on Recommendation Systems for Software Engineering (RSSE 2014)
Frontmatter
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.
@InProceedings{RSSE14p1,
author = {Ahmed Shah Mashiyat and Michalis Famelis and Rick Salay and Marsha Chechik},
title = {Using Developer Conversations to Resolve Uncertainty in Software Development: A Position Paper},
booktitle = {Proc.\ RSSE},
publisher = {ACM},
pages = {1--5},
doi = {},
year = {2014},
}
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.
@InProceedings{RSSE14p6,
author = {C. Albert Thompson and Gail C. Murphy},
title = {Recommending a Starting Point for a Programming Task: An Initial Investigation},
booktitle = {Proc.\ RSSE},
publisher = {ACM},
pages = {6--8},
doi = {},
year = {2014},
}
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.
@InProceedings{RSSE14p9,
author = {Pavan Kumar Chittimalli and Ravindra Naik},
title = {Variable Provenance in Software Systems},
booktitle = {Proc.\ RSSE},
publisher = {ACM},
pages = {9--13},
doi = {},
year = {2014},
}
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.
@InProceedings{RSSE14p14,
author = {Sebastian Proksch and Sven Amann and Mira Mezini},
title = {Towards Standardized Evaluation of Developer-Assistance Tools},
booktitle = {Proc.\ RSSE},
publisher = {ACM},
pages = {14--18},
doi = {},
year = {2014},
}
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.
@InProceedings{RSSE14p19,
author = {Su-jin Choi and Dae-Kyoo Kim and Sooyong Park and Junha Lee and Soojin Park},
title = {Recommending Process Improvement Package using Direct and Indirect Relationships of Activities},
booktitle = {Proc.\ RSSE},
publisher = {ACM},
pages = {19--23},
doi = {},
year = {2014},
}
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.
@InProceedings{RSSE14p24,
author = {Jaideep Jagadeeshwar Rao and Rakesh Kelappan and Paul Pallath},
title = {Recommendation System to Enhance Planning of Software Development using R},
booktitle = {Proc.\ RSSE},
publisher = {ACM},
pages = {24--25},
doi = {},
year = {2014},
}
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.
@InProceedings{RSSE14p26,
author = {Mohammad Ghafari and Abbas Heydarnoori},
title = {Towards a Visualized Code Recommendation for APIs Enriched with Specification Mining},
booktitle = {Proc.\ RSSE},
publisher = {ACM},
pages = {26--27},
doi = {},
year = {2014},
}
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.
@InProceedings{RSSE14p28,
author = {Naoya Murakami and Hidehiko Masuhara and Tomoyuki Aotani},
title = {Code Recommendation Based on a Degree-of-Interest Model},
booktitle = {Proc.\ RSSE},
publisher = {ACM},
pages = {28--29},
doi = {},
year = {2014},
}
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.
@InProceedings{RSSE14p30,
author = {Thiago Jorge A. Santos and Adailton M. Lima and Carla A. Lima Reis and Rodrigo Quites Reis},
title = {Automated Support for Human Resource Allocation in Software Process by Cluster Analysis},
booktitle = {Proc.\ RSSE},
publisher = {ACM},
pages = {30--31},
doi = {},
year = {2014},
}
proc time: 0.68