Fakultät für Informatik

TU München - Fakultät für Informatik
Software- and Systems Engineering Research Group



Es sprechen Studenten über ihre abgeschlossenen Diplomarbeiten und Systementwicklungsprojekte.

Am Mittwoch, 25.10.17, ab 10:00 Uhr, im Raum Alonzo Church (01.09.014):

10:00 - 10:25:André KupkaMA(Elmar Jürgens, Martin Feilkas, Lars Heinemann)IDE-übergreifende Quick-Fixes zur Unterstützung automatischer Refactorings
10:25 - 10:50:Albert SteckermeierMA(Lars Heinemann, Elmar Juergens)Detection of Copy-Paste Programming from Question & Answer Platforms on the Internet
10:50 - 11:15:Florian DreierMA(Elmar Juergens, Andreas Göb)Obtaining Coverage per Test Case

IDE-übergreifende Quick-Fixes zur Unterstützung automatischer Refactorings

Im Entwicklungsprozess von Software ist es unvermeidbar, dass Fehler oder Unschönheiten in den Code eingebaut werden. Diese können oft durch sogenannte Quick-Fixes direkt in Entwicklungsumgebungen behoben werden. Ein solcher Quick-Fix ist oftmals sehr stark abhängig von der Programmiersprache und auch nur in einer der vielen Entwicklungsumgebungen (IDE) wie Eclipse oder IntelliJ verfügbar. Möchte man einen Quick-Fix auch in einer anderen IDE verwenden, so muss dieser komplett neu implementiert werden und bestehende Logik kann nur selten wieder verwendet werden. Diese Arbeit entwickelt einen Ansatz um Quick-Fixes auf Basis von dem Quality-Monitoring-Tool Teamscale unabhängig von einer IDE zu implementieren.

Detection of Copy-Paste Programming from Question & Answer Platforms on the Internet

Anecdotal evidence suggests that developers copy and paste of code from popular Q&A platforms like Stack Overflow into their own projects. However, this has some significant disadvantages. Firstly, code quality issues may occur because copied code may contain bugs or security vulnerabilities which are replicated to the target system. Furthermore, the developer may not properly adapt the code to target system requirements. Lastly, license infringement may occur due to insufficient attribution of the Q&A platform as the source or incompatible license models. Both, the potentially arising code quality issues and license infringement, pose practical problems during the development and release of industrially developed software. Consequentially, there is demand for detecting code copy-pasted from Q&A platforms. In this thesis a procedure for automatically detecting code copy-pasted from the prominent Q&A platform Stack Overflow in the code base of software systems is developed. Additionally the amount copy-paste programming from Stack Overflow is evaluated based on open source Java systems on Github using the detection results of the procedure.

Obtaining Coverage per Test Case

To avoid bugs in software products a lot of effort is put into testing. Especially regression testing is important for software maintained over a longer period of time to make sure already existing functionality is not broken by newly introduced features and adjustments. However, regression testing often gets unreasonably expensive as test suite sizes are growing over time. This thesis presents an algorithm for selecting and prioritizing test cases for Java applications based on a set of changes that have been applied to the system and per-test coverage collected on an older version of the system. The selection algorithm was integrated into the software Teamscale and plugins for various build systems have been implemented to prove that the technique can be easily integrated with existing test systems. The technique was evaluated on twelve software systems of various sizes. I examined how stable coverage of individual tests is in general and how strongly changes have an effect on those coverage. I found that especially asynchronous actions invoked by a test case cause flickering coverage. To evaluate the effectiveness of the reduced test set with regard to revealing faults mutation analysis techniques have been applied to the study objects. I found that 99.2% of failures that can be detected by the whole test suite are also found by the reduced test suite. The results also show that ordering the tests makes more than 90% of the test fail within the first 10% of the total execution time of the selected tests.

© Software & Systems Engineering Research Group
Sitemap |  Kontakt/Impressum
Letzte Änderung: 2017-10-17 18:39:41