• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 22
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 34
  • 34
  • 14
  • 10
  • 8
  • 7
  • 6
  • 5
  • 5
  • 4
  • 4
  • 4
  • 4
  • 4
  • 4
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
21

Software Performance Estimation Techniques in a Co-Design Environment

Subramanian, Sriram 02 September 2003 (has links)
No description available.
22

Software Performance Anomaly Detection Through Analysis Of Test Data By Multivariate Techniques

Salahshour Torshizi, Sara January 2022 (has links)
This thesis aims to uncover anomalies in the data describing the performance behavior of a "robot controller" as measured by software metrics. The purpose of analyzing data is mainly to identify the changes that have resulted in different performance behaviors which we refer to as performance anomalies. To address this issue, two separate pre-processing approaches have been developed: one that adds the principal component to the data after cleaning steps and another that does not regard the principal component. Next, Isolation Forest is employed, which uses an ensemble of isolation trees for data points to segregate anomalies and generate scores that can be used to discover anomalies. Further, in order to detect anomalies, the highest distances matching cluster centroids are employed in the clustering procedure. These two data preparation methods, along with two anomaly detection algorithms, identified software builds that are very likely to be anomalies. According to an industrial evaluation conducted based on engineers’ domain knowledge, around 70% of the detected software builds as anomalous builds were successfully identified, indicating system variable deviations or software bugs.
23

Exploring performance issues and patterns in C# by analyzing open-source projects

Pawlukiewicz, Anna, Nedkov, Nedko January 2024 (has links)
Performance in software describes the efficiency with which a system or a component fulfills its intended tasks, considering factors such as execution speed, resource consumption, and accuracy. It is a quality that can determine whether a software system is a success or a failure and can bring both financial profits and losses to companies. Developers, however, do not fully utilize existing best practices to maximize performance or try to increase it by reducing other quality attributes. The performance issues they face are often more complex and require more effort to be solved than functional bugs. To provide more insight into the subject of such issues, a study is conducted on 54 real-life performance issues found in 7 C# projects, which are analyzed for root causes, affected quality (response time or memory allocation), and applied solutions. Issues are classified based on their root cause, and the taxonomy consisting of 12 categories used in the process is derived from different performance issue classifications proposed by related research through a literature review. Additionally, through another literature review, 11 patterns that can improve software performance are identified and described. Out of those 11 patterns, 4 are found to be commonly applied when solving performance issues in C#. The aim of this study is to provide insights into what kind of performance issues appear and how they are solved in the C# language.
24

Performance Interference Detection For Cloud-Native Applications Using Unsupervised Machine Learning Models

Bakshi, Eli 01 June 2024 (has links) (PDF)
Contemporary cloud-native applications frequently adopt the microservice architecture, where applications are deployed within multiple containers that run on cloud virtual machines (VMs). These applications are typically hosted on public cloud platforms, where VMs from multiple cloud subscribers compete for the same physical resources on a cloud server. When a cloud subscriber application running on a VM competes for shared physical resources from other applications running on the same VM or from other VMs co-located on the same cloud server, performance interference may occur when the performance of an application degrades due to shared resource contention. Detecting such interference is crucial for maintaining the Quality-of-Service of cloud-native Web applications. However, cloud subscribers lack access to underlying host-level hardware metrics traditionally used for interference detection without needing to instrument high overhead-inducing per-request response time values. Machine learning (ML) techniques have proven effective in detecting performance interference using metrics available at the subscriber level, though these techniques have predominantly focused on supervised models with pre-existing labeled data sets that can distinguish between normal and interference conditions. In contrast, this work proposes an unsupervised clustering ML approach to identify performance interference in cloud-native applications. The proposed approach implements a lightweight method for collecting container metrics in normal and interference scenarios and applies a dimensionality reduction technique to mitigate redundancy and noise in the collected dataset. We then apply a density-based clustering approach to this unlabeled data set to classify interference in two applications running on the AWS EC2 cloud: a microbenchmark Web application called Acme Air and a large-scale production-realistic Web benchmark called DeathStarBench. Results indicate that our density-based clustering approach effectively distinguishes between normal and interference conditions and achieves an average Density-Based Clustering Validation (DBCV) index of 0.781 and a cluster homogeneity of 0.875 across both applications.
25

Use Of Design Patterns In Non-object Oriented Real-time Software

