Spelling suggestions: "subject:"core""
551 |
Approaches, Techniques, and Tools for Identifying Important Code Changes to Help Code ReviewersMohanavilasam, Maneesh M. 01 December 2017 (has links)
Software development is a collaborative process where many developers come together and work on a project. To make things easy and manageable, software is developed on a version control system. A version control system is a centralized system which stores code and adds code from all other developers as an increment to the code base in the repository. Since multiple people work on the same code repository together, it is important to make sure that their contributions do not conflict with each other. It is important to maintain the quality and integrity of the repository. This is where the code review process comes into the picture. All the changes made to the repository by developers are reviewed by other, preferably senior developers, before it is integrated into the repository. This is done to maintain a high standard of development. The problem is that this is a manual and highly time consuming process. This research proposes a tool that tries to optimize the code review process. This is done by ranking the changes that the developers need to review: this makes it easier for the developer to decide which change he/she needs to review first. Also since every reviewer has their own preference and style, the tool takes feedback from the code reviewer after every change and readjusts the ranked change list according to his/her feedback. Adding to that, the tool classifies each change and tags it so that the code reviewers have a better understanding of the change that he/she is about to review. It also provides additional refactoring information about each change. Refactoring changes are very easy to miss, since they are not usually erroneous changes, but they erode the quality of the software overtime. The tool points out these changes so that these changes are not missed by the code reviewer. The research was evaluated on 7 open source project and a usability study was conducted which prove that this tool does have a positive impact on the code review process.
|
552 |
Obfuscation par expressions mixtes arithmético-booléennes : reconstruction, analyse et outils de simplification / Obfuscation with Mixed Boolean-Arithmetic Expressions : reconstruction, analysis and simplification toolsEyrolles, Ninon 30 June 2017 (has links)
L'obfuscation de logiciels est une technique de protection deprogrammes qui transforme du code pour rendre son analyse plusdifficile. Les expressions mixtes arithmético-booléennes (MBA) sontprésentées comme une bonne obfuscation du flot de données. Le domainede l'obfuscation MBA étant assez jeune, il bénéficie de peu delittérature sur la conception et l'analyse de telles expressionsobfusquées. Ainsi, beaucoup de sujets intéressants apparaissent lors deson étude, autant sur l'obfuscation que sur la désobfuscation (ousimplification) d'expressions MBA.Durant nos recherches, nous avons structuré le sujet de l'obfuscationMBA, le reliant à d'autres domaines comme la cryptographie ou laréécriture. Nous avons également reconstruit une techniqued'obfuscation MBA à partir d'échantillons publics. Nous avons étudié ce quesignifie simplifier une expression obfusquée, et défininos propres métriques de simplicité pour les expressions MBA. L'étudede la simplification MBA a entraîné l'implémentation de deux outils dedésobfuscation, qui ont simplifié avec succès plusieurs examplespublics d'expressions obfusquées. Finalement, nous avons évalué larésilience de l'obfuscation MBA par rapport à nos algorithmes desimplification (ainsi que d'autres techniques de désobfuscation), etnous avons conclu que la technique d'obfuscation MBA offrait peu derésilience en l'état. Nous avons donc proposé quelques pistes pouraméliorer ce type d'obfuscation. / Software obfuscation is a software protection technique thattransforms code in order to make its analysis more difficult. MixedBoolean-Arithmetic (MBA) expressions are presented as a strongobfuscation in the context of data flow obfuscation. As the domainaround MBA obfuscation is quite young, there is little literatureon the conception and analysis of such obfuscated expressions.Therefore many interesting subjects arise during its study, both around theobfuscation and deobfuscation (or simplification) of MBA expressions.During our work, we structured the subject of MBA obfuscation, linkingit to other topics like cryptography or rewriting. We also reconstructedan MBA obfuscation technique from public samples. We studied themeaning of simplifying an obfuscated expression, and definedour own simplicity metrics for MBA expressions. The study of MBAsimplification yielded the implementation of two deobfuscation toolsthat successfully simplified several public examples of obfuscatedexpressions. Finally, we assessed the resilience of the MBAobfuscation with regard to our simplification algorithms (as well asother deobfuscation techniques), concluding that this obfuscationtechnique offers little resilience as it is, and we proposed a few ideasto help improve this type of obfuscation.
|
553 |
Modélisation non-linéaire des machines synchrones pour l'analyse en régimes transitoires et les études de stabilité / Nonlinear modelling of synchronous machines for transient analyses and stability studiesWisniewski, Teodor 12 December 2018 (has links)
Les travaux de recherche présentésdans cette thèse ont été effectués dans le cadred'une collaboration entre Leroy Somer et lelaboratoire de génie électrique et électronique deParis (GeePs). Ils ont pour objectif lessimulations des phénomènes observés en modetransitoire des machines électriques. Cessimulations sont particulièrement orientées parles nouvelles exigences issues du Grid Code pourles alternateurs connectés au réseau.Principalement, deux types de modèles ont étédéveloppés. Le premier se base sur unereprésentation de l’état magnétique de lamachine où chaque flux est exprimé en fonctiondes courants des différentes bobines. Le secondmodèle regroupe les courants en utilisant descourants magnétisants sur les axes d et q associésà des coefficients de saturation pour chaque fluxet simplifie la représentation magnétique,notamment pour la prise encompte du circuit amortisseur. Avec unemodélisation suffisamment précise ducomportement magnétique non linéaire de lamachine, ils permettent de mieux prédire lescourants et le couple électromagnétique lors desdéfauts tels que les creux de tension. Les travauxeffectués présentés dans ce mémoire ont permis,en partant des descriptions des saturationstrouvées dans une machine, de définir desméthodes pour incorporer la saturation dans lesmodèles de type circuit et finalement d’aboutirau choix du modèle non-linéaire pour unemachine électrique donnée. Grâce à un temps decalcul réduit, ils ont aussi conduit à l'intégrationsous Simulink de modèles de la machine et dusystème d'entrainement pour la réalisationd'études de stabilité et pour créer unenvironnement de mise au point de la commandedu système. / The research presented in this thesiswas carried out in the research and developmentproject between Leroy Somer and the Group ofElectrical Engineering of Paris (GeePs). Theirobjective is to simulate the phenomena observedin the transient states of electrical machines.These simulations are particularly oriented bythe new Grid Code requirements for alternatorsconnected to the power network. Two types ofmodels have been principally developed. Thefirst one is based on a magnetic description ofthe machine where each flux is expressed as afunction of the currents flowing through thedifferent machine windings. The second oneregroups the different winding currents by usingthe magnetizing currents on axes d and qassociated to saturation coefficients for eachflux linkage and simplifies the magneticdescription, especially when taking into accountthe damper windings. With a sufficiently precisemodelling of the non-linear magnetic behaviourof the machine, it is possible to better predict thecurrents and the electromagnetic torque underfault conditions such as voltage drops. The workcarried out in this thesis has made possible,starting from the descriptions of the saturationeffects found in a machine, to define methodsfor incorporating saturation into circuit models.Finally, one can make a choice of the dynamicnon-linear model for a given machine. Thanks toshort computation time, it also led to theSimulink integration of the machine andexcitation system models paving the way forstability and control studies.
|
554 |
Using Machine Learning Techniques to Improve Static Code Analysis Tools UsefulnessAlikhashashneh, Enas A. 08 1900 (has links)
Indiana University-Purdue University Indianapolis (IUPUI) / This dissertation proposes an approach to reduce the cost of manual inspections for as large a number of false positive warnings that are being reported by Static Code Analysis (SCA) tools as much as possible using Machine Learning (ML) techniques. The proposed approach neither assume to use the particular SCA tools nor depends on the specific programming language used to write the target source code or the application. To reduce the number of false positive warnings we first evaluated a number of SCA tools in terms of software engineering metrics using a highlighted synthetic source code named the Juliet test suite. From this evaluation, we concluded that the SCA tools report plenty of false positive warnings that need a manual inspection. Then we generated a number of datasets from the source code that forced the SCA tool to generate either true positive, false positive, or false negative warnings. The datasets, then, were used to train four of ML classifiers in order to classify the collected warnings from the synthetic source code. From the experimental results of the ML classifiers, we observed that the classifier that built using the Random Forests
(RF) technique outperformed the rest of the classifiers. Lastly, using this classifier and an instance-based transfer learning technique, we ranked a number of warnings that were aggregated from various open-source software projects. The experimental results show that the proposed approach to reduce the cost of the manual inspection of the false positive warnings outperformed the random ranking algorithm and was highly correlated with the ranked list that the optimal ranking algorithm generated.
|
555 |
FROM USERS TO CREATORS : HARNESSING THE POWER OF CITIZEN DEVELOPERSJohansson, Erik, Alexander, Hedlund January 2023 (has links)
This thesis investigates the concept of citizen developers, in which employees in an organisation take on the role of developers and create software using low-code tools. The primary focus of this report is to examine the necessary steps an organisation must take when introducing citizen developers, particularly regarding solution maintenance. The purpose, therefore, is to establish a foundation for utilising the concept of citizen developers in the workplace, bridging the gap between users and developers. Furthermore, this study aims to explore the organisational structure required to incorporate citizen developers and identify the advantages and drawbacks associated with an organisational structure tailored for citizen developers. Citizen developers possess distinct roles and responsibilities within an organisation, making them experts in their respective fields. This expertise renders citizen developers a valuable resource, as they develop solutions to enhance their own work efficiency and effectiveness. A case company has been selected for this study, and interviews have been conducted with multiple employees from the organisation. Through analysis of these interviews and a comprehensive literature review, a governance model has been developed. The governance model delineates the level of responsibility citizen developers should assume, and an evaluation of the model also uncovers potential advantages and drawbacks of introducing citizen developers within an organisation. Ultimately, this thesis aims to contribute to research on the subject of citizen developers, with particular emphasis on solution maintenance.
|
556 |
The Effect of Supporting AbbreviationResolution inCode Visualization Tools on CodeComprehensionEnglsperger Raswill, Sven, Byström, Anton January 2023 (has links)
Code comprehension is crucial for software development, as it ensures that code is easy to read andunderstand.Identifiers, such as variable-, function-, and methodnames playa significant role in code comprehension, and it isimportantthat they are written using meaningful names so thateveryone understands their usage. However, sometimes theycontainabbreviations that can have significantly differentexplanationsdepending on the context they are written in, which couldnegatively impact comprehension if the context is notfully known.Large code bases can be hard to navigate but with thehelp ofCode Visualization Tool (CVT) they can provide anoverviewthat helpfully displays the program’s flow and call graphs.Tohelp with abbreviations in large code bases this studywasconducted to investigate the use of Abbreviation Resolver(AR)techniques integrated into a CVT called Doxygen to seethe effecton identifier comprehension. A survey was performed ontwoopen-source projects with questions about thecomprehensionof different methods using their identifiers with bothresolvedidentifiers and abbreviated identifiers. The survey utilizedAR toanalyze participant ́s understanding of abbreviations todetermine it ́s usefulness. The findings suggest that the use ofa CVTwith an integrated AR helps in understanding uncommonanddomain-knowledge abbreviations which contribute toimprovedcode comprehension.
|
557 |
Framework and Analysis of Rate one and Turbo Coded MIMO-CDMA Communication SystemsKuguoglu, Akin Fahrettin 05 October 2006 (has links)
No description available.
|
558 |
Cloneless: Code Clone Detection via Program Dependence Graphs with Relaxed ConstraintsSimko, Thomas J 01 June 2019 (has links) (PDF)
Code clones are pieces of code that have the same functionality. While some clones may structurally match one another, others may look drastically different. The inclusion of code clones clutters a code base, leading to increased costs through maintenance. Duplicate code is introduced through a variety of means, such as copy-pasting, code generated by tools, or developers unintentionally writing similar pieces of code. While manual clone identification may be more accurate than automated detection, it is infeasible due to the extensive size of many code bases. Software code clone detection methods have differing degree of success based on the analysis performed. This thesis outlines a method of detecting clones using a program dependence graph and subgraph isomorphism to identify similar subgraphs, ultimately illuminating clones. The project imposes few constraints when comparing code segments to potentially reveal more clones.
|
559 |
Intrasentential vs. Intersentential Code Switching in Early and Late BilingualsZirker, Kelly Ann Hill 18 June 2007 (has links) (PDF)
Significant research has been done regarding the influence of age of acquisition (i.e., the age at which one is exposed to a second language (L2)) on L2 learning (e.g., Johnson & Newport, 1989; Bialystock & Hakuta, 1999). Some researchers have shown that bilinguals who have learned their second language early in life may differ in their fluency from bilinguals who learned their second language later in life (White & Genesee, 1996; Flege, 1999). Specifically, studies have suggested that bilinguals who have not acquired their L2 by puberty will never acquire native-like proficiency (Lenneberg, 1967); however, others claim that there is not one particular age after which native-like language proficiency cannot be achieved (Birdsong and Molis, 1998; Flege; 1999). However, little research has been done regarding the effect that age of acquisition has on how bilinguals code switch and what rules govern this code-switching. Early research by Poplack (1980) found that late (i.e., those who learned the L2 in adulthood), less fluent bilinguals had different code switching tendencies than early (i.e., those who learned L2 in childhood), more fluent bilinguals. Lipski (1985) suggested that early bilinguals will engage in intrasentential switching while late bilinguals will rarely do so. In the present study, 26 early and late Spanish-English bilingual speakers made acceptability judgments on intra- and intersentential switches. Results indicate that there is no statistical difference between early and late bilinguals when responding to whether a mix was good or bad, and how good or bad a mix was. There were, however, trends in the results which indicate that early bilinguals may respond faster to code switches than late bilinguals, suggesting that early and late bilinguals may process language differently. Further research is needed to confirm this finding.
|
560 |
Not by Commandment or Constraint: The Relationship Between the Dietary Behaviors of College-aged Latter-day Saints and Their Interpretation of the Word of WisdomJorgensen, Rick B. 10 July 2008 (has links) (PDF)
Latter-day Saints are recognized throughout the world by their peculiar dietary code known as the Word of Wisdom. It is accepted by the Church as revelation and contains both proscriptions and prescriptions. Different levels of interpretation, understanding and observance of the principles in the Word of Wisdom make it a unique Latter-day Saint religious health code. The study population consists of college-aged male and female members of The Church of Jesus Christ of Latter-day Saints from Brigham Young University and a Latter-day Saint student stake affiliated with Utah Valley University. A questionnaire was conceptualized, designed and validated over a one year rigorous process. The responses of 720 participants were evaluated using frequency distributions and measures of central tendency. The t statistic was used for testing the null hypothesis of equality of means between independent groups and computed using approximate degrees of freedom from Satterhwaite's approximation when the variances between the two groups are unequal. Logistic regression was used with the stepwise option to identify demographic variables associated with selected interpretation variables. Two-sided tests of significance were based on the 0.05 level against a null hypothesis of no association. Participants generally interpret and comply with the proscriptions in the Word of Wisdom. Participants can identify the prescriptions, but actual behaviors are far below scientific and government recommended minimums. The interpretations and behaviors of this sample provide valuable insights for those interested in the Word of Wisdom and its connection to the standards of the Church.
|
Page generated in 0.0731 seconds