Software maintenance tasks are known to be costly and challenging. The main challenge is that software maintenance must understand how the software system works before making any changes to it. This is due to lack of adequate documentation if it exists at all. Program analysis techniques aim to reduce the impact of this problem. In this thesis, we focus on the ones that permit the understanding of the behavioural aspects of software. These techniques operate on execution traces, generated from the system under study. Traces are difficult to work with because of their size. One way to reduce their complexity is to automatically divide their content into meaningful clusters, each representing a particular execution phase. This is known as tr...
Software maintenance is a significant phase of a software life-cycle. Once a system is developed the...
Several software maintenance tasks such as debugging, phase-identification, or simply the high-level...
Developing streaming multimedia applications on embedded systems becomes increasingly complex over t...
Understanding the behavioural aspects of software systems can help in a variety of software engineer...
Understanding a large execution trace is not easy task due to the size and complexity of typical tra...
Software maintenance is known to be a costly and time consuming activity. Software engineers need to...
System designers make trade-offs between metrics of interest such as execution time, functional qual...
An important part of many software maintenance tasks is to gain a sufficient level of understanding ...
System designers make trade-offs between metrics of interest such as execution time, functional qual...
Software systems have become increasingly complex, which makes it difficult to detect the root cause...
Preprint of article published in: Journal of Systems and Software (Elsevier), 81 (12), 2008; doi:10....
Tracing is a tool frequently used in the debugging and optimization of software. While there exist d...
Most programs are repetitive, where similar behavior can be seen at different execution times. Algo...
This dissertation proposes generalized techniques to support software performance analysis using sys...
Dynamic compilers can optimize application code specifi-cally for observed code behavior. Such behav...
Software maintenance is a significant phase of a software life-cycle. Once a system is developed the...
Several software maintenance tasks such as debugging, phase-identification, or simply the high-level...
Developing streaming multimedia applications on embedded systems becomes increasingly complex over t...
Understanding the behavioural aspects of software systems can help in a variety of software engineer...
Understanding a large execution trace is not easy task due to the size and complexity of typical tra...
Software maintenance is known to be a costly and time consuming activity. Software engineers need to...
System designers make trade-offs between metrics of interest such as execution time, functional qual...
An important part of many software maintenance tasks is to gain a sufficient level of understanding ...
System designers make trade-offs between metrics of interest such as execution time, functional qual...
Software systems have become increasingly complex, which makes it difficult to detect the root cause...
Preprint of article published in: Journal of Systems and Software (Elsevier), 81 (12), 2008; doi:10....
Tracing is a tool frequently used in the debugging and optimization of software. While there exist d...
Most programs are repetitive, where similar behavior can be seen at different execution times. Algo...
This dissertation proposes generalized techniques to support software performance analysis using sys...
Dynamic compilers can optimize application code specifi-cally for observed code behavior. Such behav...
Software maintenance is a significant phase of a software life-cycle. Once a system is developed the...
Several software maintenance tasks such as debugging, phase-identification, or simply the high-level...
Developing streaming multimedia applications on embedded systems becomes increasingly complex over t...