Hinweis: Die aktuelle OOP-Konferenz finden Sie hier!
SIGS DATACOM Fachinformationen für IT-Professionals

SOFTWARE MEETS BUSINESS:
Die Konferenz für Software-Architekturen
30. Januar - 03. Februar 2017

Sessionsdetails

Vortrag: Di 7.2
Datum: Di, 31.01.2017
Uhrzeit: 14:00 - 14:45
cart

Parallele Code Smells: Eine Top 10 Liste

Uhrzeit: 14:00 - 14:45
Vortrag: Di 7.2

 

Code Smells ist ein verbreitetes Mittel im Software Engineering, um tiefer liegende Design-Schwächen zu identifizieren. Bis jetzt wurde dieser Ansatz jedoch kaum auf die Parallelisierung und Nebenläufigkeit angewendet, obschon hier besonders heimtückische Gefahren lauern.
Dieser Vortrag präsentiert eine über die Jahre zusammengestellte Sammlung von Code Smells mit Fokus auf Nebenläufigkeit und Parallelisierung. Am Beispiel von .NET und Java werden die parallelen Code Smells mit ihren Grundursachen und indizierten Behandlungen diskutiert.

Zielpublikum: Entwickler, Architekten
Voraussetzungen: Nebenläufige, parallele Programmierung, Java, .NET
Schwierigkeitsgrad: Fortgeschritten

Extended Abstract
Der Begriff „Code Smells” bezeichnet Symptome von tiefer liegenden Software-Design-Schwächen oder Fehlern. Bis jetzt wurde dieser Ansatz jedoch kaum auf die Parallelisierung und Nebenläufigkeit angewendet, obschon hier besonders heikle Fehler auftreten können.
Dieser Vortrag präsentiert eine Sammlung von Code Smells mit Fokus Nebenläufigkeit und Parallelisierung. Die Sammlung ist im Verlaufe der letzten Jahre aus durchgeführten Software-Beratungen und Reviews entstanden. Am Beispiel von .NET und Java wird in diesem Vortrag eine Hit-Liste von parallelen Code Smells vorgestellt. Zu jedem Smell wird jeweils die Grundursache untersucht sowie indizierte Behandlungen aufgezeigt.
Lernziele:
- Prominente Code Smells kennenlernen, welche auf grundlegende Nebenläufigkeits- und Parallelitätsprobleme in der Software hindeuten.
- Wissen, welche Redesign- und Refactoring-Techniken die Grundprobleme der parallelen Code Smells eliminieren können.
- Die Wichtigkeit erkennen, in Software-Projekten auch nach parallelen Smells Ausschau zu halten und die Entwickler darauf zu sensibilisieren.
Vorgehen:
- Vortrag mit Zwischendemonstrationen in Programmcode
- Agenda:
o Motivation und Hintergrund der parallelen Code Smell Sammlung
o Rückblick: Archetypen von Nebenläufigkeits-/Parallelitätsfehler
o Vorstellung der verschiedenen Smells, der Ursachen und Kuren:
1. Partly synchronized classes
2. Nested locking through method calls
3. Try-and-fail resource acquisition
4. Use of explicit threads
5. Thread pool task dependencies
6. Fire-and-forget launches
7. Long asynchronous continuations
8. Monitor single wait / single signal
9. Volatile fences or atomic instructions
10. Finalizers accessing shared state
o Zusammenfassung und Schlussfolgerung
- Die Code Smells werden anhand von Programmcode illustriert.
Zielgruppe:
- Software-Entwickler und -Architekten sowie Projektleiter mit einem starken technischen Flair.
- Voraussetzung: Grundverständnis der nebenläufigen/parallelen Programmierung ist empfohlen.
- Stufen: Grundlagen