707 research outputs found
An Empirical Study of CSS Code Smells in Web Frameworks
Cascading Style Sheets (CSS) has become essential to front-end web development for the specification of style. But despite its simple syntax and the theoretical advantages attained through the separation of style from content and behavior, CSS authoring today is regarded as a complex task. As a result, developers are increasingly turning to CSS preprocessor languages and web frameworks to aid in development. However, previous studies show that even highly popular websites which are known to be developed with web frameworks contain CSS code smells such as duplicated rules and hard-coded values. Such code smells have the potential to cause adverse effects on websites and complicate maintenance. It is therefore important to investigate whether web frameworks may be encouraging the introduction of CSS code smells into websites.
In this thesis, we investigate the prevalence of CSS code smells in websites built with different web frameworks and attempt to recognize a pattern of CSS behavior in these frameworks. We collect a dataset of several hundred websites produced by each of 19 different frameworks, collect code smells and other metrics present in the CSS code of each website, train a classifier to predict which framework the website was built with, and perform various clustering tasks to gain insight into the correlations between code smells. Our results show that CSS code smells are highly prevalent in websites built with web frameworks, we achieve an accuracy of 39% in correctly classifying the frameworks based on CSS code smells and metrics, and we find interesting correlations between code smells
Beam-Material Interaction
Th is paper is motivated by the growing importance of better understanding of
the phenomena and consequences of high- intensity energetic particle beam
interactions with accelerator, generic target , and detector components. It
reviews the principal physical processes of fast-particle interactions with
matter, effects in materials under irradiation, materials response, related to
component lifetime and performance, simulation techniques, and methods of
mitigating the impact of radiation on the components and envir onment in
challenging current and future applicationComment: 28 pages, contribution to the 2014 Joint International Accelerator
School: Beam Loss and Accelerator Protection, Newport Beach, CA, USA , 5-14
Nov 201
Eliminating Code Duplication in Cascading Style Sheets
Cascading Style Sheets (i.e., CSS) is the standard styling language, widely used for defining the presentation semantics of user interfaces for web, mobile and desktop applications. Despite its popularity, CSS has not received much attention from academia. Indeed, developing and maintaining CSS code is rather challenging, due to the inherent language design shortcomings, the interplay of CSS with other programming languages (e.g., HTML and JavaScript), the lack of empirically- evaluated coding best-practices, and immature tool support. As a result, the quality of CSS code bases is poor in many cases.
In this thesis, we focus on one of the major issues found in CSS code bases, i.e., the duplicated code. In a large, representative dataset of CSS code, we found an average of 68% duplication in style declarations. To alleviate this, we devise techniques for refactoring CSS code (i.e., grouping style declarations into new style rules), or migrating CSS code to take advantage of the code abstraction features provided by CSS preprocessor languages (i.e., superset languages for CSS that augment it by adding extra features that facilitate code maintenance). Specifically for the migration transformations, we attempt to align the resulting code with manually-developed code, by relying on the knowledge gained by conducting an empirical study on the use of CSS preprocessors, which revealed the common coding practices of the developers who use CSS preprocessor languages.
To guarantee the behavior preservation of the proposed transformations, we come up with a list of preconditions that should be met, and also describe a lightweight testing technique. By applying a large number of transformations on several web sites and web applications, it is shown that the transformations are indeed presentation-preserving, and can effectively reduce the amount of duplicated code in CSS
Global Risks 2014, Ninth Edition.
The Global Risks 2014 report highlights how global risks are not only interconnected but also have systemic impacts. To manage global risks effectively and build resilience to their impacts, better efforts are needed to understand, measure and foresee the evolution of interdependencies between risks, supplementing traditional risk-management tools with new concepts designed for uncertain environments. If global risks are not effectively addressed, their social, economic and political fallouts could be far-reaching, as exemplified by the continuing impacts of the financial crisis of 2007-2008
30 Years of Software Refactoring Research: A Systematic Literature Review
Peer Reviewedhttps://deepblue.lib.umich.edu/bitstream/2027.42/155872/4/30YRefactoring.pd
30 Years of Software Refactoring Research:A Systematic Literature Review
Due to the growing complexity of software systems, there has been a dramatic
increase and industry demand for tools and techniques on software refactoring
in the last ten years, defined traditionally as a set of program
transformations intended to improve the system design while preserving the
behavior. Refactoring studies are expanded beyond code-level restructuring to
be applied at different levels (architecture, model, requirements, etc.),
adopted in many domains beyond the object-oriented paradigm (cloud computing,
mobile, web, etc.), used in industrial settings and considered objectives
beyond improving the design to include other non-functional requirements (e.g.,
improve performance, security, etc.). Thus, challenges to be addressed by
refactoring work are, nowadays, beyond code transformation to include, but not
limited to, scheduling the opportune time to carry refactoring, recommendations
of specific refactoring activities, detection of refactoring opportunities, and
testing the correctness of applied refactorings. Therefore, the refactoring
research efforts are fragmented over several research communities, various
domains, and objectives. To structure the field and existing research results,
this paper provides a systematic literature review and analyzes the results of
3183 research papers on refactoring covering the last three decades to offer
the most scalable and comprehensive literature review of existing refactoring
research studies. Based on this survey, we created a taxonomy to classify the
existing research, identified research trends, and highlighted gaps in the
literature and avenues for further research.Comment: 23 page
Asynkronisuus JavaScriptissä
Tässä työssä käydään läpi web-kehityksen historian vaiheita synkronisista HTML-sivuista kohti asynkronista ohjelmointia. Asynkronisen web-ohjelmoinnin johdosta käyttäjän ei tarvitse odottaa toimeettomana esimerkiksi datahakua palvelimelta, vaan voi käyttää sovellusta samanaikaisesti. Työssä tarkastellaan eri tapoja toteuttaa asykronisuutta JavaScriptissä, näiden tapojen kehitysvaiheet, sekä niiden mukanaan tuomat ongelmat ja ratkaisut. Työ keskittyy eri toteutustapojen luettavuuteen, ymmärrettävyyteen ja muokattavuuteen. Lisäksi työssä käydään vielä läpi virheiden käsittelyä näissä toteutustavoissa.
Työssä toteutetaan sama demo-ohjelma kolmella eri asynkronisella tavalla JavaScriptissä ja vertaillaan näiden luettavuutta, muokattavuutta ja virheiden käsittelyä. Tämän lisäksi pureudutaan vielä async/await:in mukanaan tuomiin ongelmiin toisella demo-ohjelmalla.
Työssä todetaan, että asynkronisuuden toteutus callback-metodin avulla JavaScriptissä muuttuu erittäin vaikealukuiseksi ja vaikeasti muokattavaksi ohjelman monimutkaistuessa, sillä se ajaa koodin rakenteen pyramidimaiseksi sisäkkäisyydeksi. Tähän ongelmaan kehitetty promise toimii erinomaisena ratkaisuna lohkojakonsa ja ketjutettavuutensa ansiosta. Promisen lisäksi kehitetty async/await-metodi tuo vielä keinon kirjoittaa promise-pohjaista asynkronista koodia ikään kuin se olisi synkronista, mutta työssä todetaankin, että tämän metodin kanssa täytyy olla tarkka missä ja miten sitä käytetään. Väärin käytettynä metodi vain hidastaa koodin suoritusta
Smart Property Valuation. Problem Solving for Industry
The analysis of this project it is used the CRISP-DM method. Smart Property Valuation (SPV) is a fictional company created by David Silva, Luiz Dias, and Raul Fuzita to analyse, explore, and prove the conception of a model capable of predicting or estimating prices for properties. They believe they can benefit common people, realtors, and construction companies with their solutions. This research is for educational purposes and should be treated as such
Editable AI: Mixed Human-AI Authoring of Code Patterns
Developers authoring HTML documents define elements following patterns which
establish and reflect the visual structure of a document, such as making all
images in a footer the same height by applying a class to each. To surface
these patterns to developers and support developers in authoring consistent
with these patterns, we propose a mixed human-AI technique for creating code
patterns. Patterns are first learned from individual HTML documents through a
decision tree, generating a representation which developers may view and edit.
Code patterns are used to offer developers autocomplete suggestions, list
examples, and flag violations. To evaluate our technique, we conducted a user
study in which 24 participants wrote, edited, and corrected HTML documents. We
found that our technique enabled developers to edit and correct documents more
quickly and create, edit, and correct documents more successfully
Industry 4.0-Oriented Turnkey Project: Rapid Configuration and Intelligent Operation of Manufacturing Systems
More extensive personalized product requirements and shorter product life cycles have put forward higher requirements for the rapid establishment, commissioning, and operation of corresponding manufacturing systems. However, the traditional manufacturing system development process is complicated, resulting in a longer delivery time. Many manufacturing enterprises, especially small and micro enterprises, may not have the necessary manufacturing knowledge or capabilities to meet these requirements. Therefore, it is essential to promote the construction of turnkey projects under the paradigm of Industry 4.0, parallelizing and integrating the existing manufacturing system development process based on mass manufacturing equipment to quickly provide turnkey solutions for manufacturing systems’ configuration and implementation for these enterprises. This paper aims to extract and refine the configuration and operation key views of the Industry 4.0-oriented Turnkey Project (I4TP) from Reference Architecture Model Industrie 4.0 (RAMI4.0) and use it to guide the development of key functional processes of turnkey projects to achieve rapid configuration and efficient operation management of manufacturing systems. The turnkey project platform in the Advanced Manufacturing Technology Center (AMTC) is taken as a demonstration case to provide a reference idea for the rapid configuration and intelligent operation of the turnkey manufacturing system
- …