Добірка наукової літератури з теми "Code source (informatique) – Esthétique"

Оформте джерело за APA, MLA, Chicago, Harvard та іншими стилями

Оберіть тип джерела:

Ознайомтеся зі списками актуальних статей, книг, дисертацій, тез та інших наукових джерел на тему "Code source (informatique) – Esthétique".

Біля кожної праці в переліку літератури доступна кнопка «Додати до бібліографії». Скористайтеся нею – і ми автоматично оформимо бібліографічне посилання на обрану працю в потрібному вам стилі цитування: APA, MLA, «Гарвард», «Чикаго», «Ванкувер» тощо.

Також ви можете завантажити повний текст наукової публікації у форматі «.pdf» та прочитати онлайн анотацію до роботи, якщо відповідні параметри наявні в метаданих.

Статті в журналах з теми "Code source (informatique) – Esthétique":

1

Couture, Stéphane. "L'écriture collective du code source informatique." Revue d'anthropologie des connaissances 6, 1, no. 1 (2012): 21. http://dx.doi.org/10.3917/rac.015.0061.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
2

Ramaut-Chevassus, Béatrice. "« L’évolution historique » et ses marges : éléments pour une lecture critique de Cinquante ans de modernité musicale de Deliège." Circuit 16, no. 1 (February 1, 2010): 65–72. http://dx.doi.org/10.7202/902384ar.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
Анотація:
Célestin Deliège, en témoin de son temps, livre un monument, une source première, une histoire des grammaires où se croisent aussi esthétique et politique. Le concept central d’évolution historique se rapporte à la « recherche musicale », à la « recherche sur le code », aux « efforts de recherche de langage ». Écrire l’histoire revient alors à établir un « recensement de théories intentionnelles, prescriptives, et de poétiques nouvelles ». Les marges quant à elles évoquent la glose musicologique mais surtout les nombreux compositeurs placés en marge de cette évolution historique, de ce trajet fléché, de Darmstadt à l’Ircam. Cette dichotomie reflète donc celle que C. Deliège pose lui-même. L’article essaie de montrer qu’il existe une diversité plus grande de forces en présence dans la modernité musicale de la seconde moitié du siècle dernier.
3

Fokam, Christian, Franklin Kanko, Rolland Djomi, Bienvenu Kenmeugne, Kanmogne Abraham, and Guy Ntamack. "Implantation by an implicit approach of an elastoplastic behaviour law in the finite element cast3m code." Revue Africaine de la Recherche en Informatique et Mathématiques Appliquées Volume 37 - 2022 (August 30, 2022). http://dx.doi.org/10.46298/arima.7632.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
Анотація:
soumission à Episciences This paper is dedicated to the implementation of a law of mechanical behavior in the finite element software Cast3M using an open source code generator named Mfront. To do so, an elastoplastic behaviour model has been chosen from existing laws in the literature. Following an implicit discretization, a hardware library corresponding to the isotropic and kinematic strain-hardening model is generated using Mfront. The UMAT computer interface is used to build the library in Cast3M. A validation of the approach has been carried out by comparing the numerical results obtained with the generated hardware library and the equivalent pre-existing library in Cast3M. Simulations in the case of a tensile bar and a perforated plate show almost identical results Ce papier est dédié à l’implantation d’une loi de comportement mécanique dans le logiciel éléments finis Cast3M à l’aide d’un générateur de code open source nommé Mfront. Pour ce faire, un modèle de comportement élasto-plastique a été choisi à partir des lois existantes dans la littérature. Suivant une discrétisation implicite, une bibliothèque matérielle correspondant au modèle de CHABOCHE à écrouissage isotrope et cinématique non linéaire est générée grâce à Mfront. L’interface informatique UMAT est utilisée pour construire la bibliothèque dans Cast3M. Une validation de l’approche a été menée en comparant les résultats numériques obtenus entre la bibliothèque matérielle générée et la bibliothèque équivalente préexistante dans Cast3M. Les simulations dans le cas d’une barre en traction et une plaque trouée montrent des résultats quasi identiques
4

Brestoiu, Victor. "Importing Data from Shapefiles and Pathfinding along Generated Nodes." Journal of Student Science and Technology 10, no. 1 (August 19, 2017). http://dx.doi.org/10.13034/jsst.v10i1.126.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
Анотація:
The Shapefile format is a particular standard for storing GIS (Geographic Information System) data, designed and developed by the Environmental Systems Research Institute (ESRI). The purpose of this project was to extract the binary data describing the City of Lethbridge from ESRI Shapefiles, and then to demonstrate an ability to utilize and modify this data. The utilization component centered on pathfinding and visually drawing the data, while the modification component involved the creation of a new, human-readable file type which contained the processed Shapefile data. These goals were accomplished by converting the Shapefile data into custom ‘Node’ objects in C++ code. These nodes form the basis for further development, as more attributes can easily be added to them as needed. The implemented pathfinding is a matter of picking a starting and ending node, and travelling across their adjacent nodes until a shortest path is found, a search algorithm called A* (read: A Star). Although further work is necessary for a robust product, this platform is already highly modular and is freely available open source. Le format Shapefile est un standard particulier pour le stockage des données du système d’information géographique (SIG), conçu et développé par l’Institut de Recherche des Systèmes Environnementaux (ESRI). Le but de ce project était d’extraire les données binaires qui décrivent la ville the Lethbridge des Shapefiles ESRI, et de démontrer que ces données peuvent être utilisées et modifiées. Le composant d’utilisation était centré sur la navigation et la visualization des données, tandis que le composant de modification a demandé la création d’un nouveau format lisible aux humains qui contient les données Shapefile traitées. Ces buts ont été accomplies en convertissant l’information Shapefile en objets ‘nœud’ personnalisés dans le langage de programmation C++. Ces nœuds forment la base pour les développements plus approfondis, car plus d’attributs peuvent être facilement ajoutés aux nœuds lorsque nécessaire. Le système de navigation implémentée est alors une question de choisir un nœud de départ et de terminaison, puis voyager à travers leurs nœuds adjacents jusqu’à la découverte de la route la plus courte. Ce procès informatique est l’algorithme de recherche A* (lu : A Star). Quoi qu’encore plus de travail soient nécessaire pour le développement d’un produit able, cette plateforme est déjà très modulaire et disponible à l’open-source.
5

