• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 1927
  • 598
  • 576
  • 417
  • 240
  • 177
  • 57
  • 54
  • 45
  • 26
  • 26
  • 25
  • 24
  • 23
  • 20
  • Tagged with
  • 4822
  • 533
  • 504
  • 499
  • 433
  • 421
  • 376
  • 362
  • 354
  • 346
  • 340
  • 337
  • 320
  • 319
  • 317
  • 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.
571

Optimum linear single user detection in direct-sequence spread-spectrum multiple access systems

Aue, Volker 10 July 2009 (has links)
After Qualcomm's proposal of the IS-95 standard, <i>code-division multiple access</i> (CDMA) gained popularity as an alternative multiple-access scheme in cellular and <i>personal communication systems</i> (PCS). Besides the advantage of allowing asynchronous operation of the users, CDMA <i>direct-sequence spread spectrum</i> (DS-SS) offers resistance to frequency selective fading and graceful degradation of the performance as the number of users increases. Orthogonality of the signals in time-division multiple access and frequency-division multiple access is inherent from the nature of the multiple access scheme. In a CDMA system, orthogonality of the signals is not guaranteed in general. Consequently, the performance of conventional correlation receivers suffers. Sub-optimum receivers which use knowledge of the interfering signals have been investigated by other researchers. These receivers attempt to cancel the multi-user interference by despreading the interfering users. Hence, these receivers require knowledge about all the spreading codes, amplitude levels, and signal timing, and are, in general, computationally intensive. In this thesis, a technique is presented for which a high degree of interference rejection can be obtained without the necessity of despreading each user. It is shown that exploiting spectral correlation can help mitigate the effects of the multiple-access interference. If <i>code-on-pulse</i> DS-SS modulation is used, a cyclic form of the Wiener filter provides substantial improvements in performance in terms of bit error rate and user capacity. Furthermore, it is shown, that a special error-criterion should be used to adapt the weights of the filter. The computational complexity of the receiver is equivalent to that of conventional equalizers. / Master of Science
572

Automated Identification and Application of Code Refactoring in Scratch to Promote the Culture Quality from the Ground up

Techapalokul, Peeratham 04 June 2020 (has links)
Much of software engineering research and practice is concerned with improving software quality. While enormous prior efforts have focused on improving the quality of programs, this dissertation instead provides the means to educate the next generation of programmers who care deeply about software quality. If they embrace the culture of quality, these programmers would be positioned to drastically improve the quality of the software ecosystem. This dissertation describes novel methodologies, techniques, and tools for introducing novice programmers to software quality and its systematic improvement. This research builds on the success of Scratch, a popular novice-oriented block-based programming language, to support the learning of code quality and its improvement. This dissertation improves the understanding of quality problems of novice programmers, creates analysis and quality improvement technologies, and develops instructional approaches for teaching quality improvement. The contributions of this dissertation are as follows. (1) We identify twelve code smells endemic to Scratch, show their prevalence in a large representative codebase, and demonstrate how they hinder project reuse and communal learning. (2) We introduce four new refactorings for Scratch, develop an infrastructure to support them in the Scratch programming environment, and evaluate their effectiveness for the target audience. (3) We study the impact of introducing code quality concepts alongside the fundamentals of programming with and without automated refactoring support. Our findings confirm that it is not only feasible but also advantageous to promote the culture of quality from the ground up. The contributions of this dissertation can benefit both novice programmers and introductory computing educators. / Doctor of Philosophy / Software remains one of the most defect-prone artifacts across all engineering disciplines. Much of software engineering research and practice is concerned with improving software quality. While enormous prior efforts have focused on improving the quality of programs, this dissertation instead provides the means to educate the next generation of programmers who care deeply about software quality. If they embrace the culture of quality, these programmers would be positioned to drastically improve the quality of the software ecosystem, akin to professionals in traditional engineering disciplines. This dissertation describes novel methodologies, techniques, and tools for introducing novice programmers to software quality and its systematic improvement. This research builds on the success of Scratch, a popular visual programming language for teaching introductory students, to support the learning of code quality and its improvement. This dissertation improves the understanding of quality problems of novice programmers, creates analysis and quality improvement technologies, and develops instructional approaches for teaching quality improvement. This dissertation contributes (1) a large-scale study of recurring quality problems in Scratch projects and how these problems hinder communal learning, (2) four new refactorings, quality improving behavior-preserving program transformations, as well as their implementation and evaluation, (3) a study of the impact of introducing code quality concepts alongside the fundamentals of programming with and without automated refactoring support. Our findings confirm that it is not only feasible but also advantageous to promote the culture of quality from the ground up. The contributions of this dissertation can benefit both novice programmers and introductory computing educators.
573

