Project in Software Engineering

339.018 Weninger + members of SSW/Oracle Labs Introduction: Mo 07.03.2022, 16:00, SP3 218 Presentations: Mo 27.06.2022, 14:00, SP3 218

Currently, we plan to perform the kickoff meeting as well as the final presentation meeting in person. If we are forced to switch to remote teaching again, a Zoom link will be provided to join the meetings.


Goal

The goal of this course is to do a non-trivial software project over a whole semester and to go through all its phases (requirements definition, design, implementation, testing, documentation). The projects can be done in teams of 2 (with doubled workload), but can also be selected by a single student. At the end of the semester, the results have to be presented in a 15 minutes presentation.

Topics

Open Topics

The following list contains open thesis topics that might have to be adjusted in size to fit as topic for Project in Software Engineering. You might also find an interesting open master thesis topic that could be adjusted to a Project in Software Engineering.
If you are interested in working on one of these topics, please contact the respective supervisor and discuss the scope of the work.
Once you have done this, please inform Dr. Markus Weninger (markus.weninger@jku.at) to mark your topic as assigned.
If you did not choose a topic before the introduction meeting (which has mandatory participation for everybody), you have to select one of the remaining open topics during that meeting.

Assigned Topics

  • Testing Suite for Xaminer (Technologies: JUnit, Selenium)
    The exam system Xaminer is used by the Institute for System Software and other institutes to provide online exams for students. To improve the experience of both, lecturers and students, the system is constantly being improved and extended. While extensive manual testing is performed after each change, little effort has yet been put into automatic testing. This project should tackle this shortcoming by developing a web test suite that performs automatic web tests (e.g., simlation of button clicks, written text in text fields, etc.) for all features currently provided by Xaminer. (Student: XXX) This project should also tackle this shortcoming by developing a unit test suite that performs automatic unit tests agains all classes and against all REST endpoints currently provided by the Xaminer backend. (Student: XXX) It should also investigate and define possible guidelines and infrastructure to make it easy to introduce new tests for new features in the future.
    Student: Alexander Kainzinger and Gabriel Guldner
  • Collecting Memory Monitoring Data using Aspect-oriented Programming (Technologies: Java / Kotlin, AspectJ)
    Collecting memory monitoring data using AspectJ, including analysis of feasability to use it for contain profiling (which will lead to a master's thesis)
    Student: Markus Hirth
  • Heap Visualiztion for Programming Beginners (Technologies: Typescript, d3.js)
    -
    Student: Katrin Anna Kern
  • Type Resolver based on ASTM (Technologies: ASTM)
    -
    Student: Jonathan Kudlich and Keanu Pöschko
  • XXX (Technologies: YYY)
    -
    Contact: Mr. X
    Student: Louis Develter

Final Presentation

The results of every project have to be presented by all team members in a 15 minutes presentation at the end of the semester. The presentation should mainly consist of a demo, but you should also shortly explain the problems tackled in this project and how you solved them (no bullet point presenation - rather use graphics and examples to demonstrate your problem and solution).

Grading

The grading is performed based on the quality of the implemented software (functionality, user friendlyness, robustness, readability and maintainability, documentation) as well as from the final presentation and the commitment during the semester.