Giordano, Christian. "Nation." Anthropen, 2017. http://dx.doi.org/10.17184/eac.anthropen.048.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
Анотація:
La meilleure définition de la nation est sans doute celle que propose Benedict Anderson lorsqu’il parle de communauté politique imaginée (Anderson, 1983). Ce faisant Anderson met en doute la validité de certaines caractéristiques mystificatrices, quoique considérées comme objectives, attachées au concept de nation. Cette critique s’adresse à Ernest Gellner et à Eric J. Hobsbawn qui eux mettent en évidence l’invention et donc le caractère mystificateur attaché à l’idée de nation (Gellner, 1983, Hobsbawm and Ranger, 1983). La posture théorique spécifique qu’adoptent Gellner et Hobsbawn ne saurait surprendre, car le premier est issu d’un terreau philosophique et méthodologique de type néopositiviste, tandis que Hobsbawm est notoirement associé à un marxisme modéré. Anderson, avec son idée de nation comme communauté politique imaginée, se trouve être très proche des positions de type interprétatif. Il évoque de ce fait indirectement Max Weber selon lequel il est fondamental de reconstruire le sens que les acteurs eux-mêmes, en tant que membres d’une société, donnent à leur comportement. Lorsque Anderson définit la nation comme une communauté politique imaginée, il insiste sur le fait que les membres individuels de ces groupes sociaux, bien que ne se connaissant pas personnellement et que n’ayant fort probablement pas l’occasion de se rencontrer durant leur vie, partagent le même sentiment d’appartenance (Anderson, 1983: 15). La nation est imaginée comme une entité circonscrite et par conséquent démographiquement définie, même si ses frontières peuvent varier en fonction de circonstances historiques particulières. En fait une nation peut s’étendre ou se rétrécir du point de vue de son territoire comme c’est le cas de certaines nations d’Europe centrale et orientale (Hongrie, Roumanie, Bulgarie etc.). L’essentiel de ce caractère limité du point de vue structurel et démographique réside cependant dans le fait qu’aucune nation ne souhaite inclure l’humanité entière. En reprenant une réflexion de Max Weber, on peut remarquer que la nation est imaginée comme une communauté partiellement ouverte vers l’extérieur parce qu’il est inacceptable que n’importe quel membre du genre humain en fasse partie. La nation est en outre imaginée comme une communauté d’égaux, liés entre eux par d’étroites relations de fraternité et de parenté réelle, rituelle ou symbolique, même si cela ne correspond pas à la réalité socio-structurelle et à la dimension de la société. Car dans toute société nationale il existe d’évidentes inégalités sociales et des divisions entre couches, classes, castes ou milieux. Enfin la nation est imaginée comme étant souveraine, à savoir comme une communauté politiquement indépendante, même si ce n’est pas toujours le cas. De fait il existe encore aujourd’hui des nations sans État mais qui aspirent à l’indépendance et donc à se constituer en société souveraine pourvue d’un État propre. Le débat au sujet du rapport entre nation et nationalisme est encore vif. Anthony D. Smith pense que la nation précède le nationalisme et que ce dernier est la conséquence logique de l’émergence des nations même dans des époques fort lointaines (Smith, 1998). A cause de son point de vue, Smith s’est vu reprocher d’être primordialiste dans la mesure où il voit l’origine de la nation dans des temps archaïques. Gellner pour sa part a pris le contrepied de cette perspective, en mettant en évidence le fait que la nation est un phénomène social issu de la modernité occidentale, grâce aux inventions industrielles et en premier lieu grâce à l’imprimerie, mais également à son nouveau système économique capitaliste allant de pair avec l’émergence de classes entrepreneuriales à la recherche de nouvelles ressources primaires et de nouveaux marchés (Gellner 1983) Les nouveaux États-nations issus de ces mutations ont obtenu leur légitimité grâce à la rhétorique nationaliste. C’est donc le nationalisme qui génère l’idée de nation et non l’inverse, ainsi que le prétendent la majorité des auteurs de tendance primordialiste. Le nationalisme est l’instrument idéologique essentiel pour les nations sur lesquelles viennent se fonder les nouveaux États, en tant qu’institutions politiques de la modernité. Selon la thèse de Gellner, le nationalisme représente la formule politique nécessaire pour justifier l’exercice du pouvoir de la part des classes politiques dans les États-nations (Mosca 1966). L’organisation politique spécifique de la nation en tant que communauté imaginée est l’État-nation qui trouve sa source dans l’Europe de la fin du 18e siècle. Toutefois il serait faux de parler d’un modèle d’État-nation universel. On peut en effet distinguer deux types idéaux d’État-nation, à savoir le modèle français et le modèle allemand (Brubaker 1992). On a souvent observé que le modèle français de l’État-nation est fondé sur l’idée de nation politique. Selon cette vue l’État-nation serait le résultat d’un pacte politique, voire d’un contrat entre les citoyens de cet État-nation. C’est dans ce sens que Jules Renan a défini la nation et son organisation politique comme le résultat d’un plébiscite de tous les jours. Il s’agit de souligner par cette formule que la nation française et son État consistent en théorie en une communauté élective. Ce type d’État-nation est donc une patrie ouverte au sein de laquelle les différences religieuses et ethniques n’ont, du moins en théorie, aucune importance (Dumont 1991: 25). On sait bien que cette conception non ethnique de la nation, postulée par la Révolution française a été modifiée plusieurs fois jusqu’à présent. En fait les Constitutions de 1791 et 1793 garantissaient la citoyenneté à toute personne étrangère habitant la France et par conséquent il n’était pas nécessaire d’avoir acquis l’identité française. Autrement dit il était possible d’obtenir la citoyenneté sans avoir acquis auparavant la nationalité, à savoir avant d’adopter certains traits culturels particuliers et certains comportements passant pour typiquement français (Weil, 2002). La séquence citoyenneté-nationalité sera pourtant inversée déjà au 19e siècle avec l’introduction de certains prérequis culturels comme la connaissance de la langue nationale, sans compter l’adoption d’un style de vie considéré comme français. Bien qu’affaiblie par les diverses modifications du code de la nationalité dans les années quatre-vingt-dix (Loi Pasqua de 1993 et Loi Guigou de 1998), l’idée originale de citoyenneté n’a jamais vraiment été abandonnée jusqu’à maintenant. L’État français se fonde sur une conception subjective, voire individualiste de la nation en fonction de laquelle tout étranger habitant l’hexagone peut encore aujourd’hui devenir citoyen français grâce au processus d’assimilation. Les différences, les identités et les frontières ethnoculturelles ne sont jamais définitivement insurmontables. Du moins en théorie, tout être humain est intrinsèquement capable de devenir membre de la nation. Le revers de la médaille est que, en fait, l’État-nation français a toujours eu de grandes difficultés à reconnaître les minorités ethnoculturelles. Ces dernières furent systématiquement assimilées de force durant tout le 19e siècle et sont aujourd’hui encore ignorées. La conception allemande de la nation a été définie comme ethnique. Il en est issu un modèle d’État-nation fondé sur la généalogie et sur l’origine commune de ses citoyens. L’idée de nation et partant d’État-nation, a souvent été mise en relation avec le concept de Volk, en tant que peuple synonyme de nation. Toutefois durant le 18e siècle la notion de Volk ne possédait pas encore cette connotation ethnique qui, selon certains auteurs, devient « l’explosif le plus dangereux des temps modernes » (Finkielkraut, 1987: 56 ss.). L’ethnicisation du Volk a lieu au milieu du 19e siècle grâce à un important groupe d’intellectuels parmi lesquels il faut compter des politiciens, des artistes, des juristes, des philosophes, des historiens, des folkloristes etc. Cependant, la véritable transformation politico-légale intervient avec l’introduction d’un concept restrictif du jus sanguinis (Pierre-Caps 1995: 112). Le nationalisme radical de l’après Première Guerre mondiale a favorisé l’ethnicisation graduelle du modèle allemand qui a connu son apogée durant le national-socialisme avec les lois de Nürenberg dans lesquelles la racialisation du Volk et de l’État-nation allemand est légalisée. Cependant, après le Deuxième Guerre mondiale, dans l’Allemagne divisée, la République fédérale allemande (RFA) aussi bien que la République démocratique allemande (RDA) ont conservé les marques de la conception unitaire et ethnique du Volk et du jus sanguinis bien visibles, même après la réunification de 1990. Il est symptomatique à cet égard que les descendants d’Allemands « rentrés » de l’Europe orientale et de l’ex-URSS aient obtenu la nationalité, grâce à l’idée de Volk et de jus sanguinis, en un rien de temps, au contraire des millions d’immigrés, notamment d’origine turque, qui étaient confrontés aux plus grandes difficultés sur le chemin de l’acquisition de la nationalité allemande. On n’observe un léger assouplissement de l’ethnicisation qu’après 1999, principalement durant le gouvernement du chancelier social-démocrate Gehrard Schröder. Ce n’est cependant qu’aux enfants d’immigrés nés en Allemagne que les lois adoptées par ce gouvernement ont accordé certaines facilités pour obtenir la nationalité allemande Les deux prototypes cités ont inspiré de nombreux États-nations, européens ou non, ce qui en a fait des modèles de référence au niveau mondial. Le modèle français comme le modèle allemand poursuivent tous les deux le projet d’une nation cherchant à se procurer une organisation politique - l’État-nation - capable de garantir une homogénéité culturelle qui, à son tour, garantit la stabilité politique. La différence se trouve dans les deux manières de procéder pour y parvenir. Le modèle français, étant fondé sur le caractère subjectif et individualiste de la nation, rend accessible à l’étranger, du moins en principe, la voie de l’acculturation et par conséquent de sa pleine intégration et inclusion dans la communauté nationale grâce notamment à l’institution du jus soli. Le modèle allemand en revanche, est fondé sur le caractère objectif et collectif de la nation, selon une vision essentialiste et très rigide de l’appartenance ethnique, soumise au jus sanguinis. L’appartenance à la nation allemande comporte, du fait qu’elle est extrêmement restrictive, une forte tendance à l’exclusion de qui ne possède pas les requis ethniques. Les deux modèles ont tous deux connu depuis toujours de grandes difficultés à reconnaître la diversité culturelle, et ils présentent par conséquent une certaine incompatibilité avec la pluriethnicité et la multiculturalité. Cela n’est pas surprenant puisque les deux modèles se proposent de réaliser le projet d’une nation, d’un État souverain, d’un territoire monoethnique. Pour un tel projet la diversité ethnico-culturelle est forcément dysfonctionnelle. Dans les années quatre-vingts et quatre-vingt-dix du siècle passé, dans le cadre d’une globalisation galopante, plus apparente d’ailleurs que réelle, et avec l’ouverture des frontières qui suivit la chute de l’Union soviétique, de nombreux auteurs bien connus, en sciences sociales comme en anthropologie, pensaient que l’idée de nation appartenait davantage au passé qu’au présent ou au futur. On croyait que les sociétés étaient devenues transnationales, à savoir qu’elles deviendraient plus fluides, ou comme le remarquait le philosophe Zygmunt Bauman, qu’elles allaient proprement se liquéfier (Bauman 2000) C’est la notion de transnationalisme qui apparaît le plus souvent pour indiquer la capacité personnelle ou collective de dépasser les barrières culturelles et les frontières nationales et de passer d’une appartenance et d’une identité à l’autre avec la plus grande facilité. Ceux qui adoptent l’approche du transnationalisme considèrent ainsi la société comme un œcoumène global dans lequel les individus aux identités devenues désormais nomades, vivent et interagissent dans des milieux cosmopolites (ceux que l’on appelle les ethnoscapes) marqués par l’hybridation et la créolisation culturelle (Appadurai 1996). Cependant, cette vision suggestive et optimiste, inhérente à l’utilisation du préfixe trans, ne semble adéquate que pour l’analyse de certains groupes minoritaires au statut social élevé, comme par exemple certaines élites migrantes dîtes aussi expats (managers allemands à Tokyo, opérateurs financiers américains à Hong Kong, correspondants de presse au Moyen-Orient, spécialistes en informatique indiens à la Silicon Valley, etc.). Vouloir étendre à la société globale cet aspect spécifique de la complexité culturelle, voire même lui donner une orientation normative, serait entreprendre une nouvelle et dangereuse réification de la vision utopique du métissage universel. En fait, la réalité est bien différente de ce scénario global si optimiste. Les guerres en ex-Yougoslavie ont mis en évidence déjà dans les années quatre-vingt-dix du siècle dernier que l’idée de nation était encore importante et que la fin de l’histoire évoquée par Francis Fukuyama (Fukuyama 1992), comme réalisation d’une unique société globale sans différences nationales, était bien loin de la réalité. A vrai dire les deux premières décennies du vingt-et-unième siècle ont vu, surtout en Europe, le retour inattendu de la nation avec la montée des mouvements régionalistes d’une part et du populisme nationaliste d’autre part, ce que l’on peut interpréter comme deux expressions et stratégies de la résistance contre certaines conséquences des processus de globalisation. Les premiers ont réinterprété le concept de nation pour des revendications régionales à l’intérieur d’entités pluriculturelles de vieille date (Catalogne et Ecosse s’opposant respectivement à l’Espagne et à la Grande Bretagne). Les seconds utilisent en revanche le concept de nation pour mobiliser la population contre les immigrants et les réfugiés, ces derniers étant considérés par les mouvements populistes comme une menace contre l’intégrité nationale.

Дисертації з теми "Code source (informatique) – Esthétique":

1

Depaz, Pierre. "The role of aesthetics in understanding source code." Electronic Thesis or Diss., Paris 3, 2023. http://www.theses.fr/2023PA030084.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
Анотація:
Cette thèse examine comment les propriétés esthétiques du code source permettent la représentation d’espaces sémantiques programmés, et leur implication dans la compréhension de la fonction de processus computationels. Se basant sur un corpus de programmes-textes et des discours les accompagnant, nous montrons en quoi l’esthétique du code source est contingente d’autres domaines esthétiques littéraires, architecturaux et mathématiques, tout en demeurant dépendante du contexte au sein duquel circulent les programmes-textes, et se transformant à différentes échelles de lecture. En particulier, nous montrons que les propriétés esthétiques du code source permettent une certaine expressivité, en vertu de leur appartenance à une interface linguistique partagée et dynamique permettant de calculer le monde. Enfin, nous montrons comment une telle interface, organisée formellement, favorise la compression sémantique et l’exploration spatiale
This thesis investigates how the aesthetic properties of source code enable the representation of programmed semantic spaces, in relation with the function and understanding of computer processes. By examining program texts and the discourses around it, we highlight how source code aesthetics are both dependent on the context in which they are written, and contingent to other literary, architectural, and mathematical aesthetics, varying along different scales of reading. Particularly, we show how the aesthetic properties of source code manifest expressive power due to their existence as a dynamic, functional, and shared computational interface to the world, through formal organizations which facilitate semantic compression and spatial exploration
2