Repairing Cartesian Codes with Linear Exact Repair Schemes

Valvo, Daniel William 10 June 2020 (has links)
In this paper, we develop a scheme to recover a single erasure when using a Cartesian code,in the context of a distributed storage system. Particularly, we develop a scheme withconsiderations to minimize the associated bandwidth and maximize the associateddimension. The problem of recovering a missing node's data exactly in a distributedstorage system is known as theexact repair problem. Previous research has studied theexact repair problem for Reed-Solomon codes. We focus on Cartesian codes, and show wecan enact the recovery using a linear exact repair scheme framework, similar to the oneoutlined by Guruswami and Wooters in 2017. / Master of Science / Distributed storage systems are systems which store a single data file over multiple storage nodes. Each storage node has a certain storage efficiency, the "space" required to store the information on that node. The value of these systems, is their ability to safely store data for extended periods of time. We want to design distributed storage systems such that if one storage node fails, we can recover it from the data in the remaining nodes. Recovering a node from the data stored in the other nodes requires the nodes to communicate data with each other. Ideally, these systems are designed to minimize the bandwidth, the inter-nodal communication required to recover a lost node, as well as maximize the storage efficiency of each node. A great mathematical framework to build these distributed storage systems on is erasure codes. In this paper, we will specifically develop distributed storage systems that use Cartesian codes. We will show that in the right setting, these systems can have a very similar bandwidth to systems build from Reed-Solomon codes, without much loss in storage efficiency.
574

Helping Developers Migrate their Code across Programming Languages

Elarnaoty, Mohammed Elsayed 15 October 2024 (has links)
Migrating source code from one programming language to another is a common task in software development. This migration can be done by completely rewriting the code in the target language, or it can be facilitated through code-reuse or automation techniques. This thesis explores both approaches. For code-reuse, two new cross-language code search techniques are proposed that enable developers to search for code in one language using code from another. These techniques address the limitations of existing methods in the context of code migration. The first technique leverages a Siamese network combined with Word2Vec embeddings, while the second employs transformers. For code automation, the concept of Translation Types is introduced to categorize code translations. An empirical study was conducted to analyze the differences between human-translated and machine-translated code. Based on these findings, two multi-output code translation techniques were developed that produce multiple translations aligned with the different styles that developers use when translating their code. The first tool employs a denoising autoencoder and a blueprint-guided beam search algorithm to generate translations of specific types. This algorithm mimics the translation operations that developers apply in similar software projects. The second tool utilizes GPT-4 with a specialized prompt to generate translations tailored to the requested types. In the evaluation, these approaches produced automated code translations that better aligned with developer preferences while maintaining correctness compared to existing methods. / Doctor of Philosophy / In the world of software development, it is often necessary to convert code written in one programming language into another. This process can be quite time-consuming, especially if developers have to rewrite everything from scratch. To make this task easier, this thesis explores two approaches: finding reusable code snippets in other languages and using automated tools to translate code. Firstly, this thesis presents two techniques that help developers search for similar code written in different programming languages. These techniques aim to accurately retrieve potential code snippets, ensuring that developers find what they need quickly, with the most relevant results appearing at the top of the list. The two techniques use machine learning models to understand and match code across languages. Additionally, this thesis explores ways to automate code translation by recognizing that different developers have their own style when translating code. A taxonomy of "Translation Types" is introduced to capture these differences. After studying how human and machine translations vary, two existing tools were adapted to generate translations. The first tool uses machine learning to create translations based on common developer patterns, while the second employs the powerful GPT-4 model to produce translations tailored to specific developer styles. Overall, the presented approaches in this thesis enable developers to convert code accurately and efficiently, reducing the time and effort needed for software migration.
575

Novel Algorithms and Hardware Architectures for Computational Subsystems Used in Cryptography and Error Correction Coding

