591 lines
25 KiB
Markdown
591 lines
25 KiB
Markdown
file:: [SOSYM-23-00004493_Proof_hi_1692636004494_0.pdf](../assets/SOSYM-23-00004493_Proof_hi_1692636004494_0.pdf)
|
||
file-path:: ../assets/SOSYM-23-00004493_Proof_hi_1692636004494_0.pdf
|
||
|
||
- evolutionary algorithm (EA) approach to automatically repair transformations containing many semantic errors.
|
||
ls-type:: annotation
|
||
hl-page:: 2
|
||
hl-color:: purple
|
||
id:: 64ee16be-1627-4a5a-9d9f-1ddadf7d0ad3
|
||
- To prevent the fitness plateaus and the single fitness peak limitations from our previous work, we include the notion of social diversity as an objective for our EA to promote repair patches tackling errors that are less covered by the other patches of the population.
|
||
ls-type:: annotation
|
||
hl-page:: 2
|
||
hl-color:: purple
|
||
id:: 64ee16d2-ad2f-48ea-810a-9dba3b9e4a4d
|
||
- n this context, MDE sees models as first-class artifacts where domain-specific modeling languages to capture specific aspects of the solution.
|
||
ls-type:: annotation
|
||
hl-page:: 2
|
||
hl-color:: red
|
||
id:: 64ee1700-8041-446e-b39d-bfbf97fc6e92
|
||
hl-stamp:: 1693325058884
|
||
- l.
|
||
ls-type:: annotation
|
||
hl-page:: 2
|
||
hl-color:: red
|
||
id:: 64ee1761-2a83-4564-9002-a1144dd14f1b
|
||
- when the transformation compiles but the implemented behavior is not the one that was intended by the developers, we say that it contains semantic errors.
|
||
ls-type:: annotation
|
||
hl-page:: 3
|
||
hl-color:: blue
|
||
id:: 64ee17ae-8038-42f9-8cb7-4e2317e9a6e4
|
||
hl-stamp:: 1693325233231
|
||
- Because semantic errors pertain to the transformation’s behavior and each faulty transformation needs tailored patches, predefined patches are not well-suited for semantic errors.
|
||
ls-type:: annotation
|
||
hl-page:: 3
|
||
hl-color:: blue
|
||
id:: 64ee17c5-8cf4-4236-953b-bc7fbd65c099
|
||
- o fix errors related to a transformation’s behavior, automated approaches usually rely on a specification of the expected behavior (e.g., test cases or examples) to assess the fitness of a patch, and thus efficiently guide the search strategy.
|
||
ls-type:: annotation
|
||
hl-page:: 3
|
||
hl-color:: purple
|
||
id:: 64ee1ae5-2d5a-4958-ba91-de31fb6b2039
|
||
hl-stamp:: 1693326055885
|
||
- utomated patch generation for fixing semantic errors in ATL transformation rules.
|
||
ls-type:: annotation
|
||
hl-page:: 25
|
||
hl-color:: green
|
||
id:: 64ee1b0a-3320-47f4-8e0e-559ef6024ffc
|
||
hl-stamp:: 1693326092268
|
||
- This approach usually finds patches to correct transformations having fewer errors, but in the presence of more errors, the approach cannot find a solution or will take too long to converge toward suitable patches
|
||
ls-type:: annotation
|
||
hl-page:: 3
|
||
hl-color:: yellow
|
||
id:: 64eeefb2-14e6-4759-8d50-a309b2b7e88d
|
||
hl-stamp:: 1693380531967
|
||
- EAs are known to give more power to good solutions, which can cause converging issues due to loss of diversity, a problem known as single fitness peak.
|
||
ls-type:: annotation
|
||
hl-page:: 3
|
||
hl-color:: blue
|
||
id:: 64eef00f-1c9d-4a1d-ad79-e9969b7388bc
|
||
hl-stamp:: 1693380625482
|
||
- sing behavior specifications such as test cases to guide the search in EAs can exacerbate these limitations
|
||
ls-type:: annotation
|
||
hl-page:: 3
|
||
hl-color:: blue
|
||
id:: 64eef01c-b908-4377-944c-45ddfad615fe
|
||
- o improve the efficiency and effectiveness of EAs using test cases, our improved approach leverages the notion of social diversity [4].
|
||
ls-type:: annotation
|
||
hl-page:: 3
|
||
hl-color:: blue
|
||
id:: 64eef044-1fcd-4094-a953-f832ba08adb1
|
||
- Our hypothesis is that including this measure in the process will maintain or improve the diversity of the patches, thereby reducing the negative impact on convergence of single fitness peak and fitness plateau
|
||
ls-type:: annotation
|
||
hl-page:: 3
|
||
hl-color:: yellow
|
||
id:: 64eef068-367d-4ffe-b559-70822646ff3b
|
||
hl-stamp:: 1693380715118
|
||
- e formulate the transformation repair as a multi-objective optimization problem, where solutions must optimize several objectives including social diversity. Our approach is implemented using the NSGA-II algorithm, a fast multi-objective EA [10]
|
||
ls-type:: annotation
|
||
hl-page:: 3
|
||
hl-color:: purple
|
||
id:: 64eef09c-7959-4d17-9aaf-d372f7b1d44c
|
||
hl-stamp:: 1693380766522
|
||
- The evaluation shows that social diversity is able to improve both the efficiency and the efficacy of EAs to fix faulty transformations, even when they contain up to five semantic errors
|
||
ls-type:: annotation
|
||
hl-page:: 4
|
||
hl-color:: purple
|
||
id:: 64ef04a0-20d3-4582-9d86-9113d8869909
|
||
- We then present the types of errors that can be found in such transformations, including semantic errors, which are the target of this work
|
||
ls-type:: annotation
|
||
hl-page:: 4
|
||
hl-color:: green
|
||
id:: 64ef04de-145d-4ba9-a13e-02f48b796c6d
|
||
hl-stamp:: 1693385953481
|
||
- hus, a given transformation is defined for a pair of meta-models,
|
||
ls-type:: annotation
|
||
hl-page:: 4
|
||
hl-color:: yellow
|
||
id:: 64ef075b-0807-4ba9-9d00-eca724425600
|
||
hl-stamp:: 1693386589091
|
||
- Syntactic errors can be due to type misuse such as referring to elements that are not in the meta-models or setting properties with values of the wrong type.
|
||
ls-type:: annotation
|
||
hl-page:: 6
|
||
hl-color:: green
|
||
id:: 64ef0b14-6598-45a6-9d77-8a35c8ca2332
|
||
hl-stamp:: 1693387542184
|
||
- Semantic errors make a transformation behave in a way that differs from what is expected, i.e., the transformation is semantically incorrect with respect to a specification of the expected behavior
|
||
ls-type:: annotation
|
||
hl-page:: 6
|
||
hl-color:: blue
|
||
id:: 64ef0b27-cedf-482a-805d-de86d6469091
|
||
hl-stamp:: 1693387561631
|
||
- Program repair can be defined by the transformation of an unacceptable behavior of a program into an acceptable one according to a specification [25]
|
||
ls-type:: annotation
|
||
hl-page:: 6
|
||
hl-color:: blue
|
||
id:: 64ef0bdc-9a0f-48f4-ab00-c2e327afa47d
|
||
hl-stamp:: 1693387747203
|
||
- patch a sequence of edit operations which modifies a transformation’s source code.
|
||
ls-type:: annotation
|
||
hl-page:: 6
|
||
hl-color:: green
|
||
id:: 64ef0c0d-5446-4321-96e8-98c3125528b3
|
||
hl-stamp:: 1693387791444
|
||
- [:span]
|
||
ls-type:: annotation
|
||
hl-page:: 7
|
||
hl-color:: green
|
||
id:: 64ef0c46-e3d4-4971-b3db-3a7f0c98d933
|
||
hl-type:: area
|
||
hl-stamp:: 1693387846594
|
||
- We thus use these edit operations to compose the patches to repair faulty ATL transformations. W
|
||
ls-type:: annotation
|
||
hl-page:: 6
|
||
hl-color:: green
|
||
id:: 64ef0c76-0862-40a8-9f32-a48abd4eb1b1
|
||
- resents related work and Section 8 concludes the pape
|
||
ls-type:: annotation
|
||
hl-page:: 4
|
||
hl-color:: yellow
|
||
id:: 64ef0c9e-53be-4e0e-a82a-80b43b9ac49f
|
||
hl-stamp:: 1693387937866
|
||
- This patch therefore modifies the faulty transformation behavior, and the patched transformation produces the expected output model. This three-edit patch is thus considered optimal to repair the transformation with regards to the provided test case
|
||
ls-type:: annotation
|
||
hl-page:: 7
|
||
hl-color:: yellow
|
||
id:: 64ef37c8-3018-4922-853d-7b0c16b6e2e9
|
||
- Input/output in test cases may reveal the presence of semantic errors, but do not provide a clear indication of what is causing the errors, nor the rules in which they may occur.
|
||
ls-type:: annotation
|
||
hl-page:: 7
|
||
hl-color:: yellow
|
||
id:: 64ef385d-2265-4d40-b96b-d14d95818a44
|
||
- In such situations, an alternative is to formulate the task as an optimization problem, where the goal is to automatically find optimal solutions in the space of all possible solutions
|
||
ls-type:: annotation
|
||
hl-page:: 7
|
||
hl-color:: yellow
|
||
id:: 64ef3895-e5e5-4881-b7b8-877d13105706
|
||
- edit operations, a
|
||
ls-type:: annotation
|
||
hl-page:: 7
|
||
hl-color:: yellow
|
||
id:: 64ef3970-80ba-4e24-ad30-94c074a0dadb
|
||
- test suite, where each test case in that suite consists of one input model and its corresponding output model
|
||
ls-type:: annotation
|
||
hl-page:: 7
|
||
hl-color:: green
|
||
id:: 64ef3a3d-2e67-478b-9cd1-8078443b0302
|
||
hl-stamp:: 1693399617623
|
||
- how these produced output models differ from the reference output models in that test suite.
|
||
ls-type:: annotation
|
||
hl-page:: 8
|
||
hl-color:: green
|
||
id:: 64ef3a5a-430c-43dc-a6f3-c4deda8e2a2a
|
||
- how does this differ from the reference output model outi?
|
||
ls-type:: annotation
|
||
hl-page:: 8
|
||
hl-color:: green
|
||
id:: 64ef3a6b-d9c4-4041-bc55-d1dcde751ce1
|
||
- Equation 2 which collects this set of differences. This will allow for the measuring of how many and which errors are fixed by patching a transformation.
|
||
ls-type:: annotation
|
||
hl-page:: 8
|
||
hl-color:: green
|
||
id:: 64ef3a86-1f88-4ac7-a988-846720effdcf
|
||
- edit operations
|
||
ls-type:: annotation
|
||
hl-page:: 8
|
||
hl-color:: yellow
|
||
id:: 64ef3ab5-7feb-41a3-9749-d0faeacccb66
|
||
hl-stamp:: 1693399737748
|
||
- We will combine i) and ii) in our approach to repeatedly patch transformations and determine the fitness of that patch in terms of the errors fixed
|
||
ls-type:: annotation
|
||
hl-page:: 8
|
||
hl-color:: yellow
|
||
id:: 64ef3b30-19a3-4139-97a0-ef63ee319beb
|
||
- We discuss EAs as applied to transformation repair, in the context of the multi-objective algorithm introduced by our previous work [41]
|
||
ls-type:: annotation
|
||
hl-page:: 8
|
||
hl-color:: green
|
||
id:: 64ef3c52-07b9-454a-a2e8-1707ea2208ac
|
||
hl-stamp:: 1693400148586
|
||
- A second objective is also discussed which prevents the patches from growing unnecessarily large during the search, an issue known as bloating
|
||
ls-type:: annotation
|
||
hl-page:: 8
|
||
hl-color:: green
|
||
id:: 64ef4349-1534-401d-9d62-05f939afb166
|
||
hl-stamp:: 1693401934239
|
||
- efficiently exploring the search space
|
||
ls-type:: annotation
|
||
hl-page:: 8
|
||
hl-color:: green
|
||
id:: 64ef43ba-e4f5-4732-a79d-d5047fe455b5
|
||
- EAs maintain a population of candidate solutions which undergo an evolution process through several generations. At each generation, some solutions are mutated (i.e., we use an existing solution to create a slightly different solution) and other solutions are bred (i.e., several existing solutions are recombined to create new solutions).
|
||
ls-type:: annotation
|
||
hl-page:: 8
|
||
hl-color:: blue
|
||
id:: 64ef43d3-9194-4dc2-9dca-0ff2d6704af0
|
||
hl-stamp:: 1693402069846
|
||
- The considered mutations here are 1) adding an edit operation, 2) removing an edit operation and or3) modifying an edit operation.
|
||
ls-type:: annotation
|
||
hl-page:: 9
|
||
hl-color:: yellow
|
||
id:: 64ef4597-b4cf-4ab9-aa15-3babe527a6f9
|
||
hl-stamp:: 1693402523566
|
||
- union
|
||
ls-type:: annotation
|
||
hl-page:: 10
|
||
hl-color:: yellow
|
||
id:: 64ef4606-e94a-42c9-bbc0-892bd318d1c1
|
||
- 392393
|
||
ls-type:: annotation
|
||
hl-page:: 9
|
||
hl-color:: yellow
|
||
id:: 64ef4641-5789-4588-9036-10525b7cae5e
|
||
- This ranking is then used to select the better half of the population, and discard the solutions with poor fitness.
|
||
ls-type:: annotation
|
||
hl-page:: 9
|
||
hl-color:: green
|
||
id:: 64ef4643-be7d-4872-98ce-c7e6452e93d8
|
||
hl-stamp:: 1693402693295
|
||
- At each generation, the fitness function would thus favor the patches passing the most test cases, until finding one passing them all.
|
||
ls-type:: annotation
|
||
hl-page:: 9
|
||
hl-color:: yellow
|
||
id:: 64ef466f-2a72-421b-b8ee-db588e313e49
|
||
hl-stamp:: 1693402766349
|
||
- Multi-objective optimization problems introduce the idea that the fitness of candidate solutions may be evaluated based on several objectives, which may conflict with each other.
|
||
ls-type:: annotation
|
||
hl-page:: 9
|
||
hl-color:: blue
|
||
id:: 64ef475d-fd48-4b41-8113-044bf6cde999
|
||
hl-stamp:: 1693402975312
|
||
- Thus, non-dominated solutions are not comparable and can be considered equally good.
|
||
ls-type:: annotation
|
||
hl-page:: 10
|
||
hl-color:: blue
|
||
id:: 64ef477e-bc2d-40d5-94ae-787955554967
|
||
- NSGA-II [10], a well-known fast multi-objective genetic algorithm, that is suitable to the kind of problem we are solving
|
||
ls-type:: annotation
|
||
hl-page:: 10
|
||
hl-color:: green
|
||
id:: 64ef47dd-22cb-42f3-a754-1a50cc9dec87
|
||
hl-stamp:: 1693403104543
|
||
- a number of iterations or one or more objectives greater than a certain threshold.
|
||
ls-type:: annotation
|
||
hl-page:: 10
|
||
hl-color:: green
|
||
id:: 64ef648b-1567-4557-8a6a-3891c7abfc3a
|
||
- repairing transformations
|
||
ls-type:: annotation
|
||
hl-page:: 10
|
||
hl-color:: green
|
||
id:: 64ef64ac-91a5-419d-8d12-44fefb29cb10
|
||
- e more test cases pass, the better the patch.
|
||
ls-type:: annotation
|
||
hl-page:: 10
|
||
hl-color:: green
|
||
id:: 64ef64b7-54a7-4bcb-a6a3-a7caff1d00e6
|
||
- n the case of ATL transformations, test cases are pairs of input/output models: provided with the input models, a correct transformation should output the expected models.
|
||
ls-type:: annotation
|
||
hl-page:: 10
|
||
hl-color:: green
|
||
id:: 64ef64c1-c763-443c-b1c1-695ea5535745
|
||
- equivalent to the expected output, then the test case passes
|
||
ls-type:: annotation
|
||
hl-page:: 10
|
||
hl-color:: yellow
|
||
id:: 64ef64de-a45a-4a79-b0ef-eb6a379c1e01
|
||
hl-stamp:: 1693410527962
|
||
- efine the fitness score by considering the differences between the two output models
|
||
ls-type:: annotation
|
||
hl-page:: 10
|
||
hl-color:: green
|
||
id:: 64ef6511-65c2-4850-bd99-49f008a47a0b
|
||
hl-stamp:: 1693410582425
|
||
- The idea is that even if a patch does not correct all the errors and does not pass all the tests, a partial solution should lead to less discrepancies between the output models and the expected ones compared to a random solution
|
||
ls-type:: annotation
|
||
hl-page:: 10
|
||
hl-color:: yellow
|
||
id:: 64ef6524-42b7-4a96-a0ae-de2f2fe122bc
|
||
hl-stamp:: 1693410598827
|
||
- When such a patch is found, the process stops
|
||
ls-type:: annotation
|
||
hl-page:: 11
|
||
hl-color:: green
|
||
id:: 64ef65e2-d5e7-49b0-944f-705ac9d9f34b
|
||
hl-stamp:: 1693410787928
|
||
- ompute the number of differences between these models
|
||
ls-type:: annotation
|
||
hl-page:: 11
|
||
hl-color:: green
|
||
id:: 64f03cff-821c-483e-9f6e-9d155f8c1719
|
||
- loating is a known issue in EAs where the solutions considered during a run grow in size and become larger than necessary to represent good solutions.
|
||
ls-type:: annotation
|
||
hl-page:: 11
|
||
hl-color:: green
|
||
id:: 64f03d8d-77e4-4449-84d7-35cdaf993230
|
||
- number of operations in the patch
|
||
ls-type:: annotation
|
||
hl-page:: 11
|
||
hl-color:: green
|
||
id:: 64f03db8-3713-4aac-bb23-206437bfc12b
|
||
- his objective thus favors patches of small size to avoid generating candidate patches using too many edit operations
|
||
ls-type:: annotation
|
||
hl-page:: 11
|
||
hl-color:: blue
|
||
id:: 64f03dc3-14d3-45fa-822a-d8ae2c8d81db
|
||
- We then present the third objective in our algorithm, which is designed to preserve diversity in the population.
|
||
ls-type:: annotation
|
||
hl-page:: 12
|
||
hl-color:: blue
|
||
id:: 64f03e01-7fcf-40de-a73a-a259054ac1df
|
||
- Carefully designing the fitness function is essential and may impact both the approach’s efficiency (time to converge toward an optimal solution) and efficacy(whether it converges towards optimal solution or not).
|
||
ls-type:: annotation
|
||
hl-page:: 12
|
||
hl-color:: yellow
|
||
id:: 64f0458e-5577-4dda-abc4-87357be6e9dc
|
||
- nd the necessary material to cover all errors and pass all tests is lost to their profits.
|
||
ls-type:: annotation
|
||
hl-page:: 12
|
||
hl-color:: yellow
|
||
id:: 64f0489e-d6ed-4822-989f-b34b62f694fe
|
||
- ustaining a certain level of diversity within the population, i.e., ensuring that individuals are scattered in different regions of the search space, increases the chances to find good solutions efficiently
|
||
ls-type:: annotation
|
||
hl-page:: 12
|
||
hl-color:: blue
|
||
id:: 64f048d6-e725-40a1-954d-4e0ecf041c70
|
||
- s a consequence, a lot of candidate solutions (partial or bad) have the same fitness score, thus creating fitness plateaus, i.e., large parts of the fitness landscape where all solutions have the same fitness score even though they are different from one another, and even though some of them are partial solutions [11, 36]
|
||
ls-type:: annotation
|
||
hl-page:: 12
|
||
hl-color:: blue
|
||
id:: 64f04926-0b3a-43de-8d7c-098ff286e39b
|
||
- We found that partial patches (partial solutions) were quickly discarded in the process due to fitness plateaus. The more errors to correct, the larger the size of the plateaus and the less effective the search for an optimal patch
|
||
ls-type:: annotation
|
||
hl-page:: 13
|
||
hl-color:: blue
|
||
id:: 64f04958-b8ce-4e75-8a9b-dfc3500ed164
|
||
- Semantic Diversity
|
||
ls-type:: annotation
|
||
hl-page:: 13
|
||
hl-color:: green
|
||
id:: 64f04974-0412-4159-8542-6725fc5362c7
|
||
- genotypic
|
||
ls-type:: annotation
|
||
hl-page:: 13
|
||
hl-color:: green
|
||
id:: 64f04ce5-2234-44d1-9b05-b7a2a1c3c0b4
|
||
- syntactic
|
||
ls-type:: annotation
|
||
hl-page:: 13
|
||
hl-color:: green
|
||
id:: 64f04ce9-1989-42b2-8f1e-73a0e939df31
|
||
- diversity
|
||
ls-type:: annotation
|
||
hl-page:: 13
|
||
hl-color:: green
|
||
id:: 64f04cec-84d8-40af-8519-dcf5d9b173f0
|
||
- syntactic diversity would promote patches of variable size and using dissimilar edit operations
|
||
ls-type:: annotation
|
||
hl-page:: 13
|
||
hl-color:: blue
|
||
id:: 64f04cfb-fa92-4a31-a784-4529f72fceda
|
||
- semantic. This time, it distinguishes individuals based on their behaviors without considering their structure.
|
||
ls-type:: annotation
|
||
hl-page:: 13
|
||
hl-color:: green
|
||
id:: 64f04d24-7758-4430-81cb-cddcc674ff74
|
||
- When targeting semantic errors in transformations, maintaining diversity in transformations’ behaviors is highly relevant
|
||
ls-type:: annotation
|
||
hl-page:: 13
|
||
hl-color:: green
|
||
id:: 64f04d40-74b6-442a-86c8-b201a7df370a
|
||
- understanding the impact of syntactic diversity on the behavior of a program is quite complex [23].
|
||
ls-type:: annotation
|
||
hl-page:: 13
|
||
hl-color:: green
|
||
id:: 64f04d62-4666-4847-bfc1-e345f5a7bf9f
|
||
- semantic diversity, which is also known to be more efficient to prevent single fitness peak [4, 40]
|
||
ls-type:: annotation
|
||
hl-page:: 13
|
||
hl-color:: green
|
||
id:: 64f04d71-b9c1-4608-b91d-6217934b4bb6
|
||
- ocial diversity measure is to assess a candidate solution not only by examining the solution alone, but also by considering the solution as a part of the population.
|
||
ls-type:: annotation
|
||
hl-page:: 13
|
||
hl-color:: blue
|
||
id:: 64f04d8b-3d69-43d3-804e-0d10f236bc8f
|
||
- t aims at assessing the value a candidate patch brings to the entire population
|
||
ls-type:: annotation
|
||
hl-page:: 13
|
||
hl-color:: yellow
|
||
id:: 64f04db0-248f-4879-a3dd-46bb07de8af1
|
||
- we propose a social diversity measure relying, not on the number of passing test cases, but on the differences between the obtained output models and the expected ones.
|
||
ls-type:: annotation
|
||
hl-page:: 13
|
||
hl-color:: blue
|
||
id:: 64f0535a-500e-4f8d-be63-87bdf5c3e879
|
||
- . We think that bringing social diversity in our fitness function will help maintain a population of patches addressing different parts of the output models, thus increasing the chances to escape fitness plateaus caused by errors interactions.
|
||
ls-type:: annotation
|
||
hl-page:: 14
|
||
hl-color:: green
|
||
id:: 64f053dc-88bf-4325-a08e-76dc2d0d0aa7
|
||
- Social diversity is calculated for patches by determining the uniqueness of the errors they address, compared to the rest of the population
|
||
ls-type:: annotation
|
||
hl-page:: 14
|
||
hl-color:: green
|
||
id:: 64f05712-d826-4245-bd13-27c03d26239c
|
||
- The patches which address a unique set of errors are then assigned a better score.
|
||
ls-type:: annotation
|
||
hl-page:: 14
|
||
hl-color:: purple
|
||
id:: 64f0576d-d50e-4035-baa7-64c5fd663a38
|
||
- A matrix D is constructed to record which of the errors are addressed by each patch
|
||
ls-type:: annotation
|
||
hl-page:: 14
|
||
hl-color:: green
|
||
id:: 64f057ac-2a20-4783-9ef3-54095e6c358d
|
||
- Fig. 10 An overview of our model transformation repair approach
|
||
ls-type:: annotation
|
||
hl-page:: 15
|
||
hl-color:: yellow
|
||
id:: 64f058c4-5a31-457e-a839-59c169abc72f
|
||
- Automatix
|
||
ls-type:: annotation
|
||
hl-page:: 15
|
||
hl-color:: purple
|
||
id:: 64f0591c-a0db-4817-a805-331fc32fb094
|
||
- RQ1: What is the impact of social diversity on the effectiveness of the approach (i.e., finding a patch correcting all the errors)?
|
||
ls-type:: annotation
|
||
hl-page:: 15
|
||
hl-color:: green
|
||
id:: 64f05a62-4c36-4dcd-b23d-09a8077563a5
|
||
- RQ2: What is the impact of social diversity on the efficiency of the approach (i.e., the convergence time)?
|
||
ls-type:: annotation
|
||
hl-page:: 15
|
||
hl-color:: green
|
||
id:: 64f05a76-dc61-4427-b0e0-93ea56f9484e
|
||
- RQ3: What is the impact of social diversity on the type of errors which are corrected?
|
||
ls-type:: annotation
|
||
hl-page:: 15
|
||
hl-color:: green
|
||
id:: 64f05a7f-2555-4be5-bfdc-dc312cbfc5e3
|
||
- We tested each mutant with the AnAtlyser tool [8], which finds a wide range of syntactic errors(including type errors) in ATL transformations using static analysis.
|
||
ls-type:: annotation
|
||
hl-page:: 15
|
||
hl-color:: green
|
||
id:: 64f05ae0-e045-40b6-8a54-1624abd53601
|
||
- We reused the approach presented in [42] to merge several mutants with one error to obtain mutants with several errors.
|
||
ls-type:: annotation
|
||
hl-page:: 16
|
||
hl-color:: green
|
||
id:: 64f05b07-cfc8-4ee8-8d50-d3dc89dd4795
|
||
- the properties of input/output object,
|
||
ls-type:: annotation
|
||
hl-page:: 16
|
||
hl-color:: green
|
||
id:: 64f05b58-43d9-4368-aab8-df08fba7170c
|
||
- arguments
|
||
ls-type:: annotation
|
||
hl-page:: 16
|
||
hl-color:: yellow
|
||
id:: 64f05ba6-5bc4-487d-a894-de0c25999c3f
|
||
- We identified nine kinds of elements that could be modified by an atomic edit operation:
|
||
ls-type:: annotation
|
||
hl-page:: 16
|
||
hl-color:: yellow
|
||
id:: 64f05bce-71f8-4344-8106-a75fe6e81f97
|
||
- four sets with respectively two to five mutants and then merged them in each set to form four faulty transformation mutants with two to five semantic errors.
|
||
ls-type:: annotation
|
||
hl-page:: 16
|
||
hl-color:: green
|
||
id:: 64f05c76-57c4-4f49-a8e1-8b6632ba78fe
|
||
- n this experiment, we aim at testing social diversity with two configurations separately: as a crowding distance and as an objective
|
||
ls-type:: annotation
|
||
hl-page:: 16
|
||
hl-color:: red
|
||
id:: 64f05cf4-cc04-4566-8a82-c5f3b5876eba
|
||
- a) without social diversity, b) with social diversity as a crowding distance, and c) with social diversity as an objective.
|
||
ls-type:: annotation
|
||
hl-page:: 16
|
||
hl-color:: green
|
||
id:: 64f05e2a-f037-4a12-82e2-8f45a40a4421
|
||
- Note that in our earlier work [41], we only considered approach a), and applied it to two transformations.
|
||
ls-type:: annotation
|
||
hl-page:: 16
|
||
hl-color:: red
|
||
id:: 64f05e48-f850-442f-992a-6f200e1614d9
|
||
- f.
|
||
ls-type:: annotation
|
||
hl-page:: 16
|
||
hl-color:: red
|
||
id:: 64f05e6f-a8e7-4852-aa42-ad18ef49d8ad
|
||
- To answer RQ1, we compare the effectiveness of each configuration, i.e., the number of times a run can find an optimal patch.
|
||
ls-type:: annotation
|
||
hl-page:: 17
|
||
hl-color:: green
|
||
id:: 64f05edb-f531-404a-8138-d003ece29350
|
||
- o answer RQ2, we compare the efficiency of each configuration, i.e., the number of generations necessary for a run
|
||
ls-type:: annotation
|
||
hl-page:: 17
|
||
hl-color:: green
|
||
id:: 64f05eeb-11e9-4bda-94d3-c9f2efe07e80
|
||
- manually
|
||
ls-type:: annotation
|
||
hl-page:: 17
|
||
hl-color:: yellow
|
||
id:: 64f05ef8-d659-4183-8af8-620a00d37379
|
||
- RQ1: What is the impact of social diversity on the effectiveness of the approach (i.e., finding a patch correcting all the errors)?
|
||
ls-type:: annotation
|
||
hl-page:: 17
|
||
hl-color:: green
|
||
id:: 64f061ee-adc3-4487-9b6e-519eb81bc31c
|
||
- We can conclude that using social diversity both as crowding distance and as objective improves the correction of larger number of errors at the same time
|
||
ls-type:: annotation
|
||
hl-page:: 17
|
||
hl-color:: blue
|
||
id:: 64f06315-9c56-4a03-be89-2d3b747b32fb
|
||
hl-stamp:: 1693475988638
|
||
- RQ2: What is the impact of social diversity on the efficiency of the approach(i.e., the convergence time)?
|
||
ls-type:: annotation
|
||
hl-page:: 18
|
||
hl-color:: green
|
||
id:: 64f06324-edb2-4881-a9b0-0072faf5ead0
|
||
- Fig. 12 shows that social diversity improves its efficiency. Here again, social diversity as an objective give better results than as a crowding distance
|
||
ls-type:: annotation
|
||
hl-page:: 18
|
||
hl-color:: green
|
||
id:: 64f06470-20d6-40cd-808e-fb43a142ebe3
|
||
- Thus, we conclude that using a social diversity measure helps the approach find the optimal solutions faster
|
||
ls-type:: annotation
|
||
hl-page:: 18
|
||
hl-color:: blue
|
||
id:: 64f0647e-5333-4bb0-9121-3fcaeec6c4bf
|
||
hl-stamp:: 1693475983051
|
||
- RQ3: What is the impact of social diversity on the type of errors which are corrected?
|
||
ls-type:: annotation
|
||
hl-page:: 18
|
||
hl-color:: green
|
||
id:: 64f0648d-b445-4f3f-a4b2-99ce49efe735
|
||
- (semi-)
|
||
ls-type:: annotation
|
||
hl-page:: 20
|
||
hl-color:: yellow
|
||
id:: 64f064e9-9ee1-4abb-993a-99039d4a88f8
|
||
- Our results show that this leads to finding optimal solutions faster than our earlier work
|
||
ls-type:: annotation
|
||
hl-page:: 20
|
||
hl-color:: purple
|
||
id:: 64f06542-38f6-4f83-89e4-20387cd5c12f
|
||
- A limitation of our approach is that we are fixing ATL transformation rules, not the helpers
|
||
ls-type:: annotation
|
||
hl-page:: 20
|
||
hl-color:: purple
|
||
id:: 64f06559-cbb7-4176-ae76-0601daef2b53
|
||
- These transformations may not be fully representative with real-world transformations in terms of size and complexity.
|
||
ls-type:: annotation
|
||
hl-page:: 20
|
||
hl-color:: green
|
||
id:: 64f0658e-2aea-436d-9b44-80f507ced42a
|
||
- we believe that the set of four model transformations used in our experiments is sufficiently representative to demonstrate the benefits of our approach.
|
||
ls-type:: annotation
|
||
hl-page:: 20
|
||
hl-color:: green
|
||
id:: 64f06593-1517-4feb-8e1e-2c9da033f20a
|
||
- We dedicate an objective which gives a score based on the notion of social diversity that we defined on model difference
|
||
ls-type:: annotation
|
||
hl-page:: 22
|
||
hl-color:: blue
|
||
id:: 64f065cd-1991-4010-b37b-d9a80ab48fa3
|
||
- Our results showed that injecting our social diversity measure in the search process improves both the effectiveness and the efficiency, and enables to find patches for transformations containing up to five errors
|
||
ls-type:: annotation
|
||
hl-page:: 22
|
||
hl-color:: blue
|
||
id:: 64f065e1-99cf-4236-9908-aecd78094196 |