9,384 research outputs found

    Why Do Developers Get Password Storage Wrong? A Qualitative Usability Study

    Full text link
    Passwords are still a mainstay of various security systems, as well as the cause of many usability issues. For end-users, many of these issues have been studied extensively, highlighting problems and informing design decisions for better policies and motivating research into alternatives. However, end-users are not the only ones who have usability problems with passwords! Developers who are tasked with writing the code by which passwords are stored must do so securely. Yet history has shown that this complex task often fails due to human error with catastrophic results. While an end-user who selects a bad password can have dire consequences, the consequences of a developer who forgets to hash and salt a password database can lead to far larger problems. In this paper we present a first qualitative usability study with 20 computer science students to discover how developers deal with password storage and to inform research into aiding developers in the creation of secure password systems

    Automated Feedback for Learning Code Refactoring

    Get PDF

    Jutge.org: characteristics and experiences

    Get PDF
    Jutge.org is an open educational online programming judge designed for students and instructors, featuring a repository of problems that is well organized by courses, topics and difficulty. Internally, Jutge.org uses a secure and efficient architecture and integrates modern verification techniques, formal methods, static code analysis and data mining. Jutge.org has exhaustively been used during the last decade at the Universitat Politecnica de Catalunya to strengthen the learn-by-doing approach in several courses. This paper presents the main characteristics of Jutge.org and shows its use and impact in a wide range of courses covering basic programming, data structures, algorithms, artificial intelligence, functional programming and circuit design.Peer ReviewedPostprint (author's final draft

    ProverX: rewriting and extending prover9

    Get PDF
    O propósito principal deste projecto é tornar o demonstrador automático de teoremas Prover9 programável e, por conseguinte, extensível. Este propósito foi conseguido acrescentando um interpretador de Python, uma linha de comandos e uma biblioteca de módulos, objectos e funções escritos em Python para interagir com ficheiros de Prover9 e Mace4. Foi também criada uma “interface” gráfica de utilizador (GUI) sob a forma de uma aplicação web para trazer aos utilizadores um meio mais eficiente e rápido de trabalhar com demonstrações automáticas de teoremas. A nova biblioteca de “scripting” oferece aos utilizadores novas funcionalidades tais como correr várias sessões simultâneas de Prover9 parando automaticamente quando uma demonstração (ou um contraexemplo) é encontrada, elaborar estratégias para aumentar a velocidade com que as demonstrações são encontradas ou diminuir o tamanho das mesmas. Outro módulo permite interagir com o sistema de álgebra GAP. Sobre esta biblioteca, muitas outras funcionalidades podem ser facilmente acrescentadas pois o objectivo principal é dar aos utilizadores a capacidade de acrescentar novas funcionalidades ao Prover9. Resumindo, o objectivo deste projecto é oferecer à comunidade matemática um ambiente integrado para trabalhar com demonstração automática de teoremas.The primary purpose of this project is to extend Prover9 with a scripting language. This was achieved by adding a Python interpreter, an interactive command line and a special scripting library to interact with Prover9 and Mace4 files. A user interface in the form of a web application was also created to help users achieve a more rapid and efficient way of working with automated theorem proving. The new scripting library offers utilities that allows a user to run several Prover9 sessions concurrently and to create strategies for increasing the effectiveness of the proof search or to search for shorter proofs. Another module allows to interact with the algebra system GAP. Based on the library, many more functionalities can be easily added, as the main goal is to give users the ability to extend the functionality of Prover9 the way they see fit. In conclusion, the aim of this project is to offer to the mathematical community an integrated environment for working with automated reasonin

    AUTOMATIC GENERATION OF INTELLIGENT TUTORING CAPABILITIES VIA EDUCATIONAL DATA MINING

    Get PDF
    Intelligent Tutoring Systems (ITSs) that adapt to an individual student’s needs have shown significant improvement in achievement over non-adaptive instruction (Murray 1999). This improvement occurs due to the individualized instruction and feedback that an ITS provides. In order to achieve the benefits that ITSs provide, we must find a way to simplify their creation. Therefore, we have created methods that can use data to automatically generate hints to adapt computer-aided instruction to help individual students. Our MDP method uses data from past student attempts on given problem to generate a graph of likely paths students take to solve a problem. These graphs can be used by educators to clearly understand how students are solving the problem or to provide hints for new students working the problem by pointing them down a successful path to solve the problem. We introduce the Hint Factory which is an implementation of the MDP method in an actual tutor used to solve logic proofs. We show that the Hint Factory can successfully help students solve more problems and show that students with access to hints are more likely to attempt harder problems than those without hints. In addition, we have enhanced the MDP method by creating a “utility” function that allows MDPs to be created when the problem solution may not be labeled. We show that this utility function performs as well as the traditional MDP method for our logic problems. We also created a Bayesian Knowledge Base to combine the information from multiple MDPs into a single corpus that will allow the Hint Factory to provide hints on new problems where no student data exists. Finally, we applied the MDP method to create models for other domains, including Stoichiometry and Algebra. This work shows that it is possible to use data to create ITS capabilities, primarily hint generation, automatically in ways that can help students solve more and more difficult problems, and builds a foundation for effective visualization and exploration of student work for both teachers and researchers

    Designing a Knowledge Based Puzzle Game - Case: After Now Archeology

    Get PDF
    Tämä opinnäytetyö tutkii tietoon perustuvia pulmapelejä. Se määrittelee tietoon perustuvien pul-mapelien pienen genren pulmiksi, joiden ratkaiseminen vaatii pelin ulkopuolisen tiedon käyttöä työkaluna. Tutkimus toteutettiin tarkastelemalla opinnäytetyöprojektina toteutettua peliä After Now Ar-cheology. Pelin suunnitteluprosessi käydään läpi, jotta saadaan hyvä kuva niistä suunnittelupäätök-sistä, joita sisältyy pelin ulkoisen tiedon ääreen ohjaavien pulmien suunnittelemiseen. Peliä tutki-taan käyttäen useita pelien ja pelisuunnittelun teorioita ja työkaluja. Täten pyritään ymmärtämään, miten After Now Archeology sijoittuu pelien kentälle, mutta myös sen olemusta yleisemmin pelien ja pelaamisen kulttuurissa. Tietoon perustuvien pulmapelien määritelmä tuotetaan analysoimalla muita pulmapelien genreen kuuluvia pelejä ja vertaamalla niitä tässä projektissa tuotettuun peliin. Tulee ilmi, että tietoon pe-rustuvat pulmapelit on vaikea sijoittaa yleiseen pulmapelien genreen – varsinkaan digitaalisten pe-lien kontekstissa. Pelin pervasiivinen luonne koettelee pelaamisen ja taikapiirin rajoja. Voidaan myös havaita, että pelaajat jakautuvat hyvin voimakkaasti niihin, joilla ei riitä aikaa eikä kärsivälli-syyttä tiedon etsimiseen ja niihin, jotka saattavat käyttää tunteja yhden pulman parissa etsien in-formaatiota ja omaksuen uutta tietoa.This thesis studies knowledge based puzzle games. It defines the small genre of knowledge based puzzles as puzzles, which require using information not available in the game itself as a tool to solve the puzzle. The study is done by examining a game made for the project: After Now Archeology. The design process of the game is explained, to give an idea of what kind of design decisions has been made when making a game that directs the player to exit the game itself and search for the information outside of the game’s magic circle. The game is then examined using various theories and tools of games and game design, to get an understanding of how the game positions itself within the field of games, but also within the context of gaming culture and playing games. A definition of knowledge based puzzles is made by analyzing the games in the puzzle genre and comparing them to the game made in this project. It is found that knowledge based puzzles are difficult to fit into the genre of puzzles – especially among digital games. The pervasive nature of the game bends the concept of gameplay and magic circle. It is also found that the players divide strongly to those who do not have time and patience to search for information, and them who can spend hours on a single puzzle, searching for information and gaining new knowledge
    corecore