Chakraborty, Anirban 08 1900 (has links)
A modified, single error-correcting, and double error detecting Hamming code, hereafter referred to as modified SEC-DED Hamming code, is proposed in this research. The code requires fewer logic gates to implement than the SEC-DED Hamming code. Also, unlike the popular Hsiao's code, the proposed code can determine the error in the received word from its syndrome location in the parity check matrix. A detailed analysis of the area and power utilization by the encoder and decoder circuits of the modified SEC-DED Hamming code is also discussed. Results demonstrate that this code is an excellent alternative to Hsiao's code as the area and power values are very similar. In addition, the ability to locate the error in the received word from its syndrome is also of particular interest. Primitive polynomials play a crucial role in the hardware realizations for error-correcting codes. This research describes an implementation of a scalable primitive polynomial circuit with coefficients in GF(2). The standard cell area and power values for various degrees of the circuit are analyzed. The physical design of a degree 6 primitive polynomial computation circuit is also provided. In addition to the codes, a background of the already existing SPX GCD computation algorithm is provided. Its implementation revealed that the combinational implementation of the SPX algorithm utilizes a significantly lesser area than Euclid's algorithm. The FSMD implementation of the SPX algorithm reduces both dynamic and leakage power consumption. The physical design of the GCD computation using the SPX algorithm is also provided.
576

Formulation interactive des requêtes pour l’analyse et la compréhension du code source

Jridi, Jamel Eddine 11 1900 (has links)
Nous proposons une approche basée sur la formulation interactive des requêtes. Notre approche sert à faciliter des tâches d’analyse et de compréhension du code source. Dans cette approche, l’analyste utilise un ensemble de filtres de base (linguistique, structurel, quantitatif, et filtre d’interactivité) pour définir des requêtes complexes. Ces requêtes sont construites à l’aide d’un processus interactif et itératif, où des filtres de base sont choisis et exécutés, et leurs résultats sont visualisés, changés et combinés en utilisant des opérateurs prédéfinis. Nous avons évalués notre approche par l’implantation des récentes contributions en détection de défauts de conception ainsi que la localisation de fonctionnalités dans le code. Nos résultats montrent que, en plus d’être générique, notre approche aide à la mise en œuvre des solutions existantes implémentées par des outils automatiques. / We propose an interactive querying approach for program analysis and comprehension tasks. In our approach, an analyst uses a set of basic filters (linguistic, structural, quantitative, and user selection) to define complex queries. These queries are built following an interactive and iterative process where basic filters are selected and executed, and their results displayed, changed, and combined using predefined operators. We evaluated our querying approach by implementing recent state-of-the-art contributions on feature location and design defect detection. Our results show that, in addition to be generic; our approach helps improving existing solutions implemented by fully-automated tools.
577

Généralisations du Théorème d'Extension de MacWilliams / Generalizations of the MacWilliams Extension Theorem

Dyshko, Serhii 15 December 2016 (has links)
Le fameux Théorème d’Extension de MacWilliams affirme que, pour les codes classiques, toute isométrie deHamming linéaire d'un code linéaire se prolonge en une application monomiale. Cependant, pour les codeslinéaires sur les alphabets de module, l'existence d'un analogue du théorème d'extension n'est pas garantie.Autrement dit, il existe des codes linéaires sur certains alphabets de module dont les isométries de Hammingne sont pas toujours extensibles. Il en est de même pour un contexte plus général d'un alphabet de module munid'une fonction de poids arbitraire. Dans la présente thèse, nous prouvons des analogues du théorèmed'extension pour des codes construits sur des alphabets et fonctions de poids arbitraires. La propriétéd'extension est analysée notamment pour les codes de petite longueur sur un alphabet de module de matrices,les codes MDS généraux, ou encore les codes sur un alphabet de module muni de la composition de poidssymétrisée. Indépendamment de ce sujet, une classification des deux groupes des isométries des codescombinatoires est donnée. Les techniques développées dans la thèse sont prolongées aux cas des codesstabilisateurs quantiques et aux codes de Gabidulin dans le cadre de la métrique rang. / The famous MacWilliams Extension Theorem states that for classical codes each linear Hamming isometry ofa linear code extends to a monomial map. However, for linear codes over module alphabets an analogue of theextension theorem does not always exist. That is, there may exists a linear code over a module alphabet with anunextendable Hamming isometry. The same holds in a more general context of a module alphabet equippedwith a general weight function. Analogues of the extension theorem for different classes of codes, alphabetsand weights are proven in the present thesis. For instance, extension properties of the following codes arestudied: short codes over a matrix module alphabet, maximum distance separable codes, codes over a modulealphabet equipped with the symmetrized weight composition. As a separate result, a classification of twoisometry groups of combinatorial codes is given. The thesis also contains applications of the developedtechniques to quantum stabilizer codes and Gabidulin codes.
578

