Context: Software Product Lines (SPL) evolve when there are changes in the requirements, product structure or the technology being used. Different approaches have been proposed for managing SPL ...assets and some also address how evolution affects these assets. Existing mapping studies have focused on specific aspects of SPL evolution, but there is no cohesive body of work that gives an overview of the area as a whole.
Objective: The goals of this work are to review the characteristics of the approaches reported as supporting SPL evolution, and to synthesize the evidence provided by primary studies about the nature of their processes, as well as how they are reported and validated.
Method: We conducted a systematic literature review, considering six research questions formulated to evaluate evolution approaches for SPL. We considered journal, conference and workshop papers published up until March 2017 in leading digital libraries for computer science.
Results: After a thorough analysis of the papers retrieved from the digital libraries, we ended up with a set of 60 primary studies. Feature models are widely used to represent SPLs, so feature evolution is frequently addressed. Other assets are less frequently addressed. The area has matured over time: papers presenting more rigorous work are becoming more common. The processes used to support SPL evolution are systematic, but with a low level of automation.
Conclusions: Our research shows that there is no consensus about SPL formalization, what assets can evolve, nor how and when these evolve. Case studies are quite popular, but few industrial-sized case studies are publicly available. Also, few of the proposed techniques offer tool support. We believe that the SPL community needs to work together to improve the state of the art, creating methods and tools that support SPL evolution in a more comparable manner.
Affirmative action in college admissions has been touted as a way to close the gender gap in science, technology, engineering, and mathematics programs. We report a study of one such program, where ...we discovered a positive effect on female enrollment and a smaller effect on a combined computer science and software engineering degree.
Every semester, we deliver a capstone course on software engineering where students undertake a real-world project in three iterations. By the end of each iteration, students are graded in several ...dimensions: software quality, project management, and peer assessment. The latter is the only grade assigned individually; therefore, students who are penalized by their teams (e.g., for being perceived as low contributors to the team effort) are not severely affected. This results in little incentive for improvement, which potentially jeopardizes the overall quality of the project outcome. Envisaging to promote team cohesion, we devised a new grading rule: if the peer assessment of a student is lower than a threshold, that would be their final grade in the iteration. This paper reports the results of studying the effectiveness of the proposed rule. We recorded peer assessments over six consecutive semesters: (1) the first three as the baseline measure; (2) the semester where we introduced the new grading rule; and (3) the following two semesters, as a contrast. When the rule was first introduced, peer assessments resulted low and heavily spread at the beginning, but they consistently improved toward the end of the semester. When the instructional team already trusted the rule and explicitly emphasized its application, peer assessments consistently grew along the semester but resulted in fewer outliers. The study results show that exposing peer assessments earlier on helps promote team reflection. They also made evident the positive impact of teamwork for producing quality products in a software engineering capstone course.
Affirmative action for attracting women to STEM in chile Bastarrica, María Cecilia; Hitschfeld, Nancy; Samary, Maíra Marques ...
2018 IEEE/ACM 1st International Workshop on Gender Equality in Software Engineering (GE),
05/2018
Conference Proceeding
Women are currently almost half of the work force in Chile, but very few of them work in the software industry. In part, this is because there are strong cultural stereotypes about what careers are ..."for men" in Chile. This idea has been further cemented by the standardized admissions process used by Chilean universities, where female mathematics scores have historically been lower than that of their male peers. In order to break these stereotypes and attract more women into STEM careers, the Faculty of Mathematical and Physical Sciences at the University of Chile has created the Gender Equality Admissions Program (PEG, for its name in Spanish, Programa de Ingreso Prioritario de Equidad de Génera) in 2013. Under this program, 40 extra women are selected into the most competitive engineering and science program in the country. In the five years that the PEG has been in place, the number of women accepted into the engineering and science program has grown from 19% to more than 32%. Moreover, we have started to see an increase in the enrollment of female students in Software Engineering courses. This growth goes beyond the 40 new female students per year.
MDE software process lines in small companies Hurtado, Julio Ariel; Bastarrica, María Cecilia; Ochoa, Sergio F. ...
The Journal of systems and software,
20/May , Letnik:
86, Številka:
5
Journal Article
Recenzirano
► We define an MDE approach for software process lines. ► We illustrate our approach with an academic example. ► We validate our approach in two different industrial settings. ► Reusing tailoring ...knowledge makes software process instantiation more reliable and repeatable. ► Software processes tailored to project context have the potential to be more productive and to yield better products.
Software organizations specify their software processes so that process knowledge can be systematically reused across projects. However, different projects may require different processes. Defining a separate process for each potential project context is expensive and error-prone, since these processes must simultaneously evolve in a consistent manner. Moreover, an organization cannot envision all possible project contexts in advance because several variables may be involved, and these may also be combined in different ways. This problem is even worse in small companies since they usually cannot afford to define more than one process. Software process lines are a specific type of software product lines, in the software process domain. A benefit of software process lines is that they allow software process customization with respect to a context. In this article we propose a model-driven approach for software process lines specification and configuration. The article also presents two industrial case studies carried out at two small Chilean software development companies. Both companies have benefited from applying our approach to their processes: new projects are now developed using custom processes, process knowledge is systematically reused, and the total time required to customize a process is much shorter than before.
Women Performance in a Computer Science Program Rojas, Catalina; Bastarrica, Maria Cecilia
2023 42nd IEEE International Conference of the Chilean Computer Science Society (SCCC),
2023-Oct.-23
Conference Proceeding
Historically, women have been underrepresented in STEM fields, both in academia and industry. Gender prejudices sometimes assume that women are less competent in computer science. Chile has ...implemented various affirmative action initiatives to attract women to computer science programs, but there is almost no research on women's performance in these programs. To address this issue, we conducted a descriptive case study that analyzes grades obtained in all mandatory courses within a computer science program over a span of 12 years. The results reveal women have a slight significant better overall performance and that there are no significant differences in grades across most of the courses, with only three courses showing a slight advantage for women. This study intends to serve a dual purpose: guiding efforts to attract and promote women in computer science and providing the industry with valuable insights into the strengths and weaknesses of female candidates during the hiring process.
Women are greatly underrepresented in software engineering programs. Thus, few women enter the software development industry, and even fewer stay for a long time. The roles assumed by most of those ...that do stay evolve over time, becoming more managerial and less technical. Some companies prefer not to hire women, since some stereotypes suggest that they may be less productive, more troublesome or that they may eventually drop out due to personal issues. In this paper, we aim to prove that women are at least as productive as men when addressing technical work. Moreover, we also intend to show that including more women in development teams positively impacts workplace climate. To address this issue we conducted a case study where we analyzed the impact of counting on different number of women in 53 development teams in a software engineering capstone course over 5 years. University capstone courses are final courses that resemble industrial work. We found that both women and men perform similarly, but teams that have women have less outliers. These results suggest that it may be convenient to include women as part of software development teams whenever possible. We hypothesize that frequent women dropout may be in part due to the lack of recognition of the benefits of including them in software development teams.
Model-driven Engineering (MDE) is a paradigm that promotes the use of models and automatic model transformations to handle complex software developments. Model transformations promise to reduce the ...effort for manipulating models. However, building transformations themselves is not easy. Higher-order Transformations (HOTs) are a means for automatically building model transformations. Building HOTs is in itself a complex task mainly because there are no standard languages for implementing them, and there are not many HOTs available in the literature to learn from. This situation is even worse when more sophisticated HOTs are required with two input models. We consider a real application to generate transformations for tailoring software process, because the generated transformation needs to have two input models: the organizational process and the project context model. In this paper, we show three different techniques for implementing this HOT and discuss their benefits and limitations.
Typing artifacts in megamodeling Vignaga, Andrés; Jouault, Frédéric; Bastarrica, María Cecilia ...
Software and systems modeling,
02/2013, Letnik:
12, Številka:
1
Journal Article
Recenzirano
Odprti dostop
Model management is essential for coping with the complexity introduced by the increasing number and varied nature of artifacts involved in model-driven engineering-based projects. Global model ...management (GMM) addresses this issue by enabling the representation of artifacts, particularly transformation composition and execution, within a model called a megamodel. Type information about artifacts can be used for preventing type errors during execution. Built on our previous work, in this paper we present the core elements of a type system for GMM that improves its original typing approach and enables both typechecking and type inference on artifacts within a megamodel. This type system is able to deal with non-trivial situations such as the use of higher order transformations. We also present a prototypical implementation of such a type system.
•We present a systematic and iterative process for building a meshing tool software product line.•The process builds a domain model that captures essential domain characteristics.•The domain model is ...specified using a formal language.•We validate the process by generating a SPL for tree stem deformation meshing tools.•We present 3 meshing tools produced by a code generator built using this process.
Meshing tools are highly complex software for generating and managing geometrical discretizations. Due to their complexity, they have generally been developed by end users – physicists, forest engineers, mechanical engineers – with ad hoc methodologies and not by applying well established software engineering practices. Different meshing tools have been developed over the years, making them a good application domain for Software Product Lines (SPLs). This paper proposes building a domain model that captures the different domain characteristics such as features, goals, scenarios and a lexicon, and the relationships among them. The model is partly specified using a formal language. The domain model captures product commonalities and variabilities as well as the particular characteristics of different SPL products. The paper presents a rigorous process for building the domain model, where specific roles, activities and artifacts are identified. This process also clearly establishes consistency and completeness conditions. The usefulness of the model and the process are validated by using them to generate a software product line of Tree Stem Deformation (TSD) meshing tools. We also present Meshing Tool Generator, a software that follows the SPL approach for generating meshing tools belonging to the TSD SPL. We show how an end user can easily generate three different TSD meshing tools using Meshing Tool Generator.