摘要 :
Participating in a software engineering process is an important experience for students in a project-based software engineering course. Popular agile software engineering processes like Scrum were designed for use in environments ...
展开
Participating in a software engineering process is an important experience for students in a project-based software engineering course. Popular agile software engineering processes like Scrum were designed for use in environments that have significant differences from those in the classroom. These differences include the relative importance of student learning and growth with respect to that of producing a product, and the varying levels of experience, availability, and motivation of developers in the classroom. In curriculums that only have a single software engineering course or capstone course, this course may also be tasked with teaching students about various software engineering concepts and activities. A software maintenance-focused process designed for use in these types of environments can accommodate the large set of learning outcomes these courses are meant to provide. However, understanding and adhering to a process while learning how to work and communicate with other developers on a relatively large and unfamiliar software project is a daunting set of tasks for many novice developers. The importance of tool support for agile processes has been recognized, but little such support has been designed for these types of environments. This paper aims to articulate two primary contributions: 1) a software maintenance-focused process suitable for use in a software engineering classroom, and 2) a toolset to support this process and the environment in which it operates.
收起
摘要 :
Participating in a software engineering process is an important experience for students in a project-based software engineering course. Popular agile software engineering processes like Scrum were designed for use in environments ...
展开
Participating in a software engineering process is an important experience for students in a project-based software engineering course. Popular agile software engineering processes like Scrum were designed for use in environments that have significant differences from those in the classroom. These differences include the relative importance of student learning and growth with respect to that of producing a product, and the varying levels of experience, availability, and motivation of developers in the classroom. In curriculums that only have a single software engineering course or capstone course, this course may also be tasked with teaching students about various software engineering concepts and activities. A software maintenance-focused process designed for use in these types of environments can accommodate the large set of learning outcomes these courses are meant to provide. However, understanding and adhering to a process while learning how to work and communicate with other developers on a relatively large and unfamiliar software project is a daunting set of tasks for many novice developers. The importance of tool support for agile processes has been recognized, but little such support has been designed for these types of environments. This paper aims to articulate two primary contributions: 1) a software maintenance-focused process suitable for use in a software engineering classroom, and 2) a toolset to support this process and the environment in which it operates.
收起
摘要 :
This is research summary of a PhD project in the area of massive software maintenance automation. We explain the context, approach, and contributions
摘要 :
This is research summary of a PhD project in the area of massive software maintenance automation. We explain the context, approach, and contributions
摘要 :
Software engineering and maintenance processes are designed to provide structure and organization around a set of activities involved in the production or maintenance of a software product. Understanding these processes and learni...
展开
Software engineering and maintenance processes are designed to provide structure and organization around a set of activities involved in the production or maintenance of a software product. Understanding these processes and learning to follow them are important experiences for students in a software engineering course. But it can be difficult for both students and instructors to recognize when a process isn’t being followed. Tools designed to guide a process can help. In these environments, tool support can also help ensure that students are using version control systems appropriately while fostering an environment in which students learn from their peers. The importance of tool support for agile processes has been recognized, but little such support has been designed for academic environments. "Co-Op" is a software maintenance-focused process and supporting toolset designed for use in academic environments. The toolset is implemented as a web application that focuses on change impact analysis, use of version control systems that adheres to the process, and communication amongst part-time developers. A brief overview can be seen at https://bit.ly/2YEbWvO.
收起
摘要 :
Software engineering and maintenance processes are designed to provide structure and organization around a set of activities involved in the production or maintenance of a software product. Understanding these processes and learni...
展开
Software engineering and maintenance processes are designed to provide structure and organization around a set of activities involved in the production or maintenance of a software product. Understanding these processes and learning to follow them are important experiences for students in a software engineering course. But it can be difficult for both students and instructors to recognize when a process isn’t being followed. Tools designed to guide a process can help. In these environments, tool support can also help ensure that students are using version control systems appropriately while fostering an environment in which students learn from their peers. The importance of tool support for agile processes has been recognized, but little such support has been designed for academic environments. "Co-Op" is a software maintenance-focused process and supporting toolset designed for use in academic environments. The toolset is implemented as a web application that focuses on change impact analysis, use of version control systems that adheres to the process, and communication amongst part-time developers. A brief overview can be seen at https://bit.ly/2YEbWvO.
收起
摘要 :
Corrective software maintenance derives its importance not only from the huge costs it induces but also its importance to customer relations and ultimately, the software company's revenues. In this paper, we address the knowledge ...
展开
Corrective software maintenance derives its importance not only from the huge costs it induces but also its importance to customer relations and ultimately, the software company's revenues. In this paper, we address the knowledge problems in the corrective software maintenance process by applying the lens of Transactive Memory System (TMS). TMS is a theory of knowledge coordination in groups. We carry out a case study of the troubled corrective software maintenance process of a multinational ICT company. We discuss our empirical case from three key TMS manifestations: specialization, credibility and coordination. Our results show that TMS could offer a fruitful avenue for understanding and managing knowledge problems that lead to poor performance in such a process. Designers of a global software maintenance process should not only pay attention to the process structure and supporting IS but also to facilitating a well-functioning TMS.
收起
摘要 :
Corrective software maintenance derives its importance not only from the huge costs it induces but also its importance to customer relations and ultimately, the software company's revenues. In this paper, we address the knowledge ...
展开
Corrective software maintenance derives its importance not only from the huge costs it induces but also its importance to customer relations and ultimately, the software company's revenues. In this paper, we address the knowledge problems in the corrective software maintenance process by applying the lens of Transactive Memory System (TMS). TMS is a theory of knowledge coordination in groups. We carry out a case study of the troubled corrective software maintenance process of a multinational ICT company. We discuss our empirical case from three key TMS manifestations: specialization, credibility and coordination. Our results show that TMS could offer a fruitful avenue for understanding and managing knowledge problems that lead to poor performance in such a process. Designers of a global software maintenance process should not only pay attention to the process structure and supporting IS but also to facilitating a well-functioning TMS.
收起
摘要 :
Developers often change software in ways that cause tests to fail. When this occurs, developers must determine whether failures are caused by errors in the code under test or in the test code itself. In the latter case, developers...
展开
Developers often change software in ways that cause tests to fail. When this occurs, developers must determine whether failures are caused by errors in the code under test or in the test code itself. In the latter case, developers must repair failing tests or remove them from the test suite. Repairing tests is time consuming but beneficial, since removing tests reduces a test suite's ability to detect regressions. Fortunately, simple program transformations can repair many failing tests automatically. We present ReAssert, a novel technique and tool that suggests repairs to failing tests' code which cause the tests to pass. Examples include replacing literal values in tests, changing assertion methods, or replacing one assertion with several. If the developer chooses to apply the repairs, ReAssert modifies the code automatically. Our experiments show that ReAssert can repair many common test failures and that its suggested repairs correspond to developers' expectations.
收起