![]() For facilitating the software process development, it might be optimum to have tools beingcertain which generate automatically or help UML generating models from the codes as a source. The extracted source codes have been converted into a certain structure to be easily analyzed in the following procedure. We collect a dataset of 480 projects from Github, CodeProject and Stack Overflow and 3 benchmark suites-CDAC Pthreads, Open POSIX Test Suites and PARSEC 3.0 and achieve an accuracy score of around 93.71% for all the design choices.Ĭurrently, reverse engineering is considered as a significant process to extract the design information and abstractions of a system from the present software. We build a tool Dcube based on the mathematical model and use various classifiers of a machine learning framework to infer design aspects related to concurrency and resource management. To address the same, we develop a generic mathematical model to interpret run-time non-deterministic events and encode functional as well as thread-specific behaviour in form of quantifiable features, which can be fitted into a standard solver for automated inference of design aspects from multi-threaded applications. Research has been proposed to mine programs to extract aspects of high-level design but not much to reverse-engineer the concurrent design from multi-threaded applications. This dataset can be used for replication of our study and others to build on and improve on this work.Įditor’s note: Open Science material was validated by the Journal of Systems and Software Open Science Board.Ĭomprehending existing multi-threaded applications effectively is a challenge without proper assistance. In this dataset, we supply for every diagram the following information: (a) a manually established ground truth of the quality of the layout, (b) an automatically established value for the layout-quality of the diagram (produced by our classifier), and (c) the values of key features of the layout of the diagram (obtained by image processing). (4) We offer a dataset of labeled UML class diagrams. ![]() (3) We evaluate the performance of our layout evaluator. (2) We analyze which features of UML class diagrams are most strongly related to the quality of their layout. (1) We show the feasibility of the automatic evaluation of the layout quality of UML class diagrams. This paper makes the following contributions: As ground truth, we use a dataset of 600+ UML Class Diagrams for which experts manually label the quality of the layout. We use machine learning techniques to build (linear) regression models based on features extracted from the class diagram images using image processing. In this way, this evaluator opens up the road for using machine learning to learn good layouting algorithms. (3) In the field of algorithm design for graph layouts, our evaluator can assess the layouts generated by such algorithms. (2) In an educational setting, the evaluator can grade the layout aspect of student assignments in courses on software modeling, analysis, and design. For example, automated feedback can be generated once a UML diagram is checked in the project repository. Such an automated evaluator has several uses: (1) From an industrial perspective, this tool could be used for automated quality assurance for class diagrams (e.g., as part of a quality monitor integrated into a DevOps toolchain). We use machine learning based on features extracted from the class diagram images using image processing. ![]() ![]() In this paper, we present an automated method for evaluating the layout quality of UML class diagrams. The quality of the layout of UML diagrams plays a crucial role in their comprehension. A key purpose of UML diagrams is to share knowledge about the system among developers. Mostly, UML diagrams capture an abstract view of a (piece of a) software system. UML diagrams are used in the analysis, construction, and maintenance of software systems. ![]() UML is the de facto standard notation for graphically representing software. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |