Our paper titled “Mutation Analysis for JavaScript Web Applications Testing” has been accepted at 24th International Conference on Software Engineering and Knowledge Engineering (SEKE 2013).

Kazuki Nishiura, Yuta Maezawa, Hironori Washizaki, Shinichi Honiden, “Mutation Analysis for JavaScript Web Applications Testing,” Proceedings of 24th International Conference on Software Engineering and Knowledge Engineering (SEKE 2013), pp.159-165, Hyatt Harborside at Logan Int’l Airport, Boston, June 27-29, 2013. (PDF)

Abstract

When developers test modern web applications that use JavaScript, challenging issues lie in their event-driven, asynchronous, and dynamic features. Many researchers have assessed the adequacy of test cases with code coverage criteria; however, in this paper, we show that the code coverage-based approach possibly misses some faults in the applications. We propose a mutation analysis approach for estimating the fault-finding capability of test cases. We assume that developers can find overlooked fault instances and improve the test cases with the estimated capability. To create a set of faulty programs, i.e., mutants, we classify the JavaScript features in web applications and then define a comprehensive set of mutation operators. We conducted a case study on a real-world application and found that our approach supported the improvement of test cases to expose hand-seeded faults by an extra ten percent.

Our paper titled “Comparative Evaluation of Programming Paradigm: Separation of Concerns with Object-, Aspect-, and Context-Oriented Programming” has been accepted at 24th International Conference on Software Engineering and Knowledge Engineering (SEKE 2013).

Fumiya Kato, Kazunori Sakamoto, Hironori Washizaki, and Yoshiaki Fukazawa, “Comparative Evaluation of Programming Paradigm: Separation of Concerns with Object-, Aspect-, and Context-Oriented Programming,” Proceedings of 24th International Conference on Software Engineering and Knowledge Engineering (SEKE 2013), pp.594-599, Hyatt Harborside at Logan Int’l Airport, Boston, June 27-29, 2013. (PDF)

Abstract

There are many programming paradigms for the separation of concerns (SoC). Each paradigm modularizes concerns in a different way. Context-oriented programming (COP) has been developed as a supplement to objectoriented programming (OOP), which is one of the most widely used paradigms for SoC. It modularizes concerns that are difficult for OOP. In this paper, we focus on three paradigms – OOP, aspect-oriented programming (proposed as a supplement to OOP that has a different approach from COP), and COP – and study whether COP can modularize concerns better than other two paradigms in given situations. Then we determine the reasons why COP can or cannot better modularize concerns.

Our paper titled “Extended Design Patterns in New Object-Oriented Programming Languages” has been accepted at 24th International Conference on Software Engineering and Knowledge Engineering (SEKE 2013).

Kazunori Sakamoto, Hironori Washizaki, Yoshiaki Fukazawa, “Extended Design Patterns in New Object-Oriented Programming Languages,” Proceedings of 24th International Conference on Software Engineering and Knowledge Engineering (SEKE 2013), pp.600-605, Hyatt Harborside at Logan Int’l Airport, Boston, June 27-29, 2013. (PDF)

Abstract

Most of design patterns are implemented in major object-oriented programming languages such as C++ and Java. However, newer object-oriented programming languages than such languages has new language features which can improve implementations of design patterns. In this paper, we propose two extended design patterns called customizable state pattern and deeply immutable pattern. We compares implementations of our design patterns in Java, C++ and eight new object-oriented programming languages through our motivating example. As a result, we confirmed new languages, in particular Scala, improved implementations of our design patterns.

Our paper titled “Team Characteristics for Maximizing the Educational Effectiveness of Practical Lectures on Software Intensive Systems Development” has been accepted at 26th IEEE-CS Conference on Software Engineering Education and Training (CSEET).

Shota Inaga, Hironori Washizaki, Yusuke Yoshida, Kazuhiko Kakehi, Yoshiaki Fukazawa, Shoso Yamato, Masashi Okubo, Teruhiko Kume, Manabu Tamaki and Toshikazu Kanou, “Team Characteristics for Maximizing the Educational Effectiveness of Practical Lectures on Software Intensive Systems Development,” Proceedings of 26th IEEE-CS Conference on Software Engineering Education and Training (CSEET), pp.XX-YY, San Francisco, May 19-21, 2013. (PDF)

Abstract

In practical lectures on software intensive business systems, we do not yet have an established method for determining what kind of personal characteristics and team compositions are most beneficial to obtaining the maximal educational effectiveness. Here, we propose a framework for analyzing the effects of personal characteristics of team members on educational effectiveness. We also apply the framework to an actual practical lecture. As a result, we find that it is better for a team to have members with a similar degree of tendency of conservative for acquiring more knowledge and skills and the team members have similar characteristics of progressive or conservative. It is expected that in similar practical lectures, we can also obtain the desired educational effectiveness if we can compose a team with the suitable characteristics as based on our findings.

Our paper titled “Goal-Oriented Requirements Analysis and an Extended Design Pattern using Scala for Artificial Intelligence Programming Contests” has been accepted at 3rd International Workshop on Games and Software Engineering (GAS 2013), conjunction with ICSE 2013.

Kazunori Sakamoto, Hiroaki Hosono, Seiji Sato, Hironori Washizaki, Yoshiaki Fukazawa, “Goal-Oriented Requirements Analysis and an Extended Design Pattern using Scala for Artificial Intelligence Programming Contests,” Proceedings of 3rd International Workshop on Games and Software Engineering (GAS 2013), conjunction with ICSE 2013, pp.32-35, San Francisco, May 18, 2013. (PDF)

Abstract

An artificial intelligence programming contest with game software is one of the most effective way of learning programming. Contestants can spontaneously learn programming to win in such contests. Although our previous work helps to hold artificial intelligence programming contests, its effectiveness is limited owing to an insufficient requirement analysis and uses of an unrefined design pattern. In this paper, we report on ACM JavaChallenge 2012, that is an artificial intelligence programming contest. we elicit requirements on a contest with a goal-oriented requirements analysis and extend the state design pattern using Scala to hold JavaChallenge 2012. We evaluate JavaChallenge 2012 very highly by questionnaire investigation.