30 research outputs found

    Mobile Dua and Zikr for Hajj (MDZ4H)

    Get PDF
    In the last decade, the number of mobile phone users has increased dramatically. Nowadays, mobile phone has become part of people's life. Today's mobile phones provide not just voice call and messaging services, but plethora of other services. This research is about the utilization of mobile phone for dua and zikr for Hajj. The main aim of this research is to develop a mobile Dua and Zikr in order to help Hajj pilgrims to recite them while performing all the required rituals. At the moment, this research focuses on developing the application on Android platform. In developing the application, all the required Dua and Zikr have to be gathered, compiled and verified before the prototype could be developed using J2ME. The prototype consists of the text and audio files of the recited Dua and Zikr in Arabic as well as the translation in Malay. Finally the prototype has been evaluated by users and experts using two sets of questionnaires. It is hoped that the developed prototype would be able to help the pilgrims to easily and conveniently recite the Dua and Zikr towards achieving Hajj Mabrur

    Experiences from developing a web crawler using a model-driven development tool : emerging opportunities

    Get PDF
    Model-driven development (MDD) tools aim to increase software development speed and decrease software time-to-market. Available MDD tools in the market state that software development teams can fast and easily develop “any” software by using them. So, the following research question arises: what is the perception of a software developer in using an MDD tool to create software he/she is used to develop without models? We selected Mendix, a user-friendly and easy configurable MDD tool, to address such a question and develop a domain-specific software artifact. We propose a use case collaborating with a Swiss company that allows users to compare insurances based on web crawling. Therefore, we ask a software developer at the Swiss company to develop a simplified version of a web crawler using the selected MDD tool. The software developer has extensive experience with developing web crawlers. However, for the software developer using MDD tools was a new paradigm of software development. We observe that the software developer successfully developed the web crawler using the MDD tool. However, he/she perceived some difficulties during the development, arising opportunities such as decreasing modeling complexity, increasing the MDD tool integrability, and improving modeling assistance. Finally, we conclude the experience report by drawing next research endeavors to generalize the results and discover new opportunities for improving MDD tools

    Gamifying a Software Testing Course with Continuous Integration

    Full text link
    Testing plays a crucial role in software development, and it is essential for software engineering students to receive proper testing education. However, motivating students to write tests and use automated testing during software development can be challenging. To address this issue and enhance student engagement in testing when they write code, we propose to incentivize students to test more by gamifying continuous integration. For this we use Gamekins, a tool that is seamlessly integrated into the Jenkins continuous integration platform and uses game elements based on commits to the source code repository: Developers can earn points by completing test challenges and quests generated by Gamekins, compete with other developers or teams on a leaderboard, and receive achievements for their test-related accomplishments. In this paper, we present our integration of Gamekins into an undergraduate-level course on software testing. We observe a correlation between how students test their code and their use of Gamekins, as well as a significant improvement in the accuracy of their results compared to a previous iteration of the course without gamification. As a further indicator of how this approach improves testing behavior, the students reported enjoyment in writing tests with Gamekins

    Does Unit-Tested Code Crash? A Case Study of Eclipse

    Full text link
    Context: Software development projects increasingly adopt unit testing as a way to identify and correct program faults early in the construction process. Code that is unit tested should therefore have fewer failures associated with it. Objective: Compare the number of field failures arising in unit tested code against those arising in code that has not been unit tested. Method: We retrieved 2,083,979 crash incident reports associated with the Eclipse integrated development environment project, and processed them to obtain a set of 126,026 unique program failure stack traces associated with a specific popular release. We then run the JaCoCo code test coverage analysis on the same release, obtaining results on the line, instruction, and branch-level coverage of 216,392 methods. We also extracted from the source code the classes that are linked to a corresponding test class so as to limit test code coverage results to 1,267 classes with actual tests. Finally, we correlated unit tests with failures at the level of 9,523 failing tested methods. Results: Unit-tested code does not appear to be associated with fewer failures. Conclusion: Unit testing on its own may not be a sufficient method for preventing program failures.Comment: 5 pages, 6 figures, 17 reference

    Persistence of Vision control using Arduino

    Full text link

    GZoltar: A graphical debugger interface

    Get PDF
    Tese de mestrado integrado. Engenharia Informática e Computação. Faculdade de Engenharia. Universidade do Porto. 201

    Development of a System for Analysing Method Names in Java Source Code

    Get PDF
    Naming code can seem like a simple task, however finding a good name can be rather challenging. Entity names should be consistent and brief yet comprehensive when representing the information each entity hold. What is considered a good name can be highly debatable, although it usually involves descriptive names that can contribute to readability and comprehensibility of source code. Bad code names can cause uncertainty, potential future bugs and be misleading. For this reason, the task of naming code is vital, hence there is a need of a system to improve and maintain it. To develop such a system, there are requirements required to be specified to define the expected implementation for certain entity names. These requirements are encoded into software in a domain-specific language, granting executable code to be generated from the expressed requirements. As a result, this name analysis tool provides programmers to perform code analysis on Java source code checking if the entities act in accordance with the requirements of their names. Additionally, the result shows insights of how contributions from linguistics can be valuable for software development and can be used to analyse software languages, such as entity names.Masteroppgave i informatikkINF399MAMN-PROGMAMN-IN

    Construction of a plug in for programming tasks analysis in ECLIPSE IDE

    Get PDF
    RESUMEN: La programación es una de las tareas más importantes en el desarrollo tecnológico actual, muchas veces este trabajo debe ser desarrollado en grupos que algunas veces son difícil de coordinar y llevar una memoria del trabajo realizado por cada programador. Esto se ve resaltado en ámbitos académicos donde el profesor no puede saber de manera sencilla el tiempo que ha tenido que dedicar un alumno por ejemplo a la hora de desarrollar una clase de la aplicación o la tasa de errores de compilación del alumno. Para intentar dar una solución a estos problemas se ha construido un plug-in para el IDE Eclipse que permita monitorizar el trabajo de los programadores y extraer datos que sean interesantes de sus diferentes sesiones de trabajo. Unos ejemplos de datos importantes son el tiemplo empleado, número de líneas de código fuente generado, tasa de errores de compilación, entre otros. Para permitir que el evaluador pueda decidir qué datos quiere y que sea independiente de un lenguaje de programación se usan expresiones regulares, guardadas en un archivo JSON. El evaluado debe tener acceso a los datos calculados con este objetivo se implementó en el plug-in una conexión SSH que envía un archivo con los resultados. Por último, se ha desarrollado una aplicación que puede leer los archivos de resultados y generar representaciones gráficas a partir de los datos.ABSTRACT: Programing is one of the most important tasks in technological development nowadays, a lot of times this work must be done by workgroups which sometimes are difficult to coordinate and to do a report of the work done by each programmer. This is clearly seem in an academic context where for the teacher is not easy to know the time spend by the student while doing a class of the application for examples or the compilation error rate of the student. In order to give a solution to these problems a plug-in for the Eclipse IDE have been made that allows to monitor the programmers work and extract relevant data in each of their work sessions. Some examples of relevant data are the time spent, number of lines used in the source code, compilation error rate, among other. To allow that the reviewer could choose what data they want and that it will be independent of a programming language regular expression are used and are stored in a JSON file. The reviewer must have access to the calculated data, with that in mind a SSH connection that send a file with results was implemented in the plug-in. Lastly, it has developed an application which can parse the file with the results and generate graphic representation from the data.Grado en Ingeniería Informátic

    Hooray, I found the bug

    Get PDF
    O processo de debugging tem sido um processo que ao longo dos tempos tem causado diversas dores de cabeça a muitos programadores. Algumas vezes acontece que o erro é encontrado numa fase muito tardia do projeto, o que torna a correção deste um processo custoso. Outras vezes, uma função não contempla todos os casos que seria necessário, e as ferramentas de debugging vão indicar o problema em partes relacionadas, por considerarem que a função foi executada com sucesso. Certas ferramentas como o Crowbar dão-nos, a partir de um conjunto de casos de teste, a possibilidade de ter uma perceção mais visual do projeto que está a ser analisado, bem como a probabilidade de encontrar o erro em certas partes do código. Tendo como base algoritmos que primam pela eficiência em projetos de elevada escala, como o Spectrum-based fault localization, e estando integrado no IDE, é possível ao utilizador ter uma nova abordagem ao problema de localização de falhas. No entanto, até à data ainda não é possível comprovar o verdadeiro impacto de ter uma ferramenta deste tipo na experiência geral do utilizador. Assim, um estudo foi realizado para comparar não só o facto de haver, ou não, uma melhoria da performance dos utilizadores em localizar falhas, assim como a pertinência de ter tal ferramenta integrada num IDE, a facilidade com que conseguiu utilizar a ferramenta e limitações sentidas ao usar o IDE em específico, enquanto que no caso oposto (sem ferramenta) pretendeu-se avaliar qual a abordagem utilizada pelo programador para encontrar o erro, dificuldade que teve no mesmo. Comparando estas duas diferentes experiências com um número relevante de casos em cada uma, será possível tirar conclusões sobre se de facto ferramentas como o Crowbar tornam os utilizadores melhores.Debugging has been a process that is causing various headaches to a large of programmers along time.Sometimes, the error is found at a very late stage of development, leading to added high costs for its correction. Other times, a function is not contemplating all the cases it should, specially some that are not easily perceptible, which lead to an indication by debugging tools that the fault is on related parts, since this function is seen as executed successfully. Some tools like Crowbar give us, from a set of tests, the possibility of having a more visual perception of the project that is being analyzed, as well as the probability of finding the error in certain parts of the code. Having its base on algorithms that strive for efficiency, such as Spectrum-based fault localization, and being integrated in the IDE, the user has the possibility of having a new approach to the fault localization problem. However, so far it is still not possible to state the real impact that having this kind of tool in the general user experience. Therefore, a user study was done to compare not only the fact of having or not a performance improvement by the users on locating faults, but also the importance of having this tool integrated in the IDE, the ease of use of the tool and finally obstacles that the user had due to the need of using a specific IDE. For those who will test the opposite case (the usual process with no tool), we aim to evaluate the approach used by the developer to find the error as well as the difficulty on finding it. By comparing these two experiences, with a relevant number of cases in each, it will be possible to conclude wether or not tools like Crowbar make users better
    corecore