Ciftci, Aysegul 01 January 2013 (has links) (PDF)
After the book, Design Patterns: Elements of Reusable Object-Oriented Software was published in 1994, usage of design patterns in object-oriented (OO) programming has been investigated by many researchers. However, the effects of design patterns on non-object oriented (non-OO) programming have not been analyzed too much in the literature. This study focuses on various design pattern implementations using non OO programming and investigates the benefits of design patterns upon real-time software. In order to evaluate the results, specific quality metrics were selected and performance of traditionally developed software was compared with that of software developed using design patterns.
26

Towards Defining Models of Hardware Capacity and Software Performance for Telecommunication Applications

Suuronen, Janne January 2020 (has links)
Knowledge of the resource usage of applications and the resource usage capacity of hardware platforms is essential when developing a system. The resource usage must not over exceed the capacity of a platform, as it could otherwise fail to meet its real-time constraints due to resource shortages. Furthermore, it is beneficial from a cost-effectiveness stand-point that a hardware platform is not under-utilised by systems software. This thesis examines two systems aspects: the hardware resource usage of applications and the resource capacity of hardware platforms, defined as the capacity of each resource included in a hardware platform. Both of these systems aspects are investigated and modelled using a black box perspective since the focus is on observing the online usage and capacity. Investigating and modelling these two approaches is a crucial step towards defining and constructing hardware and software models. We evaluate regressive and auto-regressive modelling approaches of modelling CPU, L2 cache and L3 cache usage of applications. The conclusion is that first-order autoregressive and Multivariate Adaptive Regression Splines show promise of being able to model resource usage. The primary limitation of both modelling approaches is their inability to model resource usage when it is highly irregular. The capacity models of CPU, L2 and L3 cache derived by exerting heavy workloads onto a test platform shows to hold against a real-life application concerning L2 and L3 cache capacity. However, the CPU usage model underestimates the test platform's capacity since the real-life application over-exceeds the theoretical maximum usage defined by the model.
27

Using a social network environment for information systems group work

Visagie, Sonja 12 May 2011 (has links)
Group work and online discussions are not new terms in education and are important activities for Information Systems students. It has become important because it encourages creative thinking and provides more efficient problem-solving approaches. Online social networking sites, like Facebook, have pedagogical potential and the consideration of its academic application should not be ignored by lecturers or students. The main problem identified in this thesis is that the awareness and application of the emerging pedagogical potential of online social networking sites, like Facebook, especially for the purpose of group work and online discussions, is limited among Information Systems lecturers and students. The purpose of this study is to determine the level of awareness and application of Facebook as an academic tool by Information Systems lecturers and students, and whether it can enhance the learning experience of students, related to the effectiveness of group work and online discussions. The perceptions of both Information Systems lecturers and students were recorded by means of questionnaires and interviews. It was found that most lecturers and students were aware of Facebook’s pedagogical potential. However, the consideration and application of Facebook as an academic tool, by lecturers and students, are limited. From a cultural perspective, it was found that students from a private institution, where no Learning Management System was implemented, as well as black students, showed increased levels of utilisation and performance, in terms of enhanced learning experienced, on the academic groups on Facebook. The researcher developed a model for the academic application of Facebook for Information Systems students, based on the Task-Technology Fit and the Social Software Performance Model theories. This study concludes with the recommendation that Information Systems lecturers and students should become increasingly aware of and consider the pedagogical potential of Facebook as a supplementary tool and with suggestions for future research. / Dissertation (MCom)--University of Pretoria, 2010. / Informatics / unrestricted
28

Extending Peass to Detect Performance Changes of Apache Tomcat

