246,170 research outputs found

    Empirical Research Plan: Effects of Sketching on Program Comprehension

    Get PDF
    Sketching is an important means of communication in software engineering practice. Yet, there is little research investigating the use of sketches. We want to contribute a better understanding of sketching, in particular its use during program comprehension. We propose a controlled experiment to investigate the effectiveness and efficiency of program comprehension with the support of sketches as well as what sketches are used in what way.Comment: 5 pages, 0 figures, Proc. International Conference on Agile Software Development (XP'16). Volume 251 of the book series Lecture Notes in Business Information Processing (LNBIP). Springer, 201

    A comparative evaluation of dynamic visualisation tools

    Get PDF
    Despite their potential applications in software comprehension, it appears that dynamic visualisation tools are seldom used outside the research laboratory. This paper presents an empirical evaluation of five dynamic visualisation tools - AVID, Jinsight, jRMTool, Together ControlCenter diagrams and Together ControlCenter debugger. The tools were evaluated on a number of general software comprehension and specific reverse engineering tasks using the HotDraw objectoriented framework. The tasks considered typical comprehension issues, including identification of software structure and behaviour, design pattern extraction, extensibility potential, maintenance issues, functionality location, and runtime load. The results revealed that the level of abstraction employed by a tool affects its success in different tasks, and that tools were more successful in addressing specific reverse engineering tasks than general software comprehension activities. It was found that no one tool performs well in all tasks, and some tasks were beyond the capabilities of all five tools. This paper concludes with suggestions for improving the efficacy of such tools

    Comprehension, Use Cases and Requirements

    Get PDF
    Within requirements engineering it is generally accepted that in writing specifications (or indeed any requirements phase document), one attempts to produce an artefact which will be simple to comprehend for the user. That is, whether the document is intended for customers to validate requirements, or engineers to understand what the design must deliver, comprehension is an important goal for the author. Indeed, advice on producing ‘readable’ or ‘understandable’ documents is often included in courses on requirements engineering. However, few researchers, particularly within the software engineering domain, have attempted either to define or to understand the nature of comprehension and it’s implications for guidance on the production of quality requirements. In contrast, this paper examines thoroughly the nature of textual comprehension, drawing heavily from research in discourse process, and suggests some implications for requirements (and other) software documentation. In essence, we find that the guidance on writing requirements, often prevalent within software engineering, may be based upon assumptions which are an oversimplification of the nature of comprehension. Furthermore, that these assumptions may lead to rules which detract from the quality of the requirements document and, thus, the understanding gained by the reader. Finally the paper suggests lessons learned which may be useful in formulating future guidance for the production of requirements documentation

    The role of Comprehension in Requirements and Implications for Use Case Descriptions

    Get PDF
    Within requirements engineering it is generally accepted that in writing specifications (or indeed any requirements phase document), one attempts to produce an artefact which will be simple to comprehend for the user. That is, whether the document is intended for customers to validate requirements, or engineers to understand what the design must deliver, comprehension is an important goal for the author. Indeed, advice on producing ‘readable’ or ‘understandable’ documents is often included in courses on requirements engineering. However, few researchers, particularly within the software engineering domain, have attempted either to define or to understand the nature of comprehension and it’s implications for guidance on the production of quality requirements. Therefore, this paper examines thoroughly the nature of textual comprehension, drawing heavily from research in discourse process, and suggests some implications for requirements (and other) software documentation. In essence, we find that the guidance on writing requirements, often prevalent within software engineering, may be based upon assumptions which are an oversimplification of the nature of comprehension. Hence, the paper examines guidelines which have been proposed, in this case for use case descriptions, and the extent to which they agree with discourse process theory; before suggesting refinements to the guidelines which attempt to utilise lessons learned from our richer understanding of the underlying discourse process theory. For example, we suggest subtly different sets of writing guidelines for the different tasks of requirements, specification and design

    Assessing the Unseen: Roles of Confidentiality and Trust in Software Engineering Work-based Learning Programmes [Poster]

    Get PDF
    A typical academic degree focused on software engineering has little practical relationship with the industry it is named for, other than the occasional placement or internship. Unlike other professions such as medicine, dentistry and veterinary sciences, candidates do not need to participate in significant professional practice to earn their degree. Indeed, if we consider a traditional academic software engineering student they probably have far more experience constructing shiny new ‘green-field’ systems, than maintaining the old ‘brown-field’ systems found in industry, and generating most professional work. Consequently, there is growing enthusiasm for work-based learning programmes that provide an opportunity for candidates to cement abstract academic theory in concrete personal experience. Work-based learning software engineering students earn their degree by combining theory with actual practice in a professional environment. Nevertheless, the intangible outcomes for much of software engineering has led to an industry obsessed with confidentiality, driven by concerns of employees smuggling source code to competitors or regulators. This obsession potentially presents a barrier to work-based learning schemes as employers prevent outsiders, even close higher education partners, from observing the systems and the source code that learners are working on. Learners may have the opportunity for concrete personal experience, but educators are barred from observing any such experience. However, confidentiality agreements may not necessarily present barriers to assessment, but instead provide an opportunity to assess comprehension and transferable skills by requiring abstract descriptions and reports. This is the converse to the problem in some programming courses, where students submit code without demonstrating that they understand it and can discuss it in terms of the concepts taught. In this talk and accompanying poster we explore some models for software engineering work-based learning programmes that have the potential to maintain confidentiality while assessing learners’ comprehension and ability. We invite discussion and criticism from conference attendees of the presented models, and are interested in potential partners for future collaboration

    THE TEACHING OF READING COMPREHENSION FOR ENGINEERING STUDENTS AT UNIVERSITAS MUHAMMADIYAH MALANG

    Get PDF
    Reading comprehension still be the challenges for Engineering students in understanding the text with specific terms, especially in engineering terms. In improving the students’ reading comprehension, the lecturers need to develop their strategies in teaching reading comprehension. This study is aimed at investigating the strategies applied by the lecturers in teaching reading comprehension for their Engineering classes, the problems they faced in teaching reading comprehension, and the possible solutions to the problems in teaching reading comprehension. It is qualitative study with narrative research design. The study explores the lecturers’ experiences in teaching reading comprehension for Engineering students related to their strategies, problems, and solutions to the problems in teaching reading comprehension. The participants of this study are the lecturers of reading comprehension at Engineering Faculty Universitas Muhammadiyah Malang. In collecting the data, this study uses interview and observation data collection techniques and the instruments to collect the data are interview guide and observation checklist and notes. Result of this study shows that the lecturers develop their teaching reading comprehension by combining more than one strategy to avoid monotony teaching and the students’ boredom in the class. They use interchangeably two of five methods in their reading class. It is expected to increase the effectiveness in improving the students’ comprehension. In conclusion, in improving the students’ comprehension in reading a text, the lecturers are able to possibly combine their teaching strategies

    Comprehension of object-oriented software cohesion: The empirical quagmire

    Get PDF
    Chidamber and Kemerer (1991) proposed an object-oriented (OO) metric suite which included the Lack of Cohesion Of Methods (LCOM) metric. Despite considerable effort both theoretically and empirically since then, the software engineering community is still no nearer finding a generally accepted definition or measure of OO cohesion. Yet, achieving highly cohesive software is a cornerstone of software comprehension and hence, maintainability. In this paper, we suggest a number of suppositions as to why a definition has eluded (and we feel will continue to elude) us. We support these suppositions with empirical evidence from three large C++ systems and a cohesion metric based on the parameters of the class methods; we also draw from other related work. Two major conclusions emerge from the study. Firstly, any sensible cohesion metric does at least provide insight into the features of the systems being analysed. Secondly however, and less reassuringly, the deeper the investigative search for a definitive measure of cohesion, the more problematic its understanding becomes; this casts serious doubt on the use of cohesion as a meaningful feature of object-orientation and its viability as a tool for software comprehension
    corecore