Jaeger, Julien. "Source-to-source transformations for irregular and multithreaded code optimization." Versailles-St Quentin en Yvelines, 2012. http://www.theses.fr/2012VERS0015.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
Анотація:
Dans cette thèse, nous montrons que les optimisations source-à-source sont un moyen efficace pour générer des programmes irréguliers ou parallèles performants à partir d'une implémentation. Après avoir présenté l'évolution des architectures des processeurs, nous proposons deux méthodes distinctes. La première pour extraire des codelets d'un programme irréguliers, les optimiser et prédire les performances du programme modifié. L'autre pour limiter l'impact des problèmes d'alignements dus à la vectorisation ou aux conflits de bancs. Nous présentons aussi différentes techniques de parallélisation, l'une générant des codelets parallèles, l'autre ordonnançant un graphe de taches sur un système hétérogène
In this dissertation, we show that source-to-source optimization is an efficient method to generate a high performance program for irregular and heterogeneous code from a basic implementation. After describing the evolution of processor architectures, we provide two methods. The first one extract codelets from an irregular code, optimizing these codelets, and predicting the performance of the modified program. The other one limits the impact of alignment issues due to vectorization or bank conflicts. We also present two parallelization technics, one generating parallel codelets, the other scheduling a task graph on an heterogeneous system
3

Lebras, Youenn. "Code optimization based on source to source transformations using profile guided metrics." Thesis, Université Paris-Saclay (ComUE), 2019. http://www.theses.fr/2019SACLV037/document.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
Анотація:
Le but est de développer d'un cadriciel permettant de définir les transformations de code source que nous jugeons judicieuses et sur la base de métriques dynamiques.Ce cadriciel sera ensuite intégré à la suite d'outil MAQAO, développée à l'UVSQ/ECR.Nous présentons des transformations source-à-source automatique guidées par l'utilisateur ansi que par les métriques dynamiques qui proviennent des différents outils d'analyse de MAQAO, afin de pouvoir travailler à la fois sur des objets sources et binaires.Ce cadriciel peut aussi servir de pré-processeur pour simplifier le développement en permettant d'effectuer certaines transformations simples mais chronophage et sources d'erreurs (i.e.: spécialisation de boucle ou fonction)
Our goal is to develop a framework allowing the definition of source code transformations based on dynamic metrics.This framework be integrated to the MAQAO tool suite developed at the UVSQ / ECR.We present a set of source-to-source transformations guidable by the end user and by the dynamic metrics coming from the various MAQAO tools in order to work at source and binary levels.This framework can also be used as a pre-processor to simplify the development by enabling to perform cleanly and automatically some simple but time-consuming and error-prone transformations (i.e .: loop/function specialization, ...)
4