Formulation interactive des requêtes pour l’analyse et la compréhension du code source

Jridi, Jamel Eddine 11 1900 (has links)
Nous proposons une approche basée sur la formulation interactive des requêtes. Notre approche sert à faciliter des tâches d’analyse et de compréhension du code source. Dans cette approche, l’analyste utilise un ensemble de filtres de base (linguistique, structurel, quantitatif, et filtre d’interactivité) pour définir des requêtes complexes. Ces requêtes sont construites à l’aide d’un processus interactif et itératif, où des filtres de base sont choisis et exécutés, et leurs résultats sont visualisés, changés et combinés en utilisant des opérateurs prédéfinis. Nous avons évalués notre approche par l’implantation des récentes contributions en détection de défauts de conception ainsi que la localisation de fonctionnalités dans le code. Nos résultats montrent que, en plus d’être générique, notre approche aide à la mise en œuvre des solutions existantes implémentées par des outils automatiques. / We propose an interactive querying approach for program analysis and comprehension tasks. In our approach, an analyst uses a set of basic filters (linguistic, structural, quantitative, and user selection) to define complex queries. These queries are built following an interactive and iterative process where basic filters are selected and executed, and their results displayed, changed, and combined using predefined operators. We evaluated our querying approach by implementing recent state-of-the-art contributions on feature location and design defect detection. Our results show that, in addition to be generic; our approach helps improving existing solutions implemented by fully-automated tools.
579

Role of code-switching in teaching and learning in selected senior secondary schools in Botswana

Mokgwathi, Tsaona Mathula 19 May 2011 (has links)
This qual-quan case study investigated the role of code-switching (CS) in education in four senior secondary schools in Botswana. CS is a communicative strategy used in many places, including Botswana, during formal and informal social occasions. CS also occurs in education; however, its occurrence is viewed as a somewhat problematical phenomenon – that it signals the speaker’s lack of proficiency in the Language of Learning and Teaching (LoLT). The study also investigated if CS in the classroom contravenes the country’s Language-in-Education Policy (LiEP), which states that English is the medium of instruction throughout the education system (Botswana Government White Paper No.2 of 1994). The study found that CS occurrence in teaching and learning has positive and negative educational effects. However, its use has adverse implications for the LiEP of Botswana. Consequently, recommendations are made on the effective use of CS and on the revision of the LiEP. The study is divided into nine chapters. Chapter One is the introduction and covers: Botswana’s language situation, including the status of English generally and in education in particular, the statement and analysis of the problem, research questions and the importance of the study. Chapter Two gives a comprehensive review of the literature on CS generally and CS in education in particular. The key words are: code-switching, code-mixing, borrowing, nonce-borrowing and re-borrowing / double-plural. Botswana’s LiEP is also discussed with respect to language planning, education and educational development. Chapter Three discusses the research design and the data-collection methods. These include: the research sites, sample selection and sampling procedures, data-collection instruments and their administration, and the independent and dependent variables used in data-collection. The importance of pre-testing the research instruments, ethical aspects observed and problems encountered during the data-collection stage are also highlighted. The role of the University of Pretoria’s Statistics Department is also explained. Hymes’ mnemonic of SPEAKING used in the analysis of the qualitative data is also described. Chapter Four presents the quantitative analysis of the respondents’ demographic details, and highlighting the differences and similarities identified. Chapters Five and Six present the results from the quantitative analysis of the teachers’ and learners’ data. The former presents the teachers’ evaluation of the learners’ language proficiency in class; the latter presents the learners’ subjective self-evaluation of their own English proficiency and their evaluation of teachers’ proficiency in English. Furthermore, both chapters respectively present the teachers and learners’ views on the role of English, Setswana and other indigenous languages in education as LoLT, and their attitude towards CS in education. The significance or the non-significance of the analyzed results is also presented. Chapter Seven presents the results from the qualitative analysis of the data (through the application of Hymes’ mnemonic of SPEAKING) obtained through lesson observations. Chapter Eight deals with the interpretation and discussion of the results through answering the main research questions. Chapter Nine presents the study’s summary, conclusions and recommendations on CS in the classroom and on Botswana’s LiEP. The study’s limitations and implications for further research are also discussed. / Thesis (DPhil)--University of Pretoria, 2011. / Afrikaans / unrestricted
580

