Filtern
Dokumenttyp
- Diplomarbeit (2) (entfernen)
Schlagworte
- Program Slicing (2) (entfernen)
Institut
- Institut für Softwaretechnik (2) (entfernen)
Program slicing is a technique for extracting that parts of a program which influence a previously defined, so-called slicing criterion. The latter mostly takes the form of a source code statement and a set of variables. Over the years an abundance of variants and enhancements has evolved from the original notion of a program slice. One of these developments is called chopping. A chop only contains those statements which are necessary to sustain the effects of a certain statement on another statement. Corresponding to the slicing criterion, the two statements have to be available in advance. This diploma thesis deals with the development of a service model in order to support the computation of a slice or a chop, given an original program and a slicing or chopping criterion respectively. A service model is a framework of communicating services so that each service performs a specific task within the concept of program slicing. The three main tasks, without considering further decomposition, are the mapping of program code into a representation suitable for slicing, the slicing itself and the display of the slice as code. The key benefit of service-orientation is that a service encapsulates the underlying algorithms. Hence the possibility of improving or substituting them without changing the interfaces of the related service relieves the developer of the need of adapting adjoining services. Thus, service-orientation fosters maintainability and improvability. Besides the definition of the services, this thesis also partially formally defines the data flow between them, i.e. their interfaces. It also features graph class definitions for most data structures. An accurate description of the interfaces encourages reuse, provided the services are of adequate granularity.
Program slicing
(2008)
Im Rahmen dieser Diplomarbeit wird das Dienstmodell für Program Slicing, welches von Hannes Schwarz vorgestellt wurde, zu einem komponentenbasierten Referenztool weiterentwickelt und implementiert. Dieses Referenztool verwendet zum Slicen ein Referenzschema für Programmiersprachen, welches ebenfalls in dieser Arbeit eingeführt wird. Die hier eingesetzten Slicing-Verfahren basieren auf diesem Referenzschema. Somit kann das Referenztool als Grundlage zum Slicen von Quellcode in beliebigen Programmiersprachen genutzt werden, wenn das Referenzschema vorab an die Gegebenheiten dieser Sprachen angepasst wird. Exemplarisch wird in dieser Diplomarbeit ein Program Slicing Tool für C-Quellcode entwickelt. Dieses Slicing Tool basiert auf dem Referenztool, in dem es die einzelnen Komponenten des Referenztools bei Bedarf spezialisiert oder in der ursprünglichen Form übernimmt. Damit das Program Slicing Tool als Referenz gelten kann, wird in dieser Arbeit eine einfache, erweiterbare und komponentenbasierte Architektur entwickelt. Diese entsteht durch den Einsatz aktueller Prinzipien der Softwaretechnik.