Chilowicz, Michel. "Recherche de similarité dans du code source." Phd thesis, Université Paris-Est, 2010. http://tel.archives-ouvertes.fr/tel-00587628.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
Анотація:
La duplication de code source a de nombreuses origines : copie et adaptation inter-projets ou clonage au sein d'un même projet. Rechercher des correspondances de code copié permet de le factoriser dans un projet ou de mettre en évidence des situations de plagiat. Nous étudions des méthodes statiques de recherche de similarité sur du code ayant potentiellement subi des opérations d'édition telle que l'insertion, la suppression, la transposition ainsi que la factorisation et le développement de fonctions. Des techniques d'identification de similarité génomique sont examinées et adaptées au contexte de la recherche de clones de code source sous forme lexemisée. Après une discussion sur des procédés d'alignement de lexèmes et de recherche par empreintes de n-grams, est présentée une méthode de factorisation fusionnant les graphes d'appels de fonctions de projets au sein d'un graphe unique avec introduction de fonctions synthétiques exprimant les correspondances imbriquées. Elle utilise des structures d'indexation de suffixes pour la détermination de facteurs répétés. Une autre voie d'exploration permettant de manipuler de grandes bases indexées de code par arbre de syntaxe est abordée avec la recherche de sous-arbres similaires par leur hachage et leur indexation selon des profils d'abstraction variables. Des clones exacts de sous-arbres de forte proximité dans leurs arbres d'extraction peuvent alors être consolidés afin d'obtenir des correspondances approchées et étendues. En amont et en aval de la recherche de correspondances, des métriques de similarité sont définies afin de préselectionner les zones d'examen, affiner la recherche ou mieux représenter les résultats
5

Habchi, Sarra. "Understanding mobile-specific code smells." Thesis, Lille 1, 2019. http://www.theses.fr/2019LIL1I089.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
Анотація:
Au cours des dernières années, les applications mobiles sont devenues indispensables dans notre vie quotidienne. Ces applications ont pour particularité de fonctionner sur des téléphones mobiles, souvent limités en ressources (mémoire, puissance de calcul, batterie, etc). Ainsi, il est impératif de surveiller leur code source afin de s'assurer de l’absence de défauts de code, c.à.d., des pratiques de développement qui dégradent la performance. Plusieurs études ont été menées pour analyser les défauts de code des applications mobile et évaluer leur présence et leur impact sur la performance et l’efficience énergétique. Néanmoins, ces études n’ont pas examiné les caractéristiques et les motifs de ces défauts alors que ces éléments sont nécessaires pour la compréhension et la résolution de ce phénomène. L’objectif de cette thèse est de répondre à ce besoin en apportant des connaissances sur les défauts de code mobile. Pour cela, nous avons mené diverses études empiriques à caractère quantitatif et qualitatif pour comprendre ce phénomène et ses possibles résolutions. Les résultats de ces études montrent que les défauts de code mobile ne sont pas dus au pragmatisme, à la priorisation, ou aux comportements individuels des développeurs. En effet, l’essentielle raison derrière l’accumulation des défauts de code est l’ignorance générale de ces pratiques parmi les développeurs. Nos études ont aussi montré que le linter peut être un outil adéquat pour l’analyse des défauts de code et l’amélioration des performances. Cependant, certains défauts nécessitent une analyse dynamique pour une détection plus précise. Enfin, nous avons montré qu’il existe un écart entre les défauts de code étudiés par la communauté scientifique et les réelles mauvaises pratiques adoptées par les développeurs d’applications mobiles. Pour remédier à cet écart, nous recommandons à la communauté d’impliquer les développeurs dans le processus d’identification de défauts de code
Object-Oriented code smells are well-known concepts in software engineering. They refer to bad design and development practices commonly observed in software systems. With the emergence of mobile apps, new classes of code smells have been identified to refer to bad development practices that are specific to mobile platforms. These mobile-specific code smells differ from object-oriented ones by focusing on performance issues reported in the documentation or developer guidelines. Since their identification, many research works approached mobile-specific code smells to propose detection tools and study them. Nonetheless, most of these studies only focused on measuring the performance impact of such code smells and did not provide any insights about their motives and potential solutions. In particular, we lack knowledge about (i) the rationales behind the accrual of mobile code smells, (ii) the developers’ perception of mobile code smells, and (iii) the generalizability of code smells across different mobile platforms. These lacks hinder the understanding of mobile code smells and consequently prevent the design of adequate solutions for them. Therefore, we conduct in this thesis a series of empirical studies with the aim of understanding mobile code smells. First, we study the expansion of code smells in different mobile platforms. Then, we conduct a large-scale study to analyze the change history of mobile apps and discern the factors that favor the introduction and survival of code smells. To consolidate these studies, we also perform a user study to investigate developers’ perception of code smells and the adequacy of static analyzers as a solution for coping with them. Finally, we perform a qualitative study to question the established foundation about the definition and detection of mobile code smells. The results of these studies revealed important research findings. Notably, we showed that pragmatism, prioritization, and individual attitudes are not relevant factors for the accrual of mobile code smells. The problem is rather caused by ignorance and oversight, which are prevalent among mobile developers. Furthermore, we highlighted several flaws in the code smell definitions that are currently adopted by the research community. These results allowed us to elaborate some recommendations for researchers and tool makers willing to design detection and refactoring tools for mobile code smells. On top of that, our results opened perspectives for research works about the identification of mobile code smells and development practices in general
6

