05 Fakultät Informatik, Elektrotechnik und Informationstechnik
Permanent URI for this collectionhttps://elib.uni-stuttgart.de/handle/11682/6
Browse
5 results
Search Results
Item Open Access Mining Java packages for developer profiles : an exploratory study(2017) Ramadani, Jasmin; Wagner, StefanItem Open Access Which change sets in Git repositories are related?(2016) Ramadani, Jasmin; Wagner, StefanItem Open Access How are functionally similar code clones syntactically different? An empirical study and a benchmark(2016) Wagner, Stefan; Abdulkhaleq, Asim; Bogicevic, Ivan; Ostberg, Jan-Peter; Ramadani, JasminBackground. Today, redundancy in source code, so-called ‘‘clones’’ caused by copy&paste can be found reliably using clone detection tools. Redundancy can arise also independently, however, not caused by copy&paste. At present, it is not clear how only functionally similar clones (FSC) differ from clones created by copy&paste. Our aim is to understand and categorise the syntactical differences in FSCs that distinguish them from copy&paste clones in a way that helps clone detection research. Methods. We conducted an experiment using known functionally similar programs in Java and C from coding contests. We analysed syntactic similarity with traditional detection tools and explored whether concolic clone detection can go beyond syntax. We ran all tools on 2,800 programs and manually categorised the differences in a random sample of 70 program pairs. Results. We found no FSCs where complete files were syntactically similar. We could detect a syntactic similarity in a part of the files in <16% of the program pairs. Concolic detection found 1 of the FSCs. The differences between program pairs were in the categories algorithm, data structure, OO design, I/O and libraries. We selected 58 pairs for an openly accessible benchmark representing these categories. Discussion. The majority of differences between functionally similar clones are beyond the capabilities of current clone detection approaches. Yet, our benchmark can help to drive further clone detection research.Item Open Access Are suggestions of coupled file changes interesting?(2016) Ramadani, Jasmin; Wagner, StefanSoftware repositories include information which can be made available for bug fixing or maintenance using repository mining. The identification of coupled changes have been proposed several times. Yet, existing studies focus on the found couplings and ignore feedback from developers. We investigate three development projects and their repositories to find files that frequently change together to support the software developers. We complement the coupled files information with details from the issue tracking system and the project documentation. We contrast our findings with feedback from the developers about how interesting our findings are for them. We found that the small size of the repositories made an insightful analysis difficult. The response to coupled changes both from experienced and inexperienced developers was mostly neutral. They accepted most of the additional attributes we presented. Furthermore, developers also suggested other additional issues to be relevant, e.g. the context of the coupled changes and the way they are presented, which we did not cover in this study. Therefore, coupled change analysis research will need to take the presentation and context information into account.Item Open Access How do coupled file changes influence how developers seek help during maintenance tasks?(2017) Ramadani, Jasmin; Wagner, StefanSoftware repositories contain a lot of information that can be transformed into suggestions other files they need to modify during maintenance tasks (so-called “coupled changes”). Existing studies however ignore developer feedback and their influence on the developer strategy for getting help during maintenance tasks. We used the Grounded Theory approach to investigate screen capture videos from an experiment to find which information sources developers use to find help and what is their relevance. We compared the frequency as well as the sequence patterns of used information sources both for the developers using coupled change suggestions and those not using them. We found a set of information sources where the developers seek for help and identified two categories of relevance. Also, we discovered that for the tasks using coupled change suggestions, the developers used mostly the internal IDE elements as an information source whereby the developers not using coupled change suggestions often used external sources like the documentation or the web. Coupled change suggestions influence the strategy how the developers seek for help by reducing the search for information on external locations which makes the process of solving maintenance tasks more compact.