Started in January,1974(Monthly)
Supervised and Sponsored by Chongqing Southwest Information Co., Ltd.
ISSN 1002-137X
CN 50-1075/TP
CODEN JKIEBK
Editors
    Content of Intelligent Software Engineering in our journal
        Published in last 1 year |  In last 2 years |  In last 3 years |  All
    Please wait a minute...
    For Selected: Toggle Thumbnails
    Survey on Runtime Input Validation for Context-aware Adaptive Software
    WANG Hui-yan, XU Jing-wei, XU Chang
    Computer Science    2020, 47 (6): 1-7.   DOI: 10.11896/jsjkx.200400081
    Abstract611)      PDF(pc) (1523KB)(1531)       Save
    With the widespread of intelligence and big data,context-aware adaptive software,one representative of intelligent software,has gained increasing popularities.It has two key characteristics:1) “context-aware”,referring to the ability of becoming aware of environments through ubiquitous sensors.2) “adaptive”,referring to the ability of making adaptations based on collected contexts.As such,context-aware adaptive software can at runtime sense its surrounding environment and make adaptations smartly.Besides,with the growing development of artificial intelligence (AI) technologies,more AI models have been applied in context-aware adaptive software for smarter adaptations.Therefore,on one hand,due to the complexity of environments at runti-me,the software suffers from severe reliability issues during its deployment,which is difficult to avoid by sole testing due to the lack of practically controllable environments,thus leading to great challenges for its runtime reliability assurance.On the other hand,the application of AI models in context-aware adaptive software further aggravates its reliability issues.As such,how to maintain the runtime reliability of context-aware adaptive software has been a widely-open research problem in intelligent software engineering,while input validation has shown promising in this field by identifying and isolating unexpected inputs from being fed into the software in order to avoid possible uncontrollable consequences at runtime.In this article,we survey techniques on runtime input validation for context-aware adaptive software concerning its two key characteristics:“context-aware” and “adaptive”.Meanwhile,we also dig into the reliability issue problem concerning its cost-effectiveness in solving,and overview the concerned research framework.Finally,we discuss some latest concerns of context-aware adaptive software at present and in future,and present how context-aware adaptive software supports the emergence of self-growing software in the vision.As a summary,we survey existing efforts on runtime input validation for context-aware adaptive software,and aim to form a structured framework for the potential solutions on its reliability issues.We wish this may shed some light on relative researchers in future.
    Reference | Related Articles | Metrics
    Experiment on Formal Verification Process of Parser of CompCert Compiler in Trusted Compiler Design
    LI Ling, LI Huang-hua, WANG Sheng-yuan
    Computer Science    2020, 47 (6): 8-15.   DOI: 10.11896/jsjkx.191000173
    Abstract567)      PDF(pc) (1516KB)(1519)       Save
    Jourdan and others presented a method to formally verify a parser in their paper Validating LR(1) Parsers published in 2012,and successfully applied it to the parser verification of CompCert compiler(version 2.3 and above).With this method,formal validation of the Lustre* parser is completed,which is a part of the Open L2C project,and one of the two options of the front-end parser of the Open L2C compiler is implemented.Firstly,this paper discussesthe implementation of the parser,inclu- ding some valuable technical details.Thenit analyzes the running performance and correctness of the parser.And finally,how to apply this method tomore general parsersis summarized.
    Reference | Related Articles | Metrics
    Multi-objective Optimization Methods for Software Upgradeability Problem
    ZHAO Song-hui, REN Zhi-lei, JIANG He
    Computer Science    2020, 47 (6): 16-23.   DOI: 10.11896/jsjkx.200400027
    Abstract581)      PDF(pc) (1670KB)(1128)       Save
    Open-source Package management as a means of reuse of software artifacts has become extremely popular,most notably in Linux distributions.Software upgradeabilty problem is a significant challenge which package management system must resolve.This problem aims to find the most suitable upgrade scheme that satisfies upgrade requests from users.An upgrade scheme comprises of a sequence of operations,including installing,removing,and/or upgrading packages.In the existing approaches for solving this problem,multiple upgrade requests are handled in aggregate ways.Hence,a potential risk of such approaches is that,the relationships between different upgrade objectives may not be considered properly.This paper introduces a novel approach SATMOEA,which forms software upgradeability problem as a SAT plus multi-objective optimization problem and addresses this problem combining constraint solving and multi-objective search-based optimization algorithms.We evaluate it on real instances provided by MISC (Mancoosi International Solver Competitions) and obtain promising results where we can find some Pareto optimal solutions for a complex instance with myriad constraints in a single run.In comparison with other solvers,it can provide more solutions with better diversity property to satisfy requirements in different scenarios.
    Reference | Related Articles | Metrics
    Model of Embedded Software for Solving Concurrent Defects
    CUI Kai, ZHAO Guo-liang, ZHOU Kuan-jiu, LI Ming-chu
    Computer Science    2020, 47 (6): 24-31.   DOI: 10.11896/jsjkx.191100187
    Abstract550)      PDF(pc) (4113KB)(1107)       Save
    Randomicity and nondeterminism of programs such as interrupts nesting or threads interleaving in embedded software can lead to concurrent defects such as data race and atomicity violations.Meanwhile,the insidious programming errors are difficult to restore and rebuild.Aiming at the concurrent defects of data race and atomicity violations in embedded software,a thin interrupt service routine (thin ISR) method is proposed in this paper.By using the state transition matrix (STM) to model,the program segments relatedto accessing shared variables in the interrupt processing program are migrated to the main program.The interrupt handler is only responsible for storing the external interrupt request data in the buffer,and the function of interrupt services is executed in the main program.Then the corresponding C codes are generated by the STM model.This method can efficiently avoid the happening of concurrent defects,such as data race and atomicity violations.Finally,queuing theory method is used to simulatethe arrival time and the departure time of the interrupt.Experimental results verify that this approach is feasible and effective in solving data race and atomicity violations.
    Reference | Related Articles | Metrics
    Modeling and Simulation of Q&A Community and Its Incentive Mechanism
    XU Zi-xi, MAO Xin-jun, YANG Yi, LU Yao
    Computer Science    2020, 47 (6): 32-37.   DOI: 10.11896/jsjkx.191000088
    Abstract446)      PDF(pc) (2079KB)(1111)       Save
    Question and Answer (Q&A) community has become an important platform of knowledge sharing over the Internet.It provides a series of incentive mechanisms (such as reputation,badge,privilege,etc.) to encourage users to participate,contri-bute,and improve the activities of the community.How to analyze the effectiveness of these incentive mechanisms and guide their improvement is an important challenge for the research and practice of Q&A community.This paper proposes a modeling and simulation analysis method based on multi-agent system.The community with a great amount of users is modelled as a multi-agent system consisting of autonomous agents,the contribution and interaction among community users are modelled as the coo-perative behavior of agents driven by the incentive mechanism.This paper specifies the incentive mechanism as the belief of agents,examines the generation of agent desires and the behaviors of agents based on self-determination theory.This paper collects the data of Stack Overflow community from 2016 to 2018,and conducts a simulation experiments on the development and evolution of the community based on NetLogo.The results show that the proposed model and mechanism abstractions can effectively explain and reveal the evolution process of Q&A community under the influence of incentive mechanism.
    Reference | Related Articles | Metrics
    Test Case Prioritization Based on Multi-objective Optimization
    XIA Chun-yan, WANG Xing-ya, ZHANG Yan
    Computer Science    2020, 47 (6): 38-43.   DOI: 10.11896/jsjkx.191100113
    Abstract621)      PDF(pc) (2041KB)(1667)       Save
    Regression testing is the most frequently used and expensive testing method in software testing.Test case prioritization is an effective way to reduce the cost of regression testing.Its purpose is to improve the ability of software fault detection by prio-ritizing the execution of high-level test cases.In this paper,a method of test case prioritization based on multi-objective optimization is proposed.The method integrates choice function into individual evaluation mechanisms of genetic algorithm.By designing a reasonable coding method and appropriate selection,crossover and mutation strategies,taking fault detection rate,sentence covera-ge rate and effective execution time as optimization objectives,non-dominated sorting genetic algorithm is used to optimize test case sort.The experimental results based on four benchmark programs and four industrial programs show that the proposed method can improve the effectiveness of software testing compared with other methods.
    Reference | Related Articles | Metrics
    Defect Recognition of APP Software Based on User Feedback
    DUAN Wen-jing, JIANG Ying
    Computer Science    2020, 47 (6): 44-50.   DOI: 10.11896/jsjkx.191100133
    Abstract311)      PDF(pc) (1440KB)(1036)       Save
    At present,APP software has been widely used,and its quality has been widely concerned.The high quality software defects should be fewer.However,software testing cannot find all defects.Some software defects can not be found until the user uses the software.This paper puts forward a method of software defect recognition based on user feedback.By defining the APP software defect extraction rule,software defects in user feedback are mined.During the mining of APP software’s defect,the extraction rule is dynamically updated.Then the classification and severity for the extracted defects are analyzed.The experimental results show that the proposed method is effective,the accuracy of extracting user comments including APP software’s defects is 85.19%,and the accuracy of defect classification is 83.23%.
    Reference | Related Articles | Metrics
    Analysis of Open Source Software Cliff Walls for Group Collaborative Development
    HE Peng, YU Lv-jun
    Computer Science    2020, 47 (6): 51-58.   DOI: 10.11896/jsjkx.190300140
    Abstract388)      PDF(pc) (1932KB)(830)       Save
    Due to the characteristics of low threshold and high freedom,open source software encounters slow progress,low efficiency and low quality in the development process.Software cliff wall as a criterion of project robustness,indicates unexpected acceleration in common incremental development activities over short periods of time,which is a potential threat to the sustainable development in software evolution.Therefore,analyzing the causes of software cliff walls is an effective method to deeply understand the development process of open source projects,to more accurately describe the evolution of software,and to improve the efficiency of software development.The experiment firstly constructes a series of developer collaboration networks (DCNs) over more than 150 thousand commits from 9 GitHub projects by month and quarter respectively.This paper consideres a single commit of more than 10 000 lines of code as a software cliffs.And then it introduces 9 metrics,such as the number of nodes,the number of connected edges,the node update rate,the module degree,the average path length,the average degree,the node penetration index,the node out-of-mean,and the diversity,to analyze the relationship between DCN and cliff walls from the perspectives of network scale,network structure and network quality.The results show that:1)smaller development teams and greater member turnover tend to cause a cliff wall;2)‘small world’ features among developers is helpful to avoid the emergence of software cliff walls;3)the relationship between DCN and software cliffs in the software development process is more appropriate in a quarterly cycle,and the diversity of the development team will also affect the creation of cliff walls in software development.
    Reference | Related Articles | Metrics
    Research Status and Development Trend of Identifier Normalization
    ZHANG Jing-xuan, JIANG He
    Computer Science    2020, 47 (3): 1-4.   DOI: 10.11896/jsjkx.200200009
    Abstract665)      PDF(pc) (1397KB)(1645)       Save
    As an important research content of source code analysis and comprehension,identifier normalization is the leading field of the current research of software engineering.Identifier normalization aims to parse identifiers into natural language terms so as to improve the understandability and maintainability of source code.There are generally two challenging steps in identifier normalization:identifier splitting and identifier expansion.This paper introduced the research status of identifier normalization in detail,conducted an in-depth analysis of the research status,and summarized the difficulties and deficiencies of the existing work.At the same time,in order to solve the difficulties and challenges in identifier normalization,this paper summarized and prospected the feasible solutions and future development trends in this field,hoping to guide more researchers into this important research field.
    Reference | Related Articles | Metrics
    Survey of Code Similarity Detection Methods and Tools
    ZHANG Dan,LUO Ping
    Computer Science    2020, 47 (3): 5-10.   DOI: 10.11896/jsjkx.190500148
    Abstract870)      PDF(pc) (1428KB)(6001)       Save
    Source code opening has become a new trend in the information technology field.While code cloning improves code quality and reduces software development cost to some extent,it also affects the stability,robustness and maintainability of a software system.Therefore,code similarity detection plays an important role in the development of computer and information security.To overcome the various hazards brought by code cloning,many code similarity detection methods and corresponding tools have been developed by academic and industrial circles.According to the manner of processing source code,these detection methodscould be roughly divided into five categories:text analysis based,lexical analysis based,grammar analysis based,semantics analysis based and metrics based.These detection tools can provide good detection performance in many application scenarios,but are also facing a series of challenges brought by ever-increasing data in this big data era.This paper firstly introduced code cloning problem andmade a detailed comparison between code similarity detection methods divided into five categories.Then,it classified and organized currently available code similarity detection tools.Finally,it comprehensively evaluated the detection performance of detection tools based on various evaluation criteria.Furthermore,the future research direction of code similarity detection was prospected.
    Reference | Related Articles | Metrics
    Taxonomy of Uncertainty Factors in Intelligence-oriented Cyber-physical Systems
    YANG Wen-hua,XU Chang,YE Hai-bo,ZHOU Yu,HUANG Zhi-qiu
    Computer Science    2020, 47 (3): 11-18.   DOI: 10.11896/jsjkx.191100052
    Abstract594)      PDF(pc) (1853KB)(1221)       Save
    Cyber-physical systems are increasingly presenting the characteristic of intelligence,while uncertainty is pervasive and intrinsic in them,e.g.,the sensors contain inevitable errors when the systems sense the environment through them.If the uncertainty is not properly handled,it will affect the correct running of the systems and bring a series of problems.Therefore,it is critical to study how to deal with uncertainty in cyber-physical systems.The premise of handling uncertainty is that we first need to understand and recognize it comprehensively.However,the existing work on the uncertainty of cyber-physical systems is still in its infancy.To address this issue,this paper studied the taxonomy of uncertainty in cyber-physical systems.Specifically,this paper classified the uncertainty based on the widely recognized 5C technology architecture in cyber-physical systems and introduced the possible uncertainties at each level of the technology architecture with illustrating examples in typical cyber-physical systems.Meanwhile,to help understand the current research status of uncertainty handling in the field of cyber-physical systems,this paper summarized the current research work and presented an outlook of future research directions for intelligence-oriented cyber-physical systems.
    Reference | Related Articles | Metrics
    Study on Optimization of Design Pattern Combination Operation
    JI Cheng-yu,ZHU Xue-feng
    Computer Science    2020, 47 (3): 19-24.   DOI: 10.11896/jsjkx.190100046
    Abstract373)      PDF(pc) (1622KB)(803)       Save
    As a summary of software design experience,proper use of design patterns can effectively improve the reusability of software systems and ensure the quality of the final software products.However,in practical applications,people rarely use a single design pattern,and usually software designers need to use experience to combine multiple patterns according to the actual application scenarios,which may lead to uncertainty results and seriously affect the quality of software products.Although the exi-sting formal method of pattern combination can effectively express the result of pattern combination,the combination method has complex logic and contains a large number of redundant operations,which is difficult for designers to be familiar with and adopt.Aiming at the problems existing in the above pattern combination process,this paper deeply discussed the combination relationship between multiple patterns.Starting from the formal representation of design patterns,combined with the characteristics of Z language,this paper studied the existing formal methods of pattern combination in depth,and optimized the existing pattern combination operators.Based on the existing set of operators,the constraint,superposition and extension operators are proposed,the exact semantics of pattern composition are defined by the operators,and the algebraic reasoning process is used to verify that the optimized method can effectively replace the existing formal method of pattern combination,it can overcome the problems of redundant operators and low efficiency caused by too many operators in the existing formal methods of pattern combination.Finally,the effectiveness of the proposed method is verified by a case study of pattern combination.
    Reference | Related Articles | Metrics
    Approach of Automatic Fork Summary Generation in Open Source Community Based on Feature Extraction
    ZHANG Chao,MAO Xin-jun,LU Yao
    Computer Science    2020, 47 (3): 25-33.   DOI: 10.11896/jsjkx.191000087
    Abstract719)      PDF(pc) (2504KB)(991)       Save
    At present,distributed collaborative development based on P/R has become the dominant software development me-thod in open source community.Because of the openness,transparency and parallelism of the software development in P/R mo-del,it is difficult for developers to obtain the complete Fork profile of the whole project,and know whether other developers have accomplished the same or similar development tasks,which are prone to duplicate contributions and redundant development.To solve this problem,this paper proposed an automatic generation method of Fork summary to help project managers strengthen project management,avoid redundant contributions,and enhance cooperation and communication among developers.The proposed method firstly crawls Issue data with feature and Bug label information in open source community,and trains a classifier model with random forest method to classify Fork features.Then,it collects the data of Fork branch’s software development activities and uses TextRank algorithm to generate detailed Fork information to explain the main purpose of Fork activity.Finally,a set of combination rules and corresponding algorithm are designed to integrate Fork’s categories,features and other information to form a complete Fork summary.In order to validate the effectiveness of the proposed method,30 groups of manual tests and 60 groups of actual live study were conducted on Github.The results show that the accuracy of Fork summary generated by this method is 67.2%.In the experiment,76% of project managers believe that Fork summary can help to better manage projects,and strengthen communication and cooperation.
    Reference | Related Articles | Metrics
    Semantic Similarity Based API Usage Pattern Recommendation
    ZHANG Yun-fan,ZHOU Yu,HUANG Zhi-qiu
    Computer Science    2020, 47 (3): 34-40.   DOI: 10.11896/jsjkx.190300053
    Abstract687)      PDF(pc) (1878KB)(1331)       Save
    In the process of software development,reusing application programming interface (API) can improve the efficiency of software development.However,it is difficult and time-consuming for developers to use unfamiliar APIs.Previous researches tend to take APIs as inputs to search corpus and recommend API usage patterns,which does not conform to the habits of developers searching for API usage patterns.This paper proposed a novel Semantic Similarity based API Usage Pattern Recommendation approach (SSAPIR).This approach first adopts hierarchical clustering algorithm to extract API usage patterns,and then calculates the semantic similarity between queries and API usage patterns’ description information,aiming to recommend highly relevant and widely used API usage patterns to developers.To verify the effectiveness of SSAPIR,Java projects are collected from GitHub,from which the API usage patterns related to the 9 popular third-party API libraries and their description information are extracted.Ultimately,this paper recommended API usage patterns based on natural language queries which are related to the 9 third-party API libraries.To verify the effectiveness of SSAPIR,this paper measured the Hit@K of the recommendation results.The experimental results demonstrate that SSAPIR can effectively improve the accuracy of recommendation results and achieves an average accuracy of 85.02% in terms of Hit@10,which outperforms the state-of-art work.SSAPIR can complete the API usage pattern recommendation task greatly and provide accurate API usage pattern recommendation for developers by taking natural language queries as inputs.
    Reference | Related Articles | Metrics
    Code Quality Recognition and Analysis Based on User’s Comments
    XU Hai-yan,JIANG Ying
    Computer Science    2020, 47 (3): 41-47.   DOI: 10.11896/jsjkx.191100132
    Abstract424)      PDF(pc) (1729KB)(1357)       Save
    With the development of IT community and code hosting platforms,the number of user’s comment about the code increasings dramatically.The comments given by users after using the code contain plenty of static and dynamic code quality information.The extraction and analysis of code quality information will help developers to understand the code quality information concerned by users and improve the quality of code.It is also helpful to users choose the code to meet the requirements.To this end,this paper proposed a code quality model including static and dynamic characteristics and a method to identify and analyze the code quality information in user’s comments.Firstly,the users’ comments with code quality are identified according to the evalua-tion objects and the evaluation sentence pattern rules.Secondly,the representations of the code quality attribute are extracted by using the evaluation objects and opinions.Finally,the related results of static and dynamic code quality are gained after analyzing the quality attributes representations and emotional tendency of code in user’s comments.The experimental results show that the proposed method can effectively analyze the code quality information in user’s comments.
    Reference | Related Articles | Metrics
    Software Requirements Clustering Algorithm Based on Self-attention Mechanism and Multi- channel Pyramid Convolution
    KANG Yan,CUI Guo-rong,LI Hao,YANG Qi-yue,LI Jin-yuan,WANG Pei-yao
    Computer Science    2020, 47 (3): 48-53.   DOI: 10.11896/jsjkx.190700146
    Abstract403)      PDF(pc) (1892KB)(950)       Save
    With the rapid increasing in the number of software and the increasing variety of types,how to mine the text characteristics of software requirements and cluster the characteristics of software requirements has become a major challenge in the field of software engineering.The clustering of software requirements texts provides a reliable guarantee for the software development process while reducing the potential risks and negative impacts of the requirements analysis phase.However,the software requirements text has the characteristics of high dispersion,high noise,and sparse data.At present,the work related to clustering is limited to a single type of text,and the functional semantics of software requirements are rarely considered.In view of the characteristics of the demand text and the limitations of the traditional clustering method,this paper proposed a software demand clustering algorithm (SA-MPCN&SOM) combining the self-attention mechanism and multi-channel pyramid convolution.The method captures the global features through the self-attention mechanism,and then extract the required text features from the depth of the different windows based on multi-channel pyramid convolution.Thus,the perceived text fragments are multiplied,and finally the multiplexed text features are clustered using SOM.The experimental results on the software demand data show that the proposed method can better mine the demand features,cluster the demand features,and outperform other feature extraction methods and clustering algorithms.
    Reference | Related Articles | Metrics
    Web Service Crowdtesting Task Assignment Approach Based onReinforcement Learning
    TANG Wen-jun,ZHANG Jia-li,CHEN Rong,GUO Shi-kai
    Computer Science    2020, 47 (3): 54-60.   DOI: 10.11896/jsjkx.191100085
    Abstract581)      PDF(pc) (1783KB)(1122)       Save
    How to assign tasks to appropriate workers to get better testing results at a lower cost is an important problem.This paper modeled the CWS testing task assignment as a Markov decision process-based problem,and used Deep Q Network to learn and perform real-time online testing task assignment.The proposed approach based on reinforcement learning is named WTA-C.In addition,this paper calculated the probability of the testing worker completing the task within the duration through statistical conditional probability in accordance with the time of the worker’s historical execution of tasks,and used it as the workers’ reputation value to reflect their quality.The worker’s reputation is updated after each assignment.The experimental results show that WTA-C is superior to other real-time assignment methods based on heuristic strategies in controlling the “quality-cost” trade-off of testing tasks and ensuring worker quality,and its assignment effect is more than 18% higher than that of each heuristic strategy,which demonstrates that WTA-C can better adapt to the structure of the CWS and the characteristics of Crowdsourcing environment.
    Reference | Related Articles | Metrics
      First page | Prev page | Next page | Last page Page 1 of 1, 17 records