Chaabane, Rim. "Analyse et optimisation de patterns de code." Paris 8, 2011. http://www.theses.fr/2011PA084174.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
Анотація:
Our work is performed in the context of a financial company that develops and maintains legacy software. This software has been existing for more than twenty years, it was written in a proprietary, procedural and 4GL language called ADL (or Application Development Language). This software was initially developed for VMS system and deals with old generation of DBMS. For commercial reasons, the software has been ported to UNIX systems and to new RDBMS; Oracle and Sybase. It has also been extended to offer web interfaces. This legacy software has to face some new challenges as databases grow. During these last 20 years, some phenomenons like the merging of two companies, make data grow up to more than 1Terabyte and will reach 1Petabyte in a few years. In these new contexts, the ADL language shows limits to handle such a mass of data. Some patterns of code with database access have been suspected to be responsible for important decrease in performance. Our work consists in detecting all the instances of a suspected pattern of code in the source code or procedures, and identifying the instances of code, the most often called and the most time consuming. We developed a first tool called Adlmap, which is based on static analysis. It detects all DB accesses and flags those that are suspected patterns of code. The second tool we developed, named Pmonitor, is based on hybrid analysis; a combination of static and dynamic analysis. We use it to highlight inefficient code patterns instances
Notre travail consiste en l’analyse et l’optimisation du code source d’applications de type système hérité (ou legacy system). Nous avons particulièrement travaillé sur un logiciel, appelé GP3, qui est développé et maintenu par la société de finances Sungard. Ce logiciel existe depuis plus d’une vingtaine d’années, il est écrit en un langage propriétaire, procédural et de 4ème génération, appelé ADL (ou Application Development Language). Ce logiciel à été initialement développé sous VMS et accédait à des bases de données d’ancienne génération. Pour des raisons commerciales, il fut porté sous UNIX et s’adresse maintenant à des SGBD-R de nouvelles génération ; Oracle et Sybase. Il a également été étendu de manière à offrir une interface web. Ce système hérité doit maintenant faire face à de nouveaux défis, comme la croissance de la taille des bases de données. Durant ces 20 dernières années, nous avons pu observer la fusion de plusieurs entreprises, ce qui implique la fusion de bases de données. Ces dernières peuvent dépasser les 1 Téra de données et plus encore sont à prévoir à l’avenir. Dans ce nouveau contexte, le langage ADL montre des limites à traiter une aussi importante masse de données. Des patterns de code, désignant des structures d’accès en base, sont suspectés d’être responsables de dégradations des performances. Notre travail consiste à détecter toutes les instances de patterns dans le code source, puis d’identifier les instances les plus consommatrices en temps d’exécution et en nombre d’appels. Nous avons développé un premier outil, nommé Adlmap, basé sur l’analyse statique de code, et qui permet de détecter toutes les accès en base dans le code source. Les accès en base identifiés comme patterns de code sont marqués. Le second outil que nous avons développé, nommé Pmonitor, est basé sur une analyse hybride ; combinaison d’analyses statique et dynamique. Cet outil nous permet de mesurer les performances des patterns de code et ainsi, d’identifier les instances les moins performantes
7

Oumaziz, Mohamed Ameziane. "Cloning beyond source code : a study of the practices in API documentation and infrastructure as code." Thesis, Bordeaux, 2020. http://www.theses.fr/2020BORD0007.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
Анотація:
Lors du développement de logiciels, la maintenance et l'évolution constituent une partie importante du cycle de vie du développement représentant 80% du coût et des efforts globaux.Au cours de la maintenance, il arrive que les développeurs aient copier-coller des fragments de code source afin de les réutiliser. Une telle pratique, apparemment inoffensive, est plus fréquente qu'on ne le pense.Communément appelés «clones» dans la littérature, ces doublons de code source sont un sujet bien connu et étudié en génie logiciel.Dans cette thèse, nous visons à mettre en lumière les pratiques du copier-coller sur les artefacts logiciels.En particulier, nous avons choisi de concentrer nos contributions sur deux types d'artefacts logiciels : Documentation d'API et fichiers de compilation (c.-à-d. Dockerfiles). Pour les deux contributions, nous suivons une méthodologie d'étude empirique commune.Tout d'abord, nous montrons que les documentations d'API et les fichiers de construction de logiciels (c.-à-d. Dockerfiles) sont confrontés à des problèmes de doublons et que de tels doublons sont fréquents.Deuxièmement, nous identifions les raisons derrière l'existence de ces doublons.Troisièmement, nous effectuons une enquête auprès de développeurs expérimentés et de constatons qu'ils sont conscients de ces doublons, et qu'ils les rencontrent souvent tout en ayant un avis mitigé sur eux.Enfin, nous montrons que les deux artefacts logiciels manquent de mécanismes de réutilisation pour faire face aux doublons, et que certains développeurs ont même recours à des outils ad-hoc pour les gérer
When developing a software, maintenance and evolution represents an important part of the development's life-cycle, making up to 80% of the overall cost and effort.During the maintenance effort, it happens that developers have to resort to copying and pasting source code fragments in order to reuse them.Such practice, seemingly harmless is more frequent than we expect.Commonly referred to as ``clones'' in the literature, these source code duplicates are a well-known and studied topic in software engineering.In this thesis, we aim at shedding some light on copy-paste practices on software artifacts. In particular, we chose to focus our contributions on two specific types of software artifacts: API documentation and build files (i.e. Dockerfiles).For both contributions, we follow a common empirical study methodology. First, We show that API documentations and software build files (i.e. Dockerfiles) actually face duplicates issues and that such duplicates are frequent.Secondly, we identify the reasons behind the existence of such duplicates.Thirdly, We perform a survey on experimented developers and find that they're aware of such duplicates, frequently face them. But still have a mixed opinion regarding them.Finally, We show that both software artifacts lack reuse mechanisms to cope with duplicates, and that some developers even resort to ad-hoc tools to manage them
8

