RISTI - Revista Ibérica de Sistemas e Tecnologias de Informação
La corrección de las tareas de programación de computadoras es una actividad crítica y de alto co... more La corrección de las tareas de programación de computadoras es una actividad crítica y de alto consumo de tiempo para los académicos. Como respuesta a este problema, se han propuesto diversos sistemas de retroalimentación y calificación automática. Este artículo presenta una revisión de sistemas y enfoques de corrección y calificación automatizada de tareas de programación con el objetivo de ofrecer un mapa general de las funciones de estos sistemas y sus desafíos. Los resultados muestran que existe una importante diferencia entre la industria y la academia, así como una carencia en marcos de evaluación para estas herramientas.
Conferencia Iberoamericana de Software Engineering, 2012
Now more than ever, public organizations are changing their role from developers to acquirers of ... more Now more than ever, public organizations are changing their role from developers to acquirers of software products and services. To accomplish the principles of transparency and economy that these organizations must preserve, they have adopted the building engineering practice of issuing call for tenders. In order to apply, prospective software suppliers need to analyze these documents, make the decision of participation and to confront the process of building a software offer. This process involves a set of software engineering practices that, up to now, have remained unexplored in terms of suppliers’ risks, mitigation strategies and decision variables. In this paper we present a qualitative research based on the focus group technique that provides some important clues to understand this process and define an initial set of variables to be further explored. Conclusions remark on the worth of field study and the next step on quantitative research using found variables.
As cyber-attacks grow worldwide, companies have begun to realize the importance of being protecte... more As cyber-attacks grow worldwide, companies have begun to realize the importance of being protected against malicious actions that seek to violate their systems and access their information assets. Faced with this scenario, organizations must carry out correct and efficient management of their information security, which implies that they must adopt a proactive attitude, implementing standards that allow them to reduce the risk of computer attacks. Unfortunately, the problem is not only implementing a standard but also determining the best way to do it, defining an implementation path that considers the particular objectives and conditions of the organization and its availability of resources. This paper proposes a methodological approach for selecting and planning security controls, standardizing and systematizing the process by modeling the situation (objectives and constraints), and applying optimization techniques. The work presents an evaluation of the proposal through a methodo...
2019 IEEE CHILEAN Conference on Electrical, Electronics Engineering, Information and Communication Technologies (CHILECON)
In Component-Based Software Engineering, the problem of selecting software components involve sev... more In Component-Based Software Engineering, the problem of selecting software components involve several risk factors. Traditionally, these have been identified and mitigated using software project management techniques. However, the new demand for intelligent components has added complexity to the process. Despite the success and technological advances, its development in an environment ready for production faces many challenges. There are numbers of technical issues that limit their adoption and selection, due to the introduction of new risk factors, different from traditional ones. Thus, our goal is to formulate a technique to minimize the risk in the intelligent component selection process. To achieve this goal, first, we review the literature to Figure out how software project management takes care of the risk and to identify and classify the risks factor associated with intelligent software components. Second, we formulate the component selection problem as a search based optimization problem. And Third, we illustrate our proposal by presenting an example in the context of an air pollution forecasting component. As a result, we were able to: (1) identify a lack of useful tools to manage the risk factor effectively in a software project; (2) we classify intelligent component associated risk; and (3) we introduce a risk management technique that supports the component selection process by maximizing requirement accomplishment, that is, minimizing the risk of the provision of the functionalities that satisfy the requirements. Overall, our work is an initial step in using search-based optimization in risk management to the component selection process.
iberian conference on information systems and technologies, Jun 20, 2012
ABSTRACT Feature models are at the core of Software Product Lines. Along the years different feat... more ABSTRACT Feature models are at the core of Software Product Lines. Along the years different feature modeling languages have been proposed. Although they share a set of core concepts, feature languages present differences such as specification metalanguage, visual and textual emphasis and language constructs, among others. The result of this situation is a contemporary set of dialects with syntax and semantic dissimilarities that hampers interoperability, engineering communication and adoption by practitioners. This paper presents a proposal for a unified feature language metamodel which has been obtained from a comparison of existing metamodels. The analysis includes the maturity evaluation of existing metamodels and their ability to produce well-formed feature models and to reject ill-formed ones. Final conclusions suggest additional work on semantics and pragmatics of feature models.
Abstract. There is a broad use of the term “paradigm ” in Software Engineering. Concepts such as ... more Abstract. There is a broad use of the term “paradigm ” in Software Engineering. Concepts such as structured paradigm, cascade paradigm or agent-oriented paradigm are very frequent in software engineering research proposals. In this essay we distinguish between functional and scientific paradigm and we show that the common use of paradigm in Software Engineering is about the functional or engineering paradigm rather than scientific paradigm. We distinguish among four possible perspectives and, in this context, we sustain that the scientific perspective is intrinsic and hence very difficult to properly identify and describe. We argue that a discussion about the scientific paradigm in Software Engineering could help us to evaluate and improve the research practice in the discipline. 1
2018 37th International Conference of the Chilean Computer Science Society (SCCC), 2018
In spite of different scientific conferences and journals report software like research outcomes,... more In spite of different scientific conferences and journals report software like research outcomes, til de moment, there are few antecedents about software life cycles for supporting scientific software development. As far as we have looked for, the software development methodologies in this domain are coarse grain ones, and there is no empirical research supporting them. In this paper, We propose a software lifecycle for the development of scientific software. To obtain this model we have made a fusion of two existing coarse grain proposals and, after that, We have conducted a case study research, on a bibliometric research project, which has allowed to get a refined software process for scientific software.
Abstract. iStarML is an XML-based format for enabling interoperability among i * tools. Its main ... more Abstract. iStarML is an XML-based format for enabling interoperability among i * tools. Its main design focus was to support data interchange even when involved tools implement different i * variants. In this paper, we present a summary of the format, we briefly describe the ccistarml Java library, and we show an application of it. We finally summarize the requirements for representing new i * concepts in order to generate a revised version of iStarML.
El concepto de código con mal olor (code smells) fue introducido a fines de los años 90 y es una ... more El concepto de código con mal olor (code smells) fue introducido a fines de los años 90 y es una manera de referirse a ciertas caracterı́sticas subjetivas en el código fuente que podrı́an repercutir en problemas de operación y mantención. Para corregir estos problemas se ha desarrollado, dentro de la Ingenierı́a de Software, toda un área de estudio denominada reconstrucción (refactoring), centrada principalmente en estrategias de corrección de código anómalo. El objetivo de este artı́culo es develar el estado actual de los estudios relacionados con los malos olores en el código fuente, considerando principalmente su detección. Se realizó una revisión basada en el protocolo de mapeo sistemático. Las estrategias de búsqueda recuperaron un conjunto de 215 documentos, de los cuales 30 fueron seleccionados para su análisis. Se definieron cuatro categorı́as de clasificación: método de detección, tipo de aporte, lenguaje estudiado y tipo de olor. Los resultados de la revisión indican un pr...
Use cases are a modeling means to specify the required use of software systems. As part of UML (U... more Use cases are a modeling means to specify the required use of software systems. As part of UML (Unified Modeling Language), it has become the de facto standard for functional specifications, mainly in object-oriented design and development. In order to check these models, we propose a theoretical solution by adapting a general quality of models framework (SEQUAL), and, following our approach, a rule-based solution that includes both expert-based and definition-based rules. In order to promote a distributed set of quality assessment services, a Web service has been developed. It works on XMI (XML Metadata Interchange) files which are parsed and verified by Prolog clauses.
Advances in Intelligent Systems and Computing, 2019
Web Engineering concerns the software development of web applications. A particular type of web s... more Web Engineering concerns the software development of web applications. A particular type of web systems are those for providing cloud services. In these systems the packaging and delivery sub-process has complexities associated to multiple server configurations and continuing operation of existing services. In this paper we show a detailed procedure for packaging and delivery resulting from a three-phase qualitative approach: first, a case study for eliciting an existing process in a small software house, second an expert judgment approach for improving the existing procedure which its main recommendation was to include containers technology, and, third, a focus group for consolidating a unified view of the improved process.
2018 IEEE International Conference on Automation/XXIII Congress of the Chilean Association of Automatic Control (ICA-ACCA), 2018
In Software Engineering, maintainability is considered a non-functional feature that gives the so... more In Software Engineering, maintainability is considered a non-functional feature that gives the software the ability to be modified effectively and efficiently. In the late 1990s, code smells emerged as a way to approach potential failures. Although the link between code smells and effort has been studied, there are few quantitative studies trying to demonstrate the relationship between code smells and effort of maintenance. In this paper an experiment is used to analyze whether there are any differences in effort when performing perfective maintenance with and without a code smell. However, no significant differences were found between the control group and the experimental group, indicating that elimination of code smells would not substantially impact effort. The result is relevant because refactoring efforts appear not having a significative effect on maintainability. Finally, the presence of a threshold of code smells concentration would make it possible to determine when refact...
Goal-oriented and agent-oriented modelling provides an effective approach to the understanding of... more Goal-oriented and agent-oriented modelling provides an effective approach to the understanding of nowadays distributed information systems that need to operate in open, heterogeneous and evolving environments. Existing frameworks have been extended along language variants, analysis methods and CASE tools, posing language semantics and tool interoperability issues. We focus on i*-based modelling languages and tools and on the problem of supporting model exchange between them. As a first step towards providing a practical solution, we introduce an XML interchange format called iStarML. In this report, we describe the iStarML format providing examples to illustrate its use.
RISTI - Revista Ibérica de Sistemas e Tecnologias de Informação
La corrección de las tareas de programación de computadoras es una actividad crítica y de alto co... more La corrección de las tareas de programación de computadoras es una actividad crítica y de alto consumo de tiempo para los académicos. Como respuesta a este problema, se han propuesto diversos sistemas de retroalimentación y calificación automática. Este artículo presenta una revisión de sistemas y enfoques de corrección y calificación automatizada de tareas de programación con el objetivo de ofrecer un mapa general de las funciones de estos sistemas y sus desafíos. Los resultados muestran que existe una importante diferencia entre la industria y la academia, así como una carencia en marcos de evaluación para estas herramientas.
Conferencia Iberoamericana de Software Engineering, 2012
Now more than ever, public organizations are changing their role from developers to acquirers of ... more Now more than ever, public organizations are changing their role from developers to acquirers of software products and services. To accomplish the principles of transparency and economy that these organizations must preserve, they have adopted the building engineering practice of issuing call for tenders. In order to apply, prospective software suppliers need to analyze these documents, make the decision of participation and to confront the process of building a software offer. This process involves a set of software engineering practices that, up to now, have remained unexplored in terms of suppliers’ risks, mitigation strategies and decision variables. In this paper we present a qualitative research based on the focus group technique that provides some important clues to understand this process and define an initial set of variables to be further explored. Conclusions remark on the worth of field study and the next step on quantitative research using found variables.
As cyber-attacks grow worldwide, companies have begun to realize the importance of being protecte... more As cyber-attacks grow worldwide, companies have begun to realize the importance of being protected against malicious actions that seek to violate their systems and access their information assets. Faced with this scenario, organizations must carry out correct and efficient management of their information security, which implies that they must adopt a proactive attitude, implementing standards that allow them to reduce the risk of computer attacks. Unfortunately, the problem is not only implementing a standard but also determining the best way to do it, defining an implementation path that considers the particular objectives and conditions of the organization and its availability of resources. This paper proposes a methodological approach for selecting and planning security controls, standardizing and systematizing the process by modeling the situation (objectives and constraints), and applying optimization techniques. The work presents an evaluation of the proposal through a methodo...
2019 IEEE CHILEAN Conference on Electrical, Electronics Engineering, Information and Communication Technologies (CHILECON)
In Component-Based Software Engineering, the problem of selecting software components involve sev... more In Component-Based Software Engineering, the problem of selecting software components involve several risk factors. Traditionally, these have been identified and mitigated using software project management techniques. However, the new demand for intelligent components has added complexity to the process. Despite the success and technological advances, its development in an environment ready for production faces many challenges. There are numbers of technical issues that limit their adoption and selection, due to the introduction of new risk factors, different from traditional ones. Thus, our goal is to formulate a technique to minimize the risk in the intelligent component selection process. To achieve this goal, first, we review the literature to Figure out how software project management takes care of the risk and to identify and classify the risks factor associated with intelligent software components. Second, we formulate the component selection problem as a search based optimization problem. And Third, we illustrate our proposal by presenting an example in the context of an air pollution forecasting component. As a result, we were able to: (1) identify a lack of useful tools to manage the risk factor effectively in a software project; (2) we classify intelligent component associated risk; and (3) we introduce a risk management technique that supports the component selection process by maximizing requirement accomplishment, that is, minimizing the risk of the provision of the functionalities that satisfy the requirements. Overall, our work is an initial step in using search-based optimization in risk management to the component selection process.
iberian conference on information systems and technologies, Jun 20, 2012
ABSTRACT Feature models are at the core of Software Product Lines. Along the years different feat... more ABSTRACT Feature models are at the core of Software Product Lines. Along the years different feature modeling languages have been proposed. Although they share a set of core concepts, feature languages present differences such as specification metalanguage, visual and textual emphasis and language constructs, among others. The result of this situation is a contemporary set of dialects with syntax and semantic dissimilarities that hampers interoperability, engineering communication and adoption by practitioners. This paper presents a proposal for a unified feature language metamodel which has been obtained from a comparison of existing metamodels. The analysis includes the maturity evaluation of existing metamodels and their ability to produce well-formed feature models and to reject ill-formed ones. Final conclusions suggest additional work on semantics and pragmatics of feature models.
Abstract. There is a broad use of the term “paradigm ” in Software Engineering. Concepts such as ... more Abstract. There is a broad use of the term “paradigm ” in Software Engineering. Concepts such as structured paradigm, cascade paradigm or agent-oriented paradigm are very frequent in software engineering research proposals. In this essay we distinguish between functional and scientific paradigm and we show that the common use of paradigm in Software Engineering is about the functional or engineering paradigm rather than scientific paradigm. We distinguish among four possible perspectives and, in this context, we sustain that the scientific perspective is intrinsic and hence very difficult to properly identify and describe. We argue that a discussion about the scientific paradigm in Software Engineering could help us to evaluate and improve the research practice in the discipline. 1
2018 37th International Conference of the Chilean Computer Science Society (SCCC), 2018
In spite of different scientific conferences and journals report software like research outcomes,... more In spite of different scientific conferences and journals report software like research outcomes, til de moment, there are few antecedents about software life cycles for supporting scientific software development. As far as we have looked for, the software development methodologies in this domain are coarse grain ones, and there is no empirical research supporting them. In this paper, We propose a software lifecycle for the development of scientific software. To obtain this model we have made a fusion of two existing coarse grain proposals and, after that, We have conducted a case study research, on a bibliometric research project, which has allowed to get a refined software process for scientific software.
Abstract. iStarML is an XML-based format for enabling interoperability among i * tools. Its main ... more Abstract. iStarML is an XML-based format for enabling interoperability among i * tools. Its main design focus was to support data interchange even when involved tools implement different i * variants. In this paper, we present a summary of the format, we briefly describe the ccistarml Java library, and we show an application of it. We finally summarize the requirements for representing new i * concepts in order to generate a revised version of iStarML.
El concepto de código con mal olor (code smells) fue introducido a fines de los años 90 y es una ... more El concepto de código con mal olor (code smells) fue introducido a fines de los años 90 y es una manera de referirse a ciertas caracterı́sticas subjetivas en el código fuente que podrı́an repercutir en problemas de operación y mantención. Para corregir estos problemas se ha desarrollado, dentro de la Ingenierı́a de Software, toda un área de estudio denominada reconstrucción (refactoring), centrada principalmente en estrategias de corrección de código anómalo. El objetivo de este artı́culo es develar el estado actual de los estudios relacionados con los malos olores en el código fuente, considerando principalmente su detección. Se realizó una revisión basada en el protocolo de mapeo sistemático. Las estrategias de búsqueda recuperaron un conjunto de 215 documentos, de los cuales 30 fueron seleccionados para su análisis. Se definieron cuatro categorı́as de clasificación: método de detección, tipo de aporte, lenguaje estudiado y tipo de olor. Los resultados de la revisión indican un pr...
Use cases are a modeling means to specify the required use of software systems. As part of UML (U... more Use cases are a modeling means to specify the required use of software systems. As part of UML (Unified Modeling Language), it has become the de facto standard for functional specifications, mainly in object-oriented design and development. In order to check these models, we propose a theoretical solution by adapting a general quality of models framework (SEQUAL), and, following our approach, a rule-based solution that includes both expert-based and definition-based rules. In order to promote a distributed set of quality assessment services, a Web service has been developed. It works on XMI (XML Metadata Interchange) files which are parsed and verified by Prolog clauses.
Advances in Intelligent Systems and Computing, 2019
Web Engineering concerns the software development of web applications. A particular type of web s... more Web Engineering concerns the software development of web applications. A particular type of web systems are those for providing cloud services. In these systems the packaging and delivery sub-process has complexities associated to multiple server configurations and continuing operation of existing services. In this paper we show a detailed procedure for packaging and delivery resulting from a three-phase qualitative approach: first, a case study for eliciting an existing process in a small software house, second an expert judgment approach for improving the existing procedure which its main recommendation was to include containers technology, and, third, a focus group for consolidating a unified view of the improved process.
2018 IEEE International Conference on Automation/XXIII Congress of the Chilean Association of Automatic Control (ICA-ACCA), 2018
In Software Engineering, maintainability is considered a non-functional feature that gives the so... more In Software Engineering, maintainability is considered a non-functional feature that gives the software the ability to be modified effectively and efficiently. In the late 1990s, code smells emerged as a way to approach potential failures. Although the link between code smells and effort has been studied, there are few quantitative studies trying to demonstrate the relationship between code smells and effort of maintenance. In this paper an experiment is used to analyze whether there are any differences in effort when performing perfective maintenance with and without a code smell. However, no significant differences were found between the control group and the experimental group, indicating that elimination of code smells would not substantially impact effort. The result is relevant because refactoring efforts appear not having a significative effect on maintainability. Finally, the presence of a threshold of code smells concentration would make it possible to determine when refact...
Goal-oriented and agent-oriented modelling provides an effective approach to the understanding of... more Goal-oriented and agent-oriented modelling provides an effective approach to the understanding of nowadays distributed information systems that need to operate in open, heterogeneous and evolving environments. Existing frameworks have been extended along language variants, analysis methods and CASE tools, posing language semantics and tool interoperability issues. We focus on i*-based modelling languages and tools and on the problem of supporting model exchange between them. As a first step towards providing a practical solution, we introduce an XML interchange format called iStarML. In this report, we describe the iStarML format providing examples to illustrate its use.
Uploads