Communications software reverse engineering: A semi-automatic approach

被引:7
|
作者
Saleh, K
Boujarwah, A
机构
[1] Kuwait University, Dept. of Elec. and Comp. Engineering, Safat 13060
关键词
communications software engineering; Estelle; reverse engineering; tools;
D O I
10.1016/0950-5849(95)01061-0
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
A large amount of existing data communications software was developed prior to the advances in software technology using informal and ad hoc techniques. As a result, developers are suffering during the maintenance of this software since the quality of both the software and the associated documentation is not acceptable. Moreover, the addition of features to this software is often leading to side-effects and unexpected interactions. Also, much of this software is missing a clear and formal service definition, or at least a formal statement about their mission. Design documents are either informal or incomplete and do not reflect the existing software, and test plans are either incomplete or not documented. Maintaining and expanding such software becomes unmanageable, very time-consuming and sometimes impossible. In this paper, we propose a reverse engineering method that can be applied to such informally developed communications software to facilitate the extraction of design choices and documentation in addition to the formal definition of the intended communication service. This method obtains a high-level abstraction of the communications software based on Estelle, an International Standardization Organization (ISO) standard specification language for protocols and for distributed systems in general. The application of this reverse engineering process will definitely increase the productivity of the protocol/software engineer. Morover, it will allow the revalidation and redesign of the extracted design and the derivation of more comprehensive test plans. An example is also provided to illustrate the application of the method.
引用
收藏
页码:379 / 390
页数:12
相关论文
共 50 条
  • [21] Fixit - A Semi-Automatic Software Deployment Tool for Arbitrary Targets
    Loseva, E.
    Obeid, A.
    Richter, H.
    Backes, R.
    Eichhorn, D.
    PROCEEDINGS OF THE 2018 INTERNATIONAL CONFERENCE ON INFORMATION SCIENCE AND SYSTEM (ICISS 2018), 2018, : 16 - 24
  • [22] ETLDiff: A semi-automatic framework for regression test of ETL software
    Thomsen, Christian
    Pedersen, Torben Bach
    DATA WAREHOUSING AND KNOWLEDGE DISCOVERY, PROCEEDINGS, 2006, 4081 : 1 - 12
  • [23] Standardization of a Novel Semi-Automatic Software for Neurite Outgrowth Measurement
    Musso, Giada
    Dotta, Sofia
    Parmar, Amisha
    Rasa, Daniela Maria
    Di Cunto, Ferdinando
    Marvaldi, Letizia
    JOVE-JOURNAL OF VISUALIZED EXPERIMENTS, 2024, (210):
  • [24] Reusable services and semi-automatic service composition for automotive software
    Giese, Holger
    MODEL-DRIVEN DEVELOPMENT OF RELIABLE AUTOMOTIVE SERVICES, 2008, 4922 : 161 - 181
  • [25] Identifying organisational learning needs: an approach to the semi-automatic creation of course structures for software companies
    Menolli, Andre
    Tirone, Huander
    Reinehr, Sheila
    Malucelli, Andreia
    BEHAVIOUR & INFORMATION TECHNOLOGY, 2020, 39 (11) : 1140 - 1155
  • [26] Semi-automatic differentiation
    Coleman, TF
    Santosa, F
    Verma, A
    COMPUTATIONAL METHODS FOR OPTIMAL DESIGN AND CONTROL, 1998, 24 : 113 - 126
  • [27] The semi-automatic nucleator
    Hansen, L. V.
    Nyengaard, J. R.
    Andersen, J. B.
    Jensen, E. B. V.
    JOURNAL OF MICROSCOPY, 2011, 242 (02) : 206 - 215
  • [28] ECONOMIC EFFECTIVENESS OF SEMI-AUTOMATIC OPEN ARC WELDING IN ENGINEERING
    BRECHAK, AM
    AUTOMATIC WELDING USSR, 1966, 19 (10): : 71 - &
  • [29] A Semi-automatic Approach to Reduce Uncertainty of Schema Matching
    Xie, Gang
    Lan, Yuqing
    2016 3RD INTERNATIONAL CONFERENCE ON INFORMATION SCIENCE AND CONTROL ENGINEERING (ICISCE), 2016, : 95 - 98
  • [30] An Approach for Building A Semi-Automatic Online Consultancy System
    Nguyen Thai-Nghe
    Quoc Dinh Truong
    2015 INTERNATIONAL CONFERENCE ON ADVANCED COMPUTING AND APPLICATIONS (ACOMP), 2015, : 51 - 58