Rosenlund, Stefan 07 August 2023 (has links)
New application versions may contain source code changes that decrease the application’s performance. To ensure sufficient performance, it is necessary to identify these code changes. Peass is a performance analysis tool using performance measurements of unit tests to achieve that goal for Java applications. However, it can only be utilized for Java applications that are built using the tools Apache Maven or Gradle. This thesis provides a plugin for Peass that enables it to analyze applications built with Apache Ant. Peass utilizes the frameworks Kieker and KoPeMe to record the execution traces and measure the response times of unit tests. This results in the following tasks for the Peass-Ant plugin: (1) Add Kieker and KoPeMe as dependencies and (2) Execute transformed unit tests. For the first task, our plugin programmatically resolves the transitive dependencies of Kieker and KoPeMe and modifies the XML buildfiles of the application under test. For the second task, the plugin orchestrates the process that surrounds test execution—implementing performance optimizations for the analysis of applications with large codebases—and executes specific Ant commands that prepare and start test execution. To make our plugin work, we additionally improved Peass and Kieker. Therefore, we implemented three enhancements and identified twelve bugs. We evaluated the Peass-Ant plugin by conducting a case study on 200 commits of the open-source project Apache Tomcat. We detected 14 commits with 57 unit tests that contain performance changes. Our subsequent root cause analysis identified nine source code changes that we assigned to three clusters of source code changes known to cause performance changes.:1. Introduction 1.1. Motivation 1.2. Objectives 1.3. Organization 2. Foundations 2.1. Performance Measurement in Java 2.2. Peass 2.3. Apache Ant 2.4. Apache Tomcat 3. Architecture of the Plugin 3.1. Requirements 3.2. Component Structure 3.3. Integrated Class Structure of Peass and the Plugin 3.4. Build Modification Tasks for Tomcat 4. Implementation 4.1. Changes in Peass 4.2. Changes in Kieker and Kieker-Source-Instrumentation 4.3. Buildfile Modification of the Plugin 4.4. Test Execution of the Plugin 5. Evaluative Case Study 5.1. Setup of the Case Study 5.2. Results of the Case Study 5.3. Performance Optimizations for Ant Applications 6. Related Work 6.1. Performance Analysis Tools 6.2. Test Selection and Test Prioritization Tools 6.3. Empirical Studies on Performance Bugs and Regressions 7. Conclusion and Future Work 7.1. Conclusion 7.2. Future Work / Neue Versionen einer Applikation können Quelltextänderungen enthalten, die die Performance der Applikation verschlechtern. Um eine ausreichende Performance sicherzustellen, ist es notwendig, diese Quelltextänderungen zu identifizieren. Peass ist ein Performance-Analyse-Tool, das die Performance von Unit-Tests misst, um dieses Ziel für Java-Applikationen zu erreichen. Allerdings kann es nur für Java-Applikationen verwendet werden, die eines der Build-Tools Apache Maven oder Gradle nutzen. In dieser Arbeit wird ein Plugin für Peass entwickelt, das es ermöglicht, mit Peass Applikationen zu analysieren, die das Build-Tool Apache Ant nutzen. Peass verwendet die Frameworks Kieker und KoPeMe, um Ausführungs-Traces von Unit-Tests aufzuzeichnen und Antwortzeiten von Unit-Tests zu messen. Daraus resultieren folgende Aufgaben für das Peass-Ant-Plugin: (1) Kieker und KoPeMe als Abhängigkeiten hinzufügen und (2) Transformierte Unit-Tests ausführen. Für die erste Aufgabe löst das Plugin programmbasiert die transitiven Abhängigkeiten von Kieker und KoPeMe auf und modifiziert die XML-Build-Dateien der zu testenden Applikation. Für die zweite Aufgabe steuert das Plugin den Prozess, der die Testausführung umgibt, und führt spezielle Ant-Kommandos aus, die die Testausführung vorbereiten und starten. Dabei implementiert es Performanceoptimierungen, um auch Applikationen mit einer großen Codebasis analysieren zu können. Um die Lauffähigkeit des Plugins sicherzustellen, wurden zusätzlich Verbesserungen an Peass und Kieker vorgenommen. Dabei wurden drei Erweiterungen implementiert und zwölf Bugs identifiziert. Um das Peass-Ant-Plugin zu bewerten, wurde eine Fallstudie mit 200 Commits des Open-Source-Projekts Apache Tomcat durchgeführt. Dabei wurden 14 Commits mit 57 Unit-Tests erkannt, die Performanceänderungen enthalten. Unsere anschließende Ursachenanalyse identifizierte neun verursachende Quelltextänderungen. Diese wurden drei Clustern von Quelltextänderungen zugeordnet, von denen bekannt ist, dass sie eine Veränderung der Performance verursachen.:1. Introduction 1.1. Motivation 1.2. Objectives 1.3. Organization 2. Foundations 2.1. Performance Measurement in Java 2.2. Peass 2.3. Apache Ant 2.4. Apache Tomcat 3. Architecture of the Plugin 3.1. Requirements 3.2. Component Structure 3.3. Integrated Class Structure of Peass and the Plugin 3.4. Build Modification Tasks for Tomcat 4. Implementation 4.1. Changes in Peass 4.2. Changes in Kieker and Kieker-Source-Instrumentation 4.3. Buildfile Modification of the Plugin 4.4. Test Execution of the Plugin 5. Evaluative Case Study 5.1. Setup of the Case Study 5.2. Results of the Case Study 5.3. Performance Optimizations for Ant Applications 6. Related Work 6.1. Performance Analysis Tools 6.2. Test Selection and Test Prioritization Tools 6.3. Empirical Studies on Performance Bugs and Regressions 7. Conclusion and Future Work 7.1. Conclusion 7.2. Future Work
29