Généralisation de l’analyse de performance décrémentale vers l’analyse différentielle / Generalization of the decremental performance analysis to differential analysis

Bendifallah, Zakaria 17 September 2015 (has links)
Une des étapes les plus cruciales dans le processus d’analyse des performances d’une application est la détection des goulets d’étranglement. Un goulet étant tout évènement qui contribue à l’allongement temps d’exécution, la détection de ses causes est importante pour les développeurs d’applications afin de comprendre les défauts de conception et de génération de code. Cependant, la détection de goulets devient un art difficile. Dans le passé, des techniques qui reposaient sur le comptage du nombre d’évènements, arrivaient facilement à trouver les goulets. Maintenant, la complexité accrue des micro-architectures modernes et l’introduction de plusieurs niveaux de parallélisme ont rendu ces techniques beaucoup moins efficaces. Par conséquent, il y a un réel besoin de réflexion sur de nouvelles approches.Notre travail porte sur le développement d’outils d’évaluation de performance des boucles de calculs issues d’applications scientifiques. Nous travaillons sur Decan, un outil d’analyse de performance qui présente une approche intéressante et prometteuse appelée l’Analyse Décrémentale. Decan repose sur l’idée d’effectuer des changements contrôlés sur les boucles du programme et de comparer la version obtenue (appelée variante) avec la version originale, permettant ainsi de détecter la présence ou pas de goulets d’étranglement.Tout d’abord, nous avons enrichi Decan avec de nouvelles variantes, que nous avons conçues, testées et validées. Ces variantes sont, par la suite, intégrées dans une analyse de performance poussée appelée l’Analyse Différentielle. Nous avons intégré l’outil et l’analyse dans une méthodologie d’analyse de performance plus globale appelée Pamda.Nous décrirons aussi les différents apports à l’outil Decan. Sont particulièrement détaillées les techniques de préservation des structures de contrôle du programme,ainsi que l’ajout du support pour les programmes parallèles.Finalement, nous effectuons une étude statistique qui permet de vérifier la possibilité d’utiliser des compteurs d’évènements, autres que le temps d’exécution, comme métriques de comparaison entre les variantes Decan / A crucial step in the process of application performance analysis is the accurate detection of program bottlenecks. A bottleneck is any event which contributes to extend the execution time. Determining their cause is important for application developpers as it enable them to detect code design and generation flaws.Bottleneck detection is becoming a difficult art. Techniques such as event counts,which succeeded to find bottlenecks easily in the past, became less efficient because of the increasing complexity of modern micro-processors, and because of the introduction of parallelism at several levels. Consequently, a real need for new analysis approaches is present in order to face these challenges.Our work focuses on performance analysis and bottleneck detection of computeintensive loops in scientific applications. We work on Decan, a performance analysis and bottleneck detection tool, which offers an interesting and promising approach called Decremental Analysis. The tool, which operates at binary level, is based on the idea of performing controlled modifications on the instructions of a loop, and comparing the new version (called variant) to the original one. The goal is to assess the cost of specific events, and thus the existence or not of bottlenecks.Our first contribution, consists of extending Decan with new variants that we designed, tested and validated. Based on these variants, we developed analysis methods which we used to characterize hot loops and find their bottlenecks. Welater, integrated the tool into a performance analysis methodology (Pamda) which coordinates several analysis tools in order to achieve a more efficient application performance analysis.Second, we introduce several improvements on the Decan tool. Techniquesdeveloped to preserve the control flow of the modified programs, allowed to use thetool on real applications instead of extracted kernels. Support for parallel programs(thread and process based) was also added. Finally, our tool primarily relying on execution time as the main concern for its analysis process, we study the opportunity of also using other hardware generated events, through a study of their stability, precision and overhead

Page generated in 0.0945 seconds