Mirko Stocker

Learn More
Working with a software system typically requires knowledge of the system's history, however this knowledge is often only tribal memory of the development team. In past user studies we have observed that when being presented with collaboration views and word clouds from the system's history engineers start sharing memories linked to those visualizations. In(More)
Refactoring is a very useful technique for software engineers to ensure the healthiness of their code over time. Modern IDEs support the developer by automating common refactoring tasks and thus making it even more useful. Although there are several dier-ent IDEs for Ruby, none of them supports automated refactorings. Nevertheless, in this term project and(More)
This article presents our refactoring plug-in for the Eclipse Ruby Development Tools IDE. Refactoring is a very important technique for every software engineer to ensure the healthiness of his code and a cornerstone of agile software development. We have implemented sixteen automated refactorings and three code generators, for example Rename Variable and(More)
We present our refactoring plug-ins for Eclipse'sRuby Development Tools IDE. Refactoring is avery important technique for every software engineer and acor-nerstone of agile software development. In aterm project and diploma thesis, we have implemented several automated refactorings for example Rename Va riable and Extract Method. Refactoring is avery useful(More)
Type-directed API search, using queries composed of both keywords and type signatures to retrieve definitions from APIs, are popular in the functional programming community. This search technique allows programmers to easily navigate complex and large APIs in order to find the definitions they are interested in. While there exist some effective approaches(More)
This report documents the elaboration and the development of a library that provides automated refactoring support for the Scala programming language. Refactoring is a widely adopted practice among software engineers, but doing it by hand is tedious and therefore usually provided by integrated development environments (IDE). Several IDEs support Scala, but(More)
Refactoring – the technique to improve the internal structure of a program – has become a widely adopted practice among software engineers, but manual refactoring is tedious and error prone. The Scala programming language is supported on all major Java development platforms, but most do not yet assist the programmer with automated refactoring tools. This(More)
Slicing is an approach to divide a program into chunks that share a common property, like their contribution to the result of a calculation. Slicing can be used to leverage the power of refactoring tools by providing a deeper understanding of the code. For example , the Extract Method refactoring used to extract a series of statements can—with the aid of a(More)
  • 1