Způsoby definování požadavků pro výkonnostní testování softwaru / Ways of defining the requirements for performance testing software

Vodrážka, Michal January 2015 (has links)
This thesis is focused on ways of defining the requirements for performance testing software, both in practice (based on survey) as well as in theory. The aim of this thesis is to analyze ways of defining performance requirements, which are actually used on IT projects. In order to achieve this goal it is necessary to define concepts of performance testing, implement and evaluate the survey of the using ways of defining performance requirements in practice and then analyze ways of defining performance requirements in terms of their applicability to different types of IT projects. The contribution of this thesis is the comprehensive introduction performance testing software issues and mainly insight into ways of defining performance requirements used in practice and problems associated with them, through the survey, which was implemented and evaluated by myself. The conclusions resulting from this survey summarize which ways of defining performance requirements are applied to specific types of IT projects, which of these ways worked and which problems in certain cases that occur in practice. The thesis is divided into theoretical and practical part. The theoretical part explains the basic concepts associated with performance testing software. In this part, there is also described the methodology of defining performance requirements according to Tom Gilb. The practical part is focused on the realization and evaluation of survey of the using ways of defining performance requirements in practice and on the analysis ways of defining performance requirements with respect to certain types of projects.
30

Hybrid Parallel Computing Strategies for Scientific Computing Applications

Lee, Joo Hong 10 October 2012 (has links)
Multi-core, multi-processor, and Graphics Processing Unit (GPU) computer architectures pose significant challenges with respect to the efficient exploitation of parallelism for large-scale, scientific computing simulations. For example, a simulation of the human tonsil at the cellular level involves the computation of the motion and interaction of millions of cells over extended periods of time. Also, the simulation of Radiative Heat Transfer (RHT) effects by the Photon Monte Carlo (PMC) method is an extremely computationally demanding problem. The PMC method is example of the Monte Carlo simulation method—an approach extensively used in wide of application areas. Although the basic algorithmic framework of these Monte Carlo methods is simple, they can be extremely computationally intensive. Therefore, an efficient parallel realization of these simulations depends on a careful analysis of the nature these problems and the development of an appropriate software framework. The overarching goal of this dissertation is develop and understand what the appropriate parallel programming model should be to exploit these disparate architectures, both from the metric of efficiency, as well as from a software engineering perspective. In this dissertation we examine these issues through a performance study of PathSim2, a software framework for the simulation of large-scale biological systems, using two different parallel architectures’ distributed and shared memory. First, a message-passing implementation of a multiple germinal center simulation by PathSim2 is developed and analyzed for distributed memory architectures. Second, a germinal center simulation is implemented on shared memory architecture with two parallelization strategies based on Pthreads and OpenMP. Finally, we present work targeting a complete hybrid, parallel computing architecture. With this work we develop and analyze a software framework for generic Monte Carlo simulations implemented on multiple, distributed memory nodes consisting of a multi-core architecture with attached GPUs. This simulation framework is divided into two asynchronous parts: (a) a threaded, GPU-accelerated pseudo-random number generator (or producer), and (b) a multi-threaded Monte Carlo application (or consumer). The advantage of this approach is that this software framework can be directly used within any Monte Carlo application code, without requiring application-specific programming of the GPU. We examine this approach through a performance study of the simulation of RHT effects by the PMC method on a hybrid computing architecture. We present a theoretical analysis of our proposed approach, discuss methods to optimize performance based on this analysis, and compare this analysis to experimental results obtained from simulations run on two different hybrid, parallel computing architectures. / Ph. D.

Page generated in 0.075 seconds