Le, Dilavrec Quentin. "Precise temporal analysis of source code histories at scale." Electronic Thesis or Diss., Université de Rennes (2023-....), 2024. http://www.theses.fr/2024URENS003.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
Анотація:
Les systèmes informatiques jouent un rôle central dans les sociétés contemporaines, se développant et s'adaptant continuellement pour répondre aux nouvelles exigences et pratiques. Au fil des ans, grâce à des efforts de développement importants et à de nombreuses mises à jour du code, ces systèmes peuvent accumuler des millions de lignes de code. En outre, ils présentent des caractéristiques de complexité, de configurabilité et de multilinguisme, et s'appuient sur des pipelines de construction vastes et complexes pour cibler de multiples plateformes et matériels. Ce qui nécessite des analyses de code approfondies pour maintenir le code, contrôler la qualité et détecter les erreurs. L'analyse automatisée du code est un processus coûteux en ressources, principalement conçu pour examiner une seule version d'un logiciel. Actuellement, les méthodes d'analyse de code existantes peinent à évaluer efficacement plusieurs versions de logiciels au cours d'une seule analyse, ce qui prend beaucoup de temps. Ce type d'analyse de code, qui examine le code d'un logiciel à plusieurs moments de son existence, est appelé "analyse de code temporel". Les analyses temporelles de code ouvrent de nouvelles perspectives pour l'amélioration de la qualité et de la fiabilité des logiciels. Par exemple, de telles analyses permettraient d'étudier pleinement la façon dont le code et ses tests évoluent conjointement dans l'historique du code. Pour surmonter les différents défis qui empêchent de telles analyses de fonctionner à grande échelle, cette thèse apporte les contributions suivantes. Cette thèse démontre d'abord la faisabilité de l'analyse des changements de code source pour identifier les relations de causalité entre les changements (c'est-à-dire les co-évolutions). La deuxième contribution porte sur l'efficacité du calcul des modifications fines et de leurs impacts à partir de l'historique des codes. Pour ce faire, il a fallu revoir la manière dont les historiques des codes sources sont représentés et traités, en tirant parti de la nature structurée du code et de sa stabilité dans le temps. Cela a conduit à une approche, appelée HyperAST, qui calcule de manière incrémentale les dépendances référentielles. La troisième contribution est une nouvelle technique de différenciation structuré de code pour différencier les commits. Cette dernière contribution, appelée HyperDiff, complète HyperAST pour comparer les commits à grande échelle
Software systems play a central role in contemporary societies, continuously expanding and adjusting to meet emerging requirements and practices. Over the years, through extensive development efforts and numerous code updates, those systems can accumulate millions of lines of code. Moreover, they exhibit complexity, configurability, and multi-language characteristics, relying on large and complex build pipelines to target multiple platforms and hardware. This requires extensive code analyzes to maintain code, monitor quality and catch bugs. Automated code analysis is a resource-intensive process primarily designed to examine a single specific software version. Presently, existing code analysis methods struggle to efficiently evaluate multiple software versions within a single analysis, taking up an impractical amount of time. This type of code analysis, which scrutinizes software code over several moments of its existence, is referred to as "temporal code analysis." Temporal code analyses open new opportunities for improving software quality and reliability. For example, such analyses would permit to fully study how code and their tests co-evolve in a code history. To overcome the different challenges that prevent such analyses to run at large scale, this thesis makes the following contributions. This thesis first demonstrates the feasibility of analyzing source code changes to identify causality relations between changes (ie. co-evolutions). The second contribution addresses the efficiency of computing fine-grained changes and their impacts from code histories. This required to revisit how source code histories are represented and processed, leveraging the structured nature of code and its stability through time. It led to an approach, called HyperAST, that incrementally computes referential dependencies. The third contribution is a novel code differencing technique for diffing commits. This last contribution, called HyperDiff, complements HyperAST to compare commits at scale
9

Zhang, Xu. "Analyse de la similarité du code source pour la réutilisation automatique de tests unitaires à l'aide du CBR." Thesis, Université Laval, 2013. http://www.theses.ulaval.ca/2013/29841/29841.pdf.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
Анотація:
Réutiliser les tests unitaires automatiquement est une solution pour faciliter le travail de certains développeurs. Dans notre recherche, nous proposons une ébauche de solution en utilisant le raisonnement à base de cas (Case Based reasoning - CBR) issu du domaine de l’intelligence artificielle. Cette technique tente de trouver le cas le plus similaire dans une base de cas pour ensuite, après modifications, le réutiliser pour résoudre un nouveau problème. Nos travaux de recherche se concentrent sur l’analyse de la similarité du code dans l’optique de réutiliser des tests unitaires. Nous porterons donc une attention particulière à l’élaboration d’une technique de comparaison des classes adaptées au contexte des tests. Plus précisément, dans ce mémoire, nous aborderons les questions suivantes: 1. Trouver la classe la plus similaire dans le but de réutiliser ses tests unitaires (travaux principaux); 2. Trouver les méthodes similaires entre les deux classes similaires; 3. Chercher les tests réutilisables en fonction de la similarité des méthodes de ces deux classes. Pour ce faire, nous mènerons des expérimentations afin de trouver les meilleures attributs (caractéristiques) permettant de comparer deux classes. Ces attributs doivent être choisis en considérant le contexte particulier des tests qui ne sont pas les mêmes que pour, par exemple, détecter du code dupliqué. Cette recherche nous permet de proposer un premier algorithme d’analyse de la similarité des classes qui fonctionne assez bien dans le contexte de notre expérimentation. Nous avons également étendu le processus à la sélection et la réutilisation de tests à l’aide d’une technique simple permettant de vérifier que l’algorithme d’analyse de similarité des classes peut potentiellement fonctionner et s’intégrer à un processus complet. Nos travaux montrent qu’il est possible de réutiliser des tests unitaires, bien que l’algorithme reste à être améliorer. Nous proposons d’ailleurs plusieurs pistes à ce sujet.
Automatically reusing unit tests is a possible solution to help developers with their daily work. Our research proposes preliminary solutions using case base reasoning (CBR), an approach coming from artificial intelligence. This technique try to find the most similar case in a case base to reuse it after some modifications against some new problems to solve. Our works focus on the similarity analysis of a program code with the goal of reusing unit tests. Our main focus will be on the elaboration of a technique to compare classes in the test context. To be more precise, in the thesis, we will discuss: 1. How to find the most similar class for which it will be possible to reuse its tests (main focus); 2. How to find similar methods between the new class and the most similar one; 3. Find which test could be reused considering the similarity of the methods. To achieve this, we will run some experiments to find the bests attributes (characteristics) to compare two classes. Those attributes must be chosen considering the specific context of testing. For example, those characteristics are not the same as for finding duplicated code. This research propose an algorithm to analyze the similarity of classes. Our experiment shows that this algorithm works quite well in the context of the experiment. We also extended the experiment to see if it could possibly work within the whole process of selection and reuse of unit tests. We did this by using some simple techniques that could certainly be refined. In fact, our works demonstrate that it is possible to reuse unit tests despite the fact that our algorithm could be perfected and we suggest some improvements about it.
10

