8 research outputs found

    Application of software mining to automatic user interface generation

    Full text link
    Many software projects spend a significant proportion of their time developing the User Interface, so any degree of automation in this area has clear benefits. Research projects to date generally take one of three approaches: interactive graphical specification tools, model-based generation tools, or languagebased tools. The first two have proven popular in industry but are labour intensive and error-prone. The third is more automated but has practical problems which limit its usefulness. This paper proposes applying the emerging field of software mining to perform runtime inspection of an application's architecture and reduce the labour intensive nature of interactive graphical specification tools and model-based generation tools. It also proposes UI generation can be made more practical by delimiting useful bounds to the generation process. The paper concludes with a description of a prototype project that implements these ideas

    Using multiclass classification algorithms to improve text categorization tool:NLoN

    Get PDF
    Abstract. Natural language processing (NLP) and machine learning techniques have been widely utilized in the mining software repositories (MSR) field in recent years. Separating natural language from source code is a pre-processing step that is needed in both NLP and the MSR domain for better data quality. This paper presents the design and implementation of a multi-class classification approach that is based on the existing open-source R package Natural Language or Not (NLoN). This article also reviews the existing literature on MSR and NLP. The review classified the information sources and approaches of MSR in detail, and also focused on the text representation and classification tasks of NLP. In addition, the design and implementation methods of the original paper are briefly introduced. Regarding the research methodology, since the research goal is technology-oriented, i.e., to improve the design and implementation of existing technologies, this article adopts the design science research methodology and also describes how the methodology was adopted. This research implements an open-source Python library, namely NLoN-PY. This is an open-source library hosted on GitHub, and users can also directly use the tools published to the PyPI library. Since NLoN has achieved comparable performance on two-class classification tasks with the Lasso regression model, this study evaluated other multi-class classification algorithms, i.e., Naive Bayes, k-Nearest Neighbours, and Support Vector Machine. Using 10-fold cross-validation, the expanded classifier achieved AUC performance of 0.901 for the 5-class classification task and the AUC performance of 0.92 for the 2-class task. Although the design of this study did not show a significant performance improvement compared to the original design, the impact of unbalanced data distribution on performance was detected and the category of the classification problem was also refined in the process. These findings on the multi-class classification design can provide a research foundation or direction for future research

    Tools for software project data collection and integration

    Get PDF
    Sotsiaalmeedial on tänapäeval suur roll ühiskonnas ja tarkvaraarendusprotsessis. Iga päevaga kasvab sotsiaalmeedia vahendusel suhtlevate ja oma elu ja tööprotsesse kajastavate inimeste arv. Erinevalt möödunud sajandist on palju lihtsam integreerida meeskondasid isegi siis kui neid lahutab ookean. Tööriistad nagu JIRA, TFS ja Bugzilla on loodud just sel eesmärgil: meeskondade integreerimine ja tarkvaraarenduse protsessis osalejate elu lihtsustamine. Selle magistritöö eesmärk on siduda sotsiaalmeedia muutustehaldusega ning analüüsida nende vahelisi seoseid. Selles töös loodi ühine mudel muutustehalduse ja sotsiaalmeedia jaoks. Mudelite loomiseks ja ühendamiseks kasutati pöördprojekteerimist. Pärast ühise mudeli loomist, kirjutati adapterid sotsiaalmeediast ja muudatustehaldusest andmete ühisesse mudelisse laadimiseks. Muudatustehalduse ja sotsiaalmeedia kanalite andmete ühendamisega saadud andmestikul teostati näidisanalüüs. Analüüs näitas, et avatud lähtekoodiga tarkvaraprojektidesse panustajad suhtlevad IRC ja e-maili listide teel ning 76% IRC kasutajatest on ka aktiivsed muudatustehalduse kasutajad.Nowadays Social Media has a big impact in our society and also in the software development process. Everyday more and more people are communicating through social media and discussing about their life and even for their work processes. Unlike the past century it is much easier to integrate teams even if they have oceans between them. Tools such as JIRA, TFS and Bugzilla are created for that purpose: Integrating teams and making life easier for everyone who is taking part of any cycle of software development process. This Master’s Thesis aims to integrate social media with issue trackers and analysing the relationships between them. In this thesis, unified models for social media and issue trackers were designed. Reverse engineering is used for designing the models and unification of the data models. After, creating the unified models, adapters were written in order to extract the data from social media and issue trackers for analysing. We conducted an example analysis on the data that we got by merging issue tracking. We found out that some interesting facts such as, open source software projects’ contributors are tend to communicate via IRC and email lists and also 76% of the users who are active in IRC are also active in issue tracking systems

    Contracts in Practice

    Get PDF
    Contracts are a form of lightweight formal specification embedded in the program text. Being executable parts of the code, they encourage programmers to devote proper attention to specifications, and help maintain consistency between specification and implementation as the program evolves. The present study investigates how contracts are used in the practice of software development. Based on an extensive empirical analysis of 21 contract-equipped Eiffel, C#, and Java projects totaling more than 260 million lines of code over 7700 revisions, it explores, among other questions: 1) which kinds of contract elements (preconditions, postconditions, class invariants) are used more often; 2) how contracts evolve over time; 3) the relationship between implementation changes and contract changes; and 4) the role of inheritance in the process. It has found, among other results, that: the percentage of program elements that include contracts is above 33% for most projects and tends to be stable over time; there is no strong preference for a certain type of contract element; contracts are quite stable compared to implementations; and inheritance does not significantly affect qualitative trends of contract usage

    On the Use of Process Trails to Understand Software Development

    Full text link

    A framework for describing and understanding mining tools in software development

    No full text

    A Framework for Describing and Understanding Mining Tools in Software Development

    No full text
    We propose a framework for describing, comparing and understanding tools for the mining of software repositories. The fundamental premise of this framework is that mining should be done by considering the specific needs of the users and the tasks to be supported by the mined information. First, different types of users have distinct needs, and these needs should be taken into account by tool designers. Second, the data sources available, and mined, will determine if those needs can be satisfied. Our framework is based upon three main principles: the type of user, the objective of the user, and the mined information. This framework has the following purposes: to help tool designers in the understanding and comparison of different tools, to assist users in the assessment of a potential tool; and to identify new research areas. We use this framework to describe several mining tools and to suggest future research directions. 1

    A framework for describing and understanding mining tools in software development

    No full text
    corecore