3,429 research outputs found

    Injecting Shortcuts for Faster Running Java Code

    Get PDF
    Genetic Improvement of software applies search methods to existing software to improve the target program in some way. Impressive results have been achieved, including substantial speedups, using simple operations that replace, swap and delete lines or statements within the code. Often this is achieved by specialising code, removing parts that are unnecessary for particular use-cases. Previous work has shown that there is a great deal of potential in targeting more specialised operations that modify the code to achieve the same functionality in a different way. We propose six new edit types for Genetic Improvement of Java software, based on the insertion of break, continue and return statements. The idea is to add shortcuts that allow parts of the program to be skipped in order to speed it up. 10000 randomly-generated instances of each edit were applied to three open-source applications taken from GitHub. The key findings are: (1) compilation rates for inserted statements without surrounding "if" statements are 1.5-18.3%; (2) edits where the insert statement is embedded within an "if" have compilation rates of 3.2-55.8%; (3) of those that compiled, all 6 edits have a high rate of passing tests (Neutral Variant Rate), >60% in all but one case, and so have the potential to be performance improving edits. Finally, a preliminary experiment based on local search shows how these edits might be used in practice

    Empirical Analysis of Mutation Operator Selection Strategies for Genetic Improvement

    Get PDF
    Genetic improvement (GI) tools find improved program versions by modifying the initial program. These can be used for the purpose of automated program repair (APR). GI uses software transformations, called mutation operators, such as deletions, insertions, and replacements of code fragments. Current edit selection strategies, however, under-explore the search spaces of insertion and replacement operators. Therefore, we implement a uniform strategy based on the relative operator search space sizes. We evaluate it on the QuixBugs repair benchmark and find that the uniform strategy has the potential for improving APR tool performance. We also analyse the efficacy of the different mutation operators with regard to the type of code fragment they are applied to. We find that, for all operators, choosing expression statements as target statements is the most successful for finding program variants with improved or preserved fitness (50.03%, 33.12% and 23.85% for deletions, insertions and replacements, respectively), whereas choosing declaration statements is the least effective (3.16%, 10.82% and 3.14% for deletions, insertions and replacements)

    Behavioral types in programming languages

    Get PDF
    A recent trend in programming language research is to use behav- ioral type theory to ensure various correctness properties of large- scale, communication-intensive systems. Behavioral types encompass concepts such as interfaces, communication protocols, contracts, and choreography. The successful application of behavioral types requires a solid understanding of several practical aspects, from their represen- tation in a concrete programming language, to their integration with other programming constructs such as methods and functions, to de- sign and monitoring methodologies that take behaviors into account. This survey provides an overview of the state of the art of these aspects, which we summarize as the pragmatics of behavioral types

    Software robustness: A survey, a theory, and prospects

    Get PDF
    If a software execution is disrupted, witnessing the execution at a later point may see evidence of the disruption or not. If not, we say the disruption failed to propagate. One name for this phenomenon is software robustness but it appears in different contexts in software engineering with different names. Contexts include testing, security, reliability, and automated code improvement or repair. Names include coincidental correctness, correctness attraction, transient error reliability. As witnessed, it is a dynamic phenomenon but any explanation with predictive power must necessarily take a static view. As a dynamic/static phenomenon it is convenient to take a statistical view of it which we do by way of information theory. We theorise that for failed disruption propagation to occur, a necessary condition is that the code region where the disruption occurs is composed with or succeeded by a subsequent code region that suffers entropy loss over all executions. The higher is the entropy loss, the higher the likelihood that disruption in the first region fails to propagate to the downstream observation point. We survey different research silos that address this phenomenon and explain how the theory might be exploited in software engineering

    Impact of Customer’s Impulsivity and Marketing Cues to Purchase Decision of Beverage Product Category

    Get PDF
    The research was conducted to explore consumer impulsivity and impulsive buying toward beverages product. In addition, in subsequent analysis, it also applies Consumer Decision Journey into impulsive buying behavior on beverage products. The analysis explains which marketing cues acts as most influential factors in such purchase behavior. Questionnaire was designed based on valid scale borrowed from previous research. A total of 105 respondents participated in this research. Questionnaire was distributed directly and by electronic mail. Based on the analysis, consumer only exercises impulsive buying on green tea and ready to drink tea category. Past experience and WOM are the most influencing factors in each step of the customer decision journey. Implications of this research are useful for FMCG marketers in improving marketing cues

    Empirical Comparison of Search Heuristics for Genetic Improvement of Software

    Get PDF
    Genetic improvement uses automated search to improve existing software. It has been successfully used to optimise various program properties, such as runtime or energy consumption, as well as for the purpose of bug fixing. Genetic improvement typically navigates a space of thousands of patches in search for the program mutation that best improves the desired software property. While genetic programming has been dominantly used as the search strategy, more recently other search strategies, such as local search, have been tried. It is, however, still unclear which strategy is the most effective and efficient. In this paper, we conduct an in-depth empirical comparison of a total of 18 search processes using a set of 8 improvement scenarios. Additionally, we also provide new genetic improvement benchmarks and we report on new software patches found. Our results show that, overall, local search approaches achieve better effectiveness and efficiency than genetic programming approaches. Moreover, improvements were found in all scenarios (between 15% and 68%). A replication package can be found online: https://github.com/bloa/tevc _2020 artefact

    SPICE: A Software Tool for Studying End-user’s Insecure Cyber Behavior and Personality-traits

    Get PDF
    Insecure cyber behavior of end users may expose their computers to cyber-attack. A first step to improve their cyber behavior is to identify their tendency toward insecure cyber behavior. Unfortunately, not much work has been done in this area. In particular, the relationship between end users cyber behavior and their personality traits is much less explored. This paper presents a comprehensive review of a newly developed, easily configurable, and flexible software SPICE for psychologist and cognitive scientists to study personality traits and insecure cyber behavior of end users. The software utilizes well-established cognitive methods (such as dot-probe) to identify number of personality traits, and further allows researchers to design and conduct experiments and detailed quantitative study on the cyber behavior of end users. The software collects fine-grained data on users for analysis

    Capital Exchange between Islamic Boarding Schools and Political Parties in the 2019 Election

    Get PDF
    This study examines the social practices of Islamic boarding schools in Jombang in the 2019 elections. It aims to analyze the role and capital exchange between Islamic boarding schools in Jombang and political parties. This study is important because the intersection of Islamic boarding schools and politics has been going on since colonial times until now. The political dynamics of Islamic boarding schools cannot be separated from NU because several NU Kiai are in the vortex of local and national politics. In the 2019 presidential election, a Kiai of NU named Kiai Ma’ruf Amin ran as Jokowi’s partner to be a vice president. As a place for the establishment of NU, Islamic boarding schools in Jombang have a magnet in gaining votes both in the legislative and presidential elections in 2019. By using Pierre ’Bourdieu’s theory as an analytical tool, this research conducted a case study approach. Data collection techniques carried out through interviews, observation, and documentation. The informants are determined purposively. The results of this study indicate that the exchange of capital between Islamic boarding schools and political parties is dominated by symbolic capital exchanges of Islamic boarding schools with the social capital of political elites and political parties. The blue bloodline of Islamic boarding schools and seniority of a Kiai or Nyai have an essential role in determining the reproductive strategy and capital exchange with political parties. Also, the dominance of social practices carried out in Islamic boarding schools. The power of symbolic capital and social capital of NU Islamic boarding school became a tool for conducting bargaining positions with elite political parties, including presidential and vice-presidential candidates. In the end, the capital exchange between Islamic boarding schools and political parties became obvious in getting votes in the 2019 elections

    Ecotourism Pillars Enforcement to Geotourism Destination in Slamet and Serayu Mountainous Areas, Central Java Province

    Get PDF
    Nature based tourism, including geotourism, can have the status of ecotourism if they are able to enforce the seven pillars namely: 1) the ecological pillar, 2) the economic pillar, 3) the socio-cultural pillar, 4) the satisfaction pillar, 5) experience pillar, 6) memory pillar, and 7) education pillar. This study aims to analyse the perceptions of tourists towards the enforcement of the seven pillars of ecotourism in geotourism destinations. The study was conducted through a survey using a closed-ended questionnaire with a total number of respondents is 400 people. Data analysis was carried out using comparative quantitative and correlation quantitative methods. The results showed  that there was  still a “gap” between the pillars of sustainable development and the pillars of the basic needs of tourists. The results of the correlation test showed  that the elements of the seven pillars of ecotourism had interrelationship each other. It is necessary to modify the form of geotourism implementation by increasing the aspects of guiding/interpreting for tourists and intensifying the involvement of tourists in all tourism activities. The regional approach are also applied to the development of geotourism so that it is more optimal, integrated and efficient in the use of resources
    • …
    corecore