15 Fakultätsübergreifend / Sonstige Einrichtung

Permanent URI for this collectionhttps://elib.uni-stuttgart.de/handle/11682/16

Browse

Search Results

Now showing 1 - 6 of 6
  • Thumbnail Image
    ItemOpen Access
    Are comprehensive quality models necessary for evaluating software quality?
    (2013) Lochmann, Klaus; Ramadani, Jasmin; Wagner, Stefan
    The concept of software quality is very complex and has many facets. Reflecting all these facets and at the same time measuring everything related to these facets results in comprehensive but large quality models and extensive measurements. In contrast, there are also many smaller, focused quality models claiming to evaluate quality with few measures. We investigate if and to what extent it is possible to build a focused quality model with similar evaluation results as a comprehensive quality model but with far less measures needed to be collected and, hence, reduced effort. We make quality evaluations with the comprehensive Quamoco base quality model and build focused quality models based on the same set of measures and data from over 2,000 open source systems. We analyse the ability of the focused model to predict the results of the Quamoco model by comparing them with a random predictor as a baseline. We calculate the standardised accuracy measure SA and effect sizes. We found that for the Quamoco model and its 378 automatically collected measures, we can build a focused model with only 10 measures but an accuracy of 61% and a medium to high effect size. We conclude that we can build focused quality models to get an impression of a system’s quality similar to comprehensive models. However, when including manually collected measures, the accuracy of the models stayed below 50%. Hence, manual measures seem to have a high impact and should therefore not be ignored in a focused model.
  • Thumbnail Image
    ItemOpen Access
    Links between the personalities, styles and performance in computer programming
    (2015) Karimi, Zahra; Baraani-Dastjerdi, Ahmad; Ghasem-Aghaee, Nasser; Wagner, Stefan
    There are repetitive patterns in strategies of manipulating source code. For example, modifying source code before acquiring knowledge of how a code works is a depth-first style whereas reading and understanding before modifying source code is a breadth-first style. To the extent we know, there is no study on the influence of personality on them. The objective of this study is to understand the influence of personality on programming styles. We did a correlational study with 65 programmers at the University of Stuttgart. Academic achievement, programming experience, attitude towards programming, and five personality factors were measured via self-assessed survey. The programming styles were asked for in the survey or mined from the software repositories. Performance in programming was composed of bug-proneness of programmers which was mined from software repositories, the grades they got in a software project course and their estimate of their own programming ability. In a statistical analysis we found that Openness to Experience has a positive association with breadth-first style and Conscientiousness has a positive association with depth-first style. We also found that, in addition to having more programming experience and better academic achievement, the styles of working depth-first and saving coarse-grained revisions improve performance in programming.
  • Thumbnail Image
    ItemOpen Access
    Skriptum Informatik : eine konventionelle Einführung
    (1991) Appelrath, Hans-Jürgen; Ludewig, Jochen
    Wir legen ein Skriptum einer zweisemestrigen Einführungsvorlesung Informatik vor, also einen Text, der im wesentlichen anläßlich von Lehrveranstaltungen der Verfasser an der ETH Zürich (1985-88), der Universität Stuttgart (1988-90) und der Universität Oldenburg (1989-90) aufgeschrieben wurde. Und diese Vorlesungen für Studenten I der Hauptfach-, einer Nebenfach- oder einer sogenannten Bindestrich-Informatik waren und sind konventionell in dem Sinne, daß das Erlernen einer modernen, aber imperativen Programmiersprache (MODULA-2) ein wichtiges Teilziel darstellt. Auch das Vorgehen dabei, vom kleinen zum großen, ist durchaus konventionell.
  • Thumbnail Image
    ItemOpen Access
    Rapid quality assurance with requirements smells
    (2016) Femmer, Henning; Méndez Fernández, Daniel; Wagner, Stefan; Eder, Sebastian
    Context: Bad requirements quality can cause expensive consequences during the software development lifecycle, especially if iterations are long and feedback comes late. Objectives: We aim at a light-weight static requirements analysis approach that allows for rapid checks immediately when requirements are written down. Method: We transfer the concept of code smells to Requirements Engineering as Requirements Smells. To evaluate the benefits and limitations, we define Requirements Smells, realize our concepts for a smell detection in a prototype called Smella and apply Smella in a series of cases provided by three industrial and a university context. Results: The automatic detection yields an average precision of 59% at an average recall of 82% with high variation. The evaluation in practical environments indicates benefits such as an increase of the awareness of quality defects. Yet, some smells were not clearly distinguishable. Conclusion: Lightweight smell detection can uncover many practically relevant requirements defects in a reasonably precise way. Although some smells need to be defined more clearly, smell detection provides a helpful means to support quality assurance in Requirements Engineering, for instance, as a supplement to reviews.
  • Thumbnail Image
    ItemOpen Access
    Software-Projektmanagement und -Qualitätssicherung. 2., durchgesehene Auflage
    (1991) Frühauf, Karol; Ludewig, Jochen; Sandmayr, Helmut
    Im Vergleich zur Hardware hat sich die Software-Technologie in den vergangenen zwanzig Jahren relativ langsam entwickelt. Es überrascht viele Menschen zu hören, daß die Kosten pro Zeile Programmcode sogar etwa gleich geblieben sind. Der Grund liegt darin, daß Software von Menschen gemacht wird, deren Intelligenz sich kaum ändern läßt. Darum ist eine Erhöhung der Produktivität (fast) nur durch effizienten Einsatz der Denkleistung möglich. Hierzu gibt es vor allem zwei Möglichkeiten: • Fehlerquellen beseitigen • nichtkreative Arbeiten automatisieren Mit unserem Buch verfolgen wir das Ziel, diejenigen, die vom intuitiven zum systematischen Ansatz wechseln wollen, mit dem notwendigen Wissen auszustatten. Dabei erscheint uns vieles, was wir mitteilen, durchaus trivial. Da aber viele Binsenweisheiten in der Praxis ganz offensichtlich ignoriert werden, halten wir auch triviale Feststellungen für notwendig.
  • Thumbnail Image
    ItemOpen Access
    Operationalised product quality models and assessment: the Quamoco approach
    (2015) Wagner, Stefan; Goeb, Andreas; Heinemann, Lars; Kläs, Michael; Lampasona, Constanza; Lochmann, Klaus; Mayr, Alois; Plösch, Reinhold; Seidl, Andreas; Streit, Jonathan; Trendowicz, Adam
    Context: Software quality models provide either abstract quality characteristics or concrete quality measurements; there is no seamless integration of these two aspects. Quality assessment approaches are, hence, also very specific or remain abstract. Reasons for this include the complexity of quality and the various quality profiles in different domains which make it difficult to build operationalised quality models. Objective: In the project Quamoco, we developed a comprehensive approach aimed at closing this gap. Method: The project combined constructive research, which involved a broad range of quality experts from academia and industry in workshops, sprint work and reviews, with empirical studies. All deliverables within the project were peer-reviewed by two project members from a different area. Most deliverables were developed in two or three iterations and underwent an evaluation. Results: We contribute a comprehensive quality modelling and assessment approach: (1) A meta quality model defines the structure of operationalised quality models. It includes the concept of a product factor, which bridges the gap between concrete measurements and abstract quality aspects, and allows modularisation to create modules for specific domains. (2) A largely technology-independent base quality model reduces the effort and complexity of building quality models for specific domains. For Java and C# systems, we refined it with about 300 concrete product factors and 500 measures. (3) A concrete and comprehensive quality assessment approach makes use of the concepts in the meta-model. (4) An empirical evaluation of the above results using real-world software systems showed: (a) The assessment results using the base model largely match the expectations of experts for the corresponding systems. (b) The approach and models are well understood by practitioners and considered to be both consistent and well suited for getting an overall view on the quality of a software product. The validity of the base quality model could not be shown conclusively, however. (5) The extensive, open-source tool support is in a mature state. (6) The model for embedded software systems is a proof-of-concept for domain-specific quality models. Conclusion: We provide a broad basis for the development and application of quality models in indus- trial practice as well as a basis for further extension, validation and comparison with other approaches in research.