Lecerf, Jason. "Designing language-agnostic code transformation engines." Thesis, Lille 1, 2019. http://www.theses.fr/2019LIL1I077.

Повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.
Анотація:
Les transformations automatiques de code apparaissent dans diverses situations, les refactorings, les migrations inter-langages ou encore la spécialisation de code. Les moteurs supportant ces transformations cherchent dans le code source les occurrences de motifs spécifiés par l’utilisateur, puis les réécrivent grâce à une transformation. Cette transformation peut soit modifier les occurrences elles-mêmes, des éléments de la représentation intermédiaire (IR) du langage, en nouveaux éléments ou réécrire leur code source. Nous nous concentrons sur la réécriture de code source qui offre une meilleure flexibilité grâce à des transformations arbitraires particulièrement utiles à la migration et à la spécialisation de code. Les motifs sont divisés en deux catégories : les motifs explicites et syntaxiques. Les premiers demandent que l’utilisateur connaisse l’IR du langage, un effort d’apprentissage non négligeable. Les seconds demandent seulement de connaître la syntaxe du langage et non son IR, mais requièrent un effort d’implémentation supplémentaire pour les back-ends de langage du moteur. Tandis que les experts en langage connaissent l’IR et la syntaxe du langage, les autres utilisateurs connaissent seulement la syntaxe. Nous proposons un moteur de reconnaissance de motifs offrant une représentation hybride des motifs : les motifs peuvent être à la fois explicites et syntaxiques. Par défaut, le moteur se rabat sur un fonctionnement syntaxique, car la barrière à l’entrée est plus basse. Pour pallier au coup d’implémentation des back-ends de langage pour la reconnaissance syntaxique, nous prenons une approche générative. Le moteur de reconnaissance hybride est couplé avec un moteur de génération d’analyseurs syntaxiques. Ce dernier génère des analyseurs syntaxiques LR généralisés (GLR) capables d’analyser non seulement le code source à réécrire, mais également le motif à reconnaitre. L’implémenteur du back-end de langage n’a alors qu’à ajouter une ligne à la grammaire pour avoir accès au moteur de reconnaissance de motifs pour ce langage. L’approche est basée sur des analyseurs syntaxiques GLR pouvant se dupliquer et traquant ses sous-analyseurs. Ces implémentations particulières de GLR ne passent pas à l’échelle quand trop de duplications sont nécessaires pour gérer les ambiguïtés et notre approche ajoute de la duplication. Pour éviter une explosion du temps d’exécution, nos analyseurs syntaxiques FGLR fusionnent plus régulièrement et permettent une désambiguïsation à la volée pendant l’analyse via des effets de bord
Code transformations are needed in various cases: refactorings, migrations, code specialization, and so on. Code transformation engines work by finding a pattern in the source code and rewriting its occurrences according to the transformation. The transformation either rewrites the occurrences, elements of the intermediate representation (IR) of the language, into new elements or directly rewrites the source code. In this work, we focused on source rewriting since it offers more flexibility through arbitrary transformations, especially for migrations and specializations. Matching patterns come in two different flavors, explicit and syntactic. The former requires the user to know the IR of the language, a heavy knowledge burden. The latter only relies on the syntax of the matched language and not its IR, but requires significantly more work to implement the language back-ends. Language experts tend to know the IR and the syntax of a language, while other users know only the syntax. We propose a pattern matching engine offering a hybrid pattern representation: both explicit and syntactic matching are available in the same pattern. The engine always defaults to syntactic as it is the lowest barrier to entry for patterns. To counterbalance the implementation cost of language back-ends for syntactic pattern matching, we take a generative approach. We combine the hybrid pattern matching engine with a parser generator. The parser generator generates generalized LR (GLR) parsers capable of not only parsing the source but also the hybrid pattern. The back-end implementer only needs to add one line to the grammar of the language to activate the pattern matching engine. This approach to pattern matching requires GLR parsers capable of forking and keeping track of each individual fork. These GLR implementations suffer the more forking is done to handle ambiguities and patterns require even more forking. To prevent an explosion, our Fibered-GLR parsers merge more often and allow for classic disambiguation during the parse through side-effects

Книги з теми "Code source (informatique) – Esthétique":

1

Volkman, Victor R. C/C++ Treasure Chest: A Developer's Resource Kit of C/C++ Tools and Source Code. CMP Books, 1998.

Знайти повний текст джерела
Стилі APA, Harvard, Vancouver, ISO та ін.

До бібліографії