13 research outputs found

    Does UML modeling associate with lower defect proneness?:a preliminary empirical investigation

    Get PDF
    The benefits of modeling the design to improve the quality and maintainability of software systems have long been advocated and recognized. Yet, the empirical evidence on this remains scarce. In this paper, we fill this gap by reporting on an empirical study of the relationship between UML modeling and software defect proneness in a large sample of open-source GitHub projects. Using statistical modeling, and controlling for confounding variables, we show that projects containing traces of UML models in their repositories experience, on average, a statistically minorly different number of software defects (as mined from their issue trackers) than projects without traces of UML models.</p

    Exploring the Applicability of Low‑Shot Learning in Mining Software Repositories

    Get PDF
    Background: Despite the well-documented and numerous recent successes of deep learning, the application of standard deep architectures to many classification problems within empirical software engineering remains problematic due to the large volumes of labeled data required for training. Here we make the argument that, for some problems, this hurdle can be overcome by taking advantage of low-shot learning in combination with simpler deep architectures that reduce the total number of parameters that need to be learned. Findings: We apply low-shot learning to the task of classifying UML class and sequence diagrams from Github, and demonstrate that surprisingly good performance can be achieved by using only tens or hundreds of examples for each category when paired with an appropriate architecture. Using a large, off-the-shelf architecture, on the other hand, doesn’t perform beyond random guessing even when trained on thousands of samples. Conclusion: Our findings suggest that identifying problems within empirical software engineering that lend themselves to low-shot learning could accelerate the adoption of deep learning algorithms within the empirical software engineering community

    Mining von BPMN-Prozessartefakten auf GitHub

    Get PDF
    Die Validierung von Programmanalysen und Analysewerkzeugen erfolgt häufig anhand einer Sammlung von Beispielprogrammen. Für eine aussagekräftige Bewertung sollte diese Sammlung repräsentativ sein. Gerade im Bereich der Analysen für domänenspezifische Sprachen wird zu diesem Zweck aber oft nur auf Fallstudien oder gar einzelne künstliche Programmbeispiele zurückgegriffen. In diesem Beitrag zeigen wir für die domänenspezifische Sprache BPMN, wie durch systematisches Mining auf GitHub.com ein Corpus von BPMN-Prozessen für die Validierung von Analysewerkzeugen generiert werden kann

    Modeling 4.0: Conceptual Modeling in a Digital Era

    Get PDF
    Digitization provides entirely new affordances for our economies and societies. This leads to previously unseen design opportunities and complexities as systems and their boundaries are re-defined, creating a demand for appropriate methods to support design that caters to these new demands. Conceptual modeling is an established means for this, but it needs to be advanced to adequately depict the requirements of digitization. However, unlike the actual deployment of digital technologies in various industries, the domain of conceptual modeling itself has not yet undergone a comprehensive renewal in light of digitization. Therefore, inspired by the notion of Industry 4.0, an overarching concept for digital manufacturing, in this commentary paper, we propose Modeling 4.0 as the notion for conceptual modeling mechanisms in a digital environment. In total, 12 mechanisms of conceptual modeling are distinguished, providing ample guidance for academics and professionals interested in ensuring that modeling techniques and methods continue to fit contemporary and emerging requirements

    Ein Datensatz handgezeichneter UML-Klassendiagramme für maschinelle Lernverfahren

    Get PDF
    Klassendiagramme ermöglichen die grafische Modellierung eines Softwaresystems. Insbesondere zu Beginn von Softwareprojekten entstehen diese als handgezeichnete Skizzen auf nicht-digitalen Eingabegeräten wie Papier oder Whiteboards. Das Festhalten von Skizzen dieser Art ist folglich auf eine fotografische Lösung beschränkt. Eine digitale Weiterverarbeitung einer auf einem Bild gesicherten Klassendiagrammskizze ist ohne manuelle Rekonstruktion in ein maschinell verarbeitbares Diagramm nicht möglich. Maschinelle Lernverfahren können durch eine Skizzenerkennung eine automatisierte Transformation in ein digitales Modell gewährleisten. Voraussetzung für diese Verfahren sind annotierte Trainingsdaten. Für UML-Klassendiagramme sind solche bislang nicht veröffentlicht. Diese Arbeit beschäftigt sich mit der Erstellung eines Datensatzes annotierter UML-Klassendiagrammskizzen für maschinelle Lernverfahren. Hierfür wird eine Datenerhebung, ein Werkzeug für das Annotieren von UML-Klassendiagrammen und eine Konvertierung der Daten in ein Eingabeformat für das maschinelle Lernen präsentiert. Der annotierte Datensatz wird im Anschluss anhand seiner Vielfältigkeit, Detailtiefe und Größe bewertet. Zur weiteren Evaluation wird der Einsatz des Datensatzes an einem maschinellen Lernverfahren validiert. Das Lernverfahren ist nach dem Training der Daten in der Lage, Knoten mit einem F1F_1-Maß von über 99%, Textpositionen mit einem F1F_1-Maß von über 87% und Kanten mit einem F1F_1-Maß von über 71% zu erkennen. Die Evaluation zeigt folglich, dass sich der Datensatz für den Einsatz maschineller Lernverfahren eignet
    corecore