Papers - NITTA Naoya
-
A Method to Comprehend Feature Dependencies Based on Semi-Static Structures Reviewed International journal
Narumasa Kande and Naoya Nitta
Proceedings of IEEE 37th International Conference on Software Maintenance and Evolution (ICSME 2021) 2021.10
Joint Work
Authorship:Last author, Corresponding author
To understand why features of existing software can depend on each other is important for correct addition of a new feature to the software. Although some work has been done to detect feature dependency, it is not clear how effective such existing approaches are when they are applied to feature dependency comprehension because they are aimed at detection of runtime dependency between features. Therefore in this paper, we present an extraction method of source code that can be used to comprehend feature dependency. The method can extract a wider range of source code than existing techniques of feature dependency detection by using delta extraction. We conducted a controlled experiment with 20 professional programmers and confirmed that the difference of the extracted range has a positive effect on feature dependency comprehension. To figure out an internal mechanism to enable feature dependency, we also defined semi-static parts of object graphs that can be used to make features depend on each other. Finally, we confirmed that semistatic structures are actually used in feature dependencies in three open source programs and can be effectively extracted by
our method. -
A Formal Web Services Architecture Model for Changing PUSH/PULL Data Transfer Reviewed
Naoya Nitta, Shinji Kageyama and Kouta Fujii
Proceedings of the 19th Formal Aspects of Component Software 65 - 83 2023.10
Authorship:Lead author, Corresponding author
-
Delta extraction: An abstraction technique to comprehend why two objects could be related Reviewed International journal
IEEE 31st International Conference on Software Maintenance and Evolution (ICSME 2015) 61 - 70 2015.9
-
オブジェクトグラフの準静的構造に基づく機能依存理解の支援手法 Reviewed
新田 直也, 神出 稔正
コンピュータソフトウェア 40 ( 2 ) 2_146 - 2_165 2023.4
Authorship:Lead author, Corresponding author
-
Identifying Mandatory Code for Framework Use via a Single Application Trace Reviewed
Naoya Nitta, Izuru Kume, Yasuhiro Takemura
The 28th European Conference on Object-Oriented Programming (ECOOP 2014) 593 - 617 2014.8
Joint Work
Authorship:Lead author
Application frameworks allow application developers to effectively reuse both designs and implementations which frequently appear in their intended domains. However, when using a framework with large scale APIs, its usage to implement an application-specific behavior tends to be complicated. Thus, in practice, application developers use existing sample application code as references for their development, but the task to locate the parts which are related to their application usually becomes a burden. To address this problem, in this paper, we characterize the problem as a kind of dynamic flow analysis problem, and based on the characterization, we present a method to automatically identify the mandatory code for the framework use using only a single sample application's trace. We have conducted case studies with several real-world frameworks to validate our method and the results indicate that the method is suitable to extract the mandatory framework usage.
-
Towards a Dynamic Visualization of Complex Reverse-Engineered Object Collaboration Reviewed
Aki Hongo and Naoya Nitta
2021.12
Authorship:Last author
-
Revealing Implicit Correspondence between Bytecode Instructions and Expressions Determined by Java Compilers Reviewed
Izuru Kume, Masahide Nakamura, Naoya Nitta
Proc. of the 25th Australasian Software Engineering Conference (ASWEC) 126 - 130 2018.11
Joint Work
-
Constraints Based Approach to Interactive Feature Location Reviewed
Daiki Fujioka, Naoya Nitta
Proceedings - 2017 IEEE International Conference on Software Maintenance and Evolution, ICSME 2017 499 - 503 2017.11
Joint Work
Publisher:Institute of Electrical and Electronics Engineers Inc.
Feature location is a maintenance task to identify the implementation of a feature within the source code. To automate or support the task, extensive studies have been conducted on feature location techniques. In this paper, we focus on certain static and dynamic constraints regarding feature additions to object-oriented programs, and construct an interactive feature location procedure based on the constraints. We manually conducted a case study for several features of a real-world program on the assumption that the user always correctly answers the questions asked by the procedure. The results show that over 75% of the feature's implementation could be efficiently covered by the procedure with relatively small number of execution traces.
-
Experiences of debugger-based architecture comprehension Reviewed
Naoya Nitta
18th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD 2017) 2017.6
Single Work
Architecture comprehension is crucial for appropriately maintaining, evolving and reusing large scale software. However, in an actual software development, architecture descriptions are often insufficient, obsoleted or at worst missing, and most of the maintenance tasks are performed without sufficient understanding of the architecture. While many techniques to extract architectural information from existing source code have been proposed to support architecture comprehension, debuggers are still powerful for more exact comprehension of architectures. However, a debugger-based comprehension task usually becomes complicated and cumbersome. In this paper, we study debugger-based manual comprehension processes of real-world architectures. Through the case studies, we found that manual comprehension processes are basically driven by backward tracking of runtime flow of multiple non-primitive objects and such tracking task is cumbersome and time-consuming when only a debugger is available. We expect that the experiences of the case studies will be beneficial to exploring a dynamic analysis approach which can support exact comprehension of architectures.
-
A Formal Approach for Guiding Architectural Design with Data Constraints Reviewed
Naoya Nitta
The 15th IEEE/ACIS International Conference on Computer and Information Science (ICIS 2016) 2016.6
Single Work
Authorship:Lead author
The data managed in a software system is often controlled to behave dependently. Basically, dependent parts of the data can be controlled through their internal connections. However in a real-world system, dependencies among the data and its required behaviors are generally complex and designing its internal structure and control mechanism to satisfy all requirements becomes challenging. To cope with the problem, in this paper, we present a formal approach to guide an architecture design process so that given execution scenarios can be satisfied through iterative refinement of constraints among the data. For case studies, we applied our approach to a customer management system and a 3D game framework, and confirmed that a valid architectural design guide can be obtained.
-
Composite Refactoring for Decoupling Multiple Classes Reviewed
Yusuke Takahashi, Naoya Nitta
IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016) 594 - 598 2016.3
Joint Work
Abstract:
An architecture level change of existing software requires tedious, error-prone and time-consuming tasks. However, current Integrated Development Environments (IDEs) do not support such high-level refactorings. In this paper, we present a scalable but simple composite refactoring for decoupling multiple classes. In addition, we introduce several primitive refactorings as components of the composite refactoring. The details of the results of applying our composite refactoring to an actual architectural change are also reported in this paper. -
A Case Study of Dynamic Analysis to Locate Unexpected Side Effects Inside of Frameworks Reviewed
Izuru Kume, Masahide Nakamura , Naoya Nitta, Etsuya Shibayama
International Journal of Software Innovation (IJSI) 3 ( 3 ) 26 - 40 2015
Joint Work
Recently many frameworks are deployed without proper documents to explain their correct usage. In the absence of proper documents, application developers often write code to call a framework API in a wrong way. Such a wrong API call tends to bring about a failure after its complex chain of infection inside of a framework. The complexity and the lack of implementation knowledge about a framework make it difficult for application developers to debug this kind of failure. In the preceding study the authors focused on unexpected side effects that are caused by wrong API calls and bring about failures, and developed a dynamic analysis technique to detect such side effects. In this paper, the authors introduce a case study to find a wrong API call using our technique.
-
Toward a Dynamic Analysis technique to Locate Framework Misuses That Cause Unexpected Side Effects Reviewed
Izuru Kume, Masahide Nakamura, Naoya Nitta, Etsuya Shibayama
The 15th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD 2014) 2014.6
Joint Work
Recently many frameworks are used in software development without proper documentation, and are misused by application developers in calling framework APIs. Debugging a failure caused by a wrong API call is difficult and requires a proper supporting technique. In our preceding study we developed a dynamic analysis technique to detect possibly unexpected side effects that cause failures. In this paper, we introduce a case study to identify a wrong API call using this technique.
-
A Dynamic Analysis Technique to Extract Symptoms That Suggest Side Effects in Framework Applications Reviewed
Izuru Kume, Naoya Nitta, Masahide Nakamura, Etsuya Shibayama
The 29th ACM Symposium on Applied Computing (SAC2014) 1176 - 1178 2014.3
Joint Work
Program debugging forces time consuming tasks to locate defects on maintainers. Many existing supporting methods assume that maintainers can identify erroneous values and objects' states at run-time. However, such assumptions do not always hold in real program debugging. In this paper, we propose a dynamic analysis technique to extract symptoms which suggest a framework misuse in the process to update a state of an object. Symptoms help maintainers by showing which state updates are likely to be unexpected, even if maintainers can not decide if the updated states are correct or not. We developed a prototype tool to extract symptoms. We evaluate our method by applying it to a bug in a practical framework application developed by a third party.
-
フレームワークアプリケーションを対象としたプログラム修復支援手法の適用事例
森岡 友樹, 新田 直也
甲南大学紀要知能情報学編 7 ( 2 ) 173 - 190 2014
Single Work
-
複数クラスを横断する情報隠蔽のためのリファクタリングフレームワークの適用事例
高橋 祐介, 新田 直也
甲南大学紀要知能情報学編 7 ( 2 ) 153 - 171 2014
Joint Work
-
A Method for Early Detection of Mismatches between Framework Architecture and Execution Scenarios Reviewed
Naoya Nitta, Izuru Kume, Yasuhiro Takemura
The 20th Asia-Pacific Software Engineering Conference (APSEC 2013) 2013.12
Joint Work
Authorship:Lead author
Abstract:
Recently, application frameworks are widely used to facilitate software development. However in a real-world application development, potential mismatches between a selected framework and the application's specification often remain undetected until late in the development process. Especially if an architecture level mismatch between them is left unresolved, then enormous implementation level effort to suppress the mismatch and/or modification of the framework's internal implementation would be needed. To avoid the problems, we present a method to detect architectural mismatch between a selected framework and the execution scenarios of the application to develop before its implementation process. In this paper, we have evaluated two 3D game frameworks using our method for a case study, and have identified several problems to implement a certain game application. -
A Feature Model of Framework Applications Reviewed
Izuru Kume, Masahide Nakamura, Naoya Nitta, Etsuya Shibayama
The 14th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD 2013) 511 - 516 2013.7
Joint Work
Learning how to use application frameworks effectively becomes important in their widespread use in software development. Learning frameworks is often difficult because of lack of their documentation and their complexity. In order to help framework learning, we propose a behavioral model, called feature component model, which abstracts internal behaviors of framework applications in terms of their behavioral characteristics such as inversion of controls. We apply our behavioral model to an example misuse of a practical framework developed by a third party in order to show its practical usefulness.
DOI: 10.1109/SNPD.2013.14
-
プログラム解析技術を用いた大規模ソフトウェアの開発作業支援の試み Invited
新田 直也
甲南大学紀要 知能情報学部編 6 ( 6 ) 199 - 210 2013
Single Work
Authorship:Lead author
-
Work in progress: Analysis of the relationship between teaching contents and motivation in programming education Reviewed
Hidekuni Tsukamoto, Yasuhiro Takemura, Hideo Nagumo, Naoya Nitta
The 42th ASEE/IEEE Frontiers in Education Conference (FIE 2012) 2012.10
Joint Work
In this research the motivational levels of the students in a social welfare department while learning computer programming were analyzed relative to the contents that were taught in each lesson. The introductory programming course was game-based, and Java language was used with Eclipse as the Integrated Development Environment (IDE). The lessons were designed in such a way that as the students finished more and more assignments they were nearing completion of the Tetris game. The motivation levels were measured using a questionnaire based on the ARCS motivation model, which has four factors: Attention, Relevance, Confidence, and Satisfaction. As a result, it was found that the motivation of the students changes according to the lesson content.
-
Change of Students' Motivation in an Introductory Programming Course for Non-computing Majors Reviewed
Hidekuni Tsukamoto, Hideo Nagumo, Yasuhiro Takemura, Naoya Nitta
The IEEE 12th International Conference on Advanced Learning Technologies (ICALT) 124 - 125 2012.7
Joint Work
Abstract:
In this research, the motivational aspects of the students while learning introductory programming was monitored and analyzed. The students were in the social welfare department, and the programming language used was Java and Processing. Monitoring students' motivation throughout the course was found to be important because, by doing so, the weak points in the syllabus could be found and modified. It was also found to be important to devise topics relevant to the students, and to adjust the level of difficulty of the assignments so that the students can feel confident studying. -
Development of a 3D game engine Radish and its application to architecture comparisons Reviewed
4 ( 1 ) 1 - 12 2010.3
Joint Work
Authorship:Lead author
-
Development of a 3D game engine Radish and its application to architecture comparisons
新田 直也, 久野 剛司, 久米 出
Journal of digital games research 4 ( 1 ) 1 - 12 2010
-
3Dゲーム開発プロジェクト演習の実践とその評価
新田直也, 久野剛司
甲南大学紀要 知能情報学部編 2 ( 2 ) 225 - 232 2009.11
Joint Work
Authorship:Lead author
-
A Practice of Collaborative Project-Based Learning for Mutual Edification between Programming Skill and Artistic Craftsmanship Reviewed
Naoya Nitta, Izuru Kume, Yasuhiro Takemura
Proceedings of the 39th ASEE/IEEE Frontiers in Education Conference 2009.10
Joint Work
Authorship:Lead author
-
エンピリカルなソフトウェア工学教育を目的とした3Dゲーム用アプリケーションフレームワークの開発
新田直也, 久米出, 武村泰宏
甲南大学紀要 知能情報学部編 1 ( 2 ) 181 - 195 2008.11
Joint Work
Authorship:Lead author
-
An Extension of Object Oriented Programming for Structural Changes in System Design
Naoya Nitta, Izuru Kume, Yasuhiro Takemura
日本情報経営学会誌 28 ( 2 ) 43 - 53 2007.12
Joint Work
Authorship:Lead author
-
An Experiment to Explore Practical Training for Object-Oriented Design Novices
Izuru Kume, Naoya Nitta, Yasuhiro Takemura
Technical Report NAIST-IS-TR2007009, Nara Institute of Science and Technology 2007.5
Joint Work
-
A Method for Creating Teaching Materials of Practical Object-Oriented Methods Education Reviewed
Izuru Kume, Naoya Nitta,Yoshiaki Takemura
Proceedings of the 14th International Conference on Computers in Education 75 - 78 2006.12
Joint Work
-
A Method for Creating Teaching Materials of Practical Object-Oriented Methods Education.
Izuru Kume, Naoya Nitta, Yasuhiro Takemura
Learning by Effective Utilization of Technologies: Facilitating Intercultural Understanding, Proceeding of the 14th International Conference on Computers in Education, ICCE 2006, November 30 - December 4, 2006, Beijing, China 75 - 78 2006
Joint Work
Publisher:IOS Press
Other Link: http://dblp.uni-trier.de/db/conf/icce/icce2006.html#conf/icce/KumeNT06
-
An Efficient Method for Optimal Probe Deployment of Distributed IDS Reviewed
Jing Wang, Naoya Nitta, Hiroyuki Seki
IEICE Transactions on Information and Systems E88-D ( 8 ) 1948 - 1957 2005.8
Joint Work
-
An efficient method for optimal probe deployment of distributed IDS
J Wang, N Nitta, H Seki
IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS E88D ( 8 ) 1948 - 1957 2005.8
Joint Work
Publisher:IEICE-INST ELECTRONICS INFORMATION COMMUNICATIONS ENG
A distributed network-oriented Intrusion Detection System (IDS) is a mechanism which detects misuse accesses to an intranetwork by distributed IDSs on the network with decomposed attack scenarios. However, there are only ad hoc algorithms for determining a deployment of distributed IDSs and a partition of the attack scenarios. In this paper, we formally define this problem as the IDS partition deployment problem and design an efficient algorithm for a simplified version of the problem by graph theoretical techniques.
-
LTL Model Checking for Extended Pushdown Systems with Regular Tree Valuations Reviewed
Naoya Nitta, Hiroyuki Seki
コンピュータソフトウェア 22 ( 3 ) 58 - 75 2005.7
Joint Work
Authorship:Lead author
-
Policy Controlled System and Its Model Checking Reviewed
Sigeta Kuninobu, Yoshiaki Takata, Naoya Nitta, Hiroyuki Sek
IEICE Transactions on Information and Systems E88-D ( 7 ) 1685 - 1696 2005.7
Joint Work
-
Policy controlled system and its model checking
S Kuninobu, Y Takata, N Nitta, H Seki
IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS E88D ( 7 ) 1685 - 1696 2005.7
Joint Work
Publisher:IEICE-INST ELECTRONICS INFORMATION COMMUNICATIONS ENG
A policy is an execution rule (or constraint) for objects in a system to retain security and integrity of the system. We introduce a simple policy specification language and define its operational semantics. A new NFA construction algorithm that works in linear time is proposed and a model checking method for policy controlled system (PCS) is presented. We conducted verification of a sample PCS for hotel reservation by our automatic verification tool and the experimental results showed the efficiency of the proposed method.
-
LTL Model Checking for Extended Pushdown Systems with Regular Tree Valuations
Naoya Nitta, Hiroyuki Seki
Computer Software 22 ( 3 ) 58 - 75 2005
Joint Work
Publisher:日本ソフトウェア科学会
In this paper, we show an algorithm of LTL (linear temporal logic) model checking for LL-GG-TRS with regular tree valuation. The class LL-GG-TRS is defined as a subclass of term rewriting systems, and extends the class of pushdown systems (PDS) in the sence that pushdown stack of PDS is extended to tree structure. By this extension, we can model recursive programs with exception handling. © 2005, Japan Society for Software Science and Technology. All rights reserved.
-
An Extension of Pushdown System and Its Model Checking Method Reviewed
Naoya Nitta, Hiroyuki Seki
Proceedings of the 14th International Conference on Concurrency Theory 281 - 295 2003.9
Joint Work
Authorship:Lead author
-
An Extension of Pushdown System and Its Model Checking Method
Naoya Nitta, Hiroyuki Seki
Technical Report NAIST-IS-TR2003007, Nara Institute of Science and Technology 2003.6
Single Work
Authorship:Lead author
-
An Extension of Pushdown System and Its Model Checking Method.
Naoya Nitta, Hiroyuki Seki
CONCUR 2003 - Concurrency Theory, 14th International Conference, Marseille, France, September 3-5, 2003, Proceedings 278 - 292 2003
-
スタック検査機能を持つプログラムに対する効率のよいセキュリティ検証法 Reviewed
新田 直也, 高田 喜朗, 関 浩之
コンピュータソフトウェア 19 ( 3 ) 20 - 38 2002.5
Joint Work
Authorship:Lead author
-
スタック検査機能を持つプログラムに対するセキュリティ検証問題の決定可能性 Reviewed
新田 直也, 高田 喜朗, 関 浩之
電子情報通信学会論文誌(D-I) J85-D-I ( 4 ) 360 - 370 2002.4
Joint Work
Authorship:Lead author
-
Decidability of the Security Verification Problem for Programs with Stack Inspection
NITTA Naoya, TAKATA Yoshiaki, SEKI Hiroyuki
The Transactions of the Institute of Electronics,Information and Communication Engineers. 85 ( 4 ) 360 - 370 2002.4
Joint Work
Publisher:電子情報通信学会
Java development kit 1.2のように,プログラム実行時に制御スタックを検査することでアクセス制御を行うようなプログラム環境がある.Jensenらは,プログラム P 及び時相論理式を用いて記述された検証条件 ψ を与えたときに,P の到達可能な状態すべてが ψ を満たすかどうかを決定する問題として検証問題を定義し,相互再帰を含まないプログラムのクラスに対して検証問題が決定可能となることを示した. 本論文では,時相論理式よりも真に表現能力の大きい正規言語を用いて検証問題を定義する.そして,プログラムのトレース集合がインデックス言語となることを示し,その系としてプログラムが相互再帰を含む場合も含めて検証問題が一般に決定可能となることを示すことにより,Jensenらの結果を改善する.更に,自明なスタック検査のみを含むプログラムのクラスに対する検証問題が,プログラムサイズに対して多項式時間可解であることを示す.
-
Security Verification of Programs with Stack Inspection
Naoya Nitta
奈良先端科学技術大学院大学博士論文 2002.2
Single Work
Recently, with rapidly growth of open network environment, a well-defined access control mechanism becomes necessary. Java development kit 1.2 provides a runtime access control mechanism which inspects a control stack to examine whether the program has appropriate access permissions. Jensen et al. introduced a verification problem of deciding for a given program P with stack inspection and a given security property psi written in a temporal logic formula, whether every reachable state of $P$ satisfies psi. They showed that the problem is decidable for the class of programs which do not contain mutual recursion. In this thesis, we show that the set of state sequences of a program is always an indexed language and consequently the verification problem is decidable. Our result is stronger than Jensen's in that a security property can be specified by a regular language, whose expressive power is stronger than temporal logic, and in that a program can contain mutual recursion. We also investigated the computational complexity of the problem. Since the result implies the problem is computationally intractable in general, we introduce a practically important subclass of programs which exactly model programs containing stack inspection of Java development kit 1.2. We present an algorithm which can solve the problem for this subclass in linear time
in the size of a program. Furthermore, we implemented a verification system based on the proposed algorithm.
Experimental results suggest that the proposed lgorithm can be efficiently executed for real-world programs. -
An Efficient Security Verification Method for Programs with Stack Inspection
Nitta Naoya, Takata Yoshiaki, Seki Hiroyuki
Computer Software 19 ( 3 ) 176 - 194 2002
-
An Efficient Security Verification Method for Programs with Stack Inspection Reviewed
Naoya Nitta, Yoshiaki Takata, Hiroyuki Seki
Proceedings of the 8th ACM Conference on Computer and Communication Security 68 - 77 2001.11
Joint Work
Authorship:Lead author
-
Security Verification of Programs with Stack Inspection Reviewed
Naoya Nitta, Yoshiaki Takata, Hiroyuki Seki
Proceedings of 6th ACM Symp. on Access Control Models and Technologies 31 - 40 2001.5
Joint Work
Authorship:Lead author
-
Decidability and Complexity of the Security Verification Problem for Programs with Stack Inspection
Naoya Nitta, Satoshi Ikada, Yoshiaki Takata, Hiroyuki Seki
Technical Report NAIST-IS-TR2001003, Nara Institute of Science and Technology 2001.3
Joint Work
Authorship:Lead author
-
An efficient security verification method for programs with stack inspection.
Naoya Nitta, Yoshiaki Takata, Hiroyuki Seki
CCS 2001, Proceedings of the 8th ACM Conference on Computer and Communications Security, Philadelphia, Pennsylvania, USA, November 6-8, 2001. 68 - 77 2001
Joint Work
Publisher:ACM
Other Link: http://dblp.uni-trier.de/db/conf/ccs/ccs2001.html#conf/ccs/NittaTS01
-
Security verification of programs with stack inspection.
Naoya Nitta, Hiroyuki Seki, Yoshiaki Takata
6th ACM Symposium on Access Control Models and Technologies, SACMAT 2001, Litton-TASC, Chantilly, Virginia, USA, May 3-4, 2001 31 - 40 2001
Joint Work
Publisher:ACM
Other Link: http://dblp.uni-trier.de/db/conf/sacmat/sacmat2001.html#conf/